Break out the smack listeners implemented by XmppConsumer out to separate 
classes, and add a ConnectionListener.
----------------------------------------------------------------------------------------------------------------

                 Key: CAMEL-1698
                 URL: https://issues.apache.org/activemq/browse/CAMEL-1698
             Project: Apache Camel
          Issue Type: Improvement
          Components: camel-xmpp
    Affects Versions: 2.0-M1
            Reporter: Edward Campbell


According to the smack documentation if you register the same listener multiple 
times, only the most recent filter is used.
Since the XmppConsumer is being used for all listeners in this case only the 
last add<Message|Packet>Listener call is honored.
It would be wiser to have the listeners as separate classes, then the handling 
of each packet/message type can be addressed separately.
A ConnectionListener can be added as well to handle connections that go down 
and can be retried later.
Proposed listeners:
ConnectionListener (to listen to and respond to connection and disconnection 
events)
MessageListener (to listen to and process messages)
RosterListener (to listen to and process roster events)
PresenceListeners (should be one for most types of listener defined in 
org.jivesoftware.smack.packet)

Each listener type should be able to pass messages up through the camel 
exchange. All except the MessageListener should be disabled by default, but 
enabled via an option in the uri passed to camel. MessageListener should always 
pass the message up through the camel exchange.


-- 
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