[ https://issues.apache.org/jira/browse/AXIS2-4188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12713944#action_12713944 ]
Ben Reif commented on AXIS2-4188: --------------------------------- Thanks for the information. Is this in a new version of Axis2? I'm using Axis2 1.4, and I don't see where the JMSSender looks for the MessageContext.TRANSPORT_HEADERS property to set values on the JMS Message? > JMSSender not extendable > ------------------------ > > Key: AXIS2-4188 > URL: https://issues.apache.org/jira/browse/AXIS2-4188 > Project: Axis 2.0 (Axis2) > Issue Type: Improvement > Components: transports > Affects Versions: 1.5, 1.4.1, 1.4 > Environment: All > Reporter: Ben Reif > Assignee: Asankha C. Perera > Original Estimate: 0.03h > Remaining Estimate: 0.03h > > We need to extend the org.apache.axis2.transport.jms.JMSSender class so that > we can add some custom properties to the JMS Message (most likely via the > MessageContext. However, the class is full of private methods which must be > copied into a sub-class, and it also uses other classes such as > JMSOutTransportInfo that only have package protected constructors. > This class is clearly meant to be extended because you can redefine the > implementation class in the axis2.xml. But rather then just extending it and > overridding a method, you have to jump through hoops and copy a bunch of code > to do so. > In my opinion this is one of the most frustrating things about using open > source code. Many Apache (and Sun projects as well) have a bad habit of > coding everything private, package protected, or sometimes even making things > final! Most open source projects these days are designed to be extended, but > coding things in this way defeats that purpose. > Sorry for the long rant and rave, overall I think Axis2 is really great, but > could you keep this in mind moving forward :) , and at least maybe make these > methods protected in the next release: > JMSSender - > private Message createJMSMessage(MessageContext msgContext, Session session) > throws JMSException { > } > private void setProperty(Message message, MessageContext msgCtx, String key){ > } > private String getProperty(MessageContext mc, String key) { > } > private static void handleException(String s) { > } > private static void handleException(String s, Exception e) { > } > -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.