Refactor JmsProviderEndpoint to not use reflection to call protected method on
Spring JmsTemplate class
-------------------------------------------------------------------------------------------------------
Key: SM-1786
URL: https://issues.apache.org/activemq/browse/SM-1786
Project: ServiceMix
Issue Type: Improvement
Components: servicemix-jms
Affects Versions: servicemix-jms-2008.01
Reporter: Torsten Mielke
Priority: Minor
A recent fix changed JmsProviderEndpoint.java and calls the Spring JmsTemplate
protected method doSend() directly via reflection.
{code:java}
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;
}
});
{code}
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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.