Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
servicemix-jms-2008.01
-
None
-
Patch Available
Description
A recent fix changed JmsProviderEndpoint.java and calls the Spring JmsTemplate protected method doSend() directly via reflection.
Method method = JmsTemplate.class.getDeclaredMethod("doSend", Session.class, Destination.class, MessageCreator.class); method.setAccessible(true); method.invoke(template, session, dest, new MessageCreator() { public Message createMessage(Session session) throws JMSException { return message; } });
This new approach is based on java.lang.reflect and uses private methods of the JmsTemplate. Do the latest problem related to JmsProviderEndpoint really justify using private methods?
Please consider refactoring the code above.