You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2004/01/30 16:55:11 UTC

DO NOT REPLY [Bug 26549] New: - SimpleJMSListener not passing connectorProps to endpoint

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26549>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26549

SimpleJMSListener not passing connectorProps to endpoint

           Summary: SimpleJMSListener not passing connectorProps to endpoint
           Product: Axis
           Version: 1.2 Alpha
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Minor
          Priority: Other
         Component: Basic Architecture
        AssignedTo: axis-dev@ws.apache.org
        ReportedBy: jcstaff@apl.jhu.edu


I am havimg problems getting my selector registered for my SimpleJMSListener.
The problem appears to be in the fact that the start() method does not pass in
the HashMap connector properties, with the selector, to the
endpoint.registerListener() call. It uses the version of the call that accepts
no additional properties.

   public void start()
       throws Exception
   {
       endpoint.registerListener(this);
       connector.start();
   }

The version of endpoint.registerListener that accepts the HashMap passes these
to the Subscription.
   protected Subscription createSubscription(MessageListener listener,
                                             HashMap properties)
   {
       return new Subscription(listener, this, properties);
   }

The Subscription extracts the selector from the properties.
   Subscription(MessageListener listener,
                JMSEndpoint endpoint,
                HashMap properties)
   {
       m_listener = listener;
       m_endpoint = endpoint;
       m_messageSelector = MapUtils.removeStringProperty(
                                           properties,
                                           JMSConstants.MESSAGE_SELECTOR,
                                           null);
       ...

I would override the SimpleJMSListener.start() method with a version that used
the properties, but the endpoint and other variables are all declared private.

Do you agree that this should be changed? or should I just re-write the
SimpleJMSListener as my own class and push the pedals the way I want to?