[
https://issues.apache.org/jira/browse/AXIS2-4188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12713904#action_12713904
]
Andreas Veithen commented on AXIS2-4188:
----------------------------------------
Adding custom properties to outgoing JMS messages is exactly the purpose of the
TRANSPORT_HEADERS message context property. Set this property with a map and
all entries will be added as properties 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.