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.

Reply via email to