Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-6256

Camel xmpp dynamic router is not sending incoming messages to openfire upon first failed groupchatroom join

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.10.3
    • Fix Version/s: 2.16.4, 2.17.1, 2.18.0
    • Component/s: camel-xmpp
    • Environment:

      camel xmpp routing with openfire xmpp server. Used groupchat configurations

    • Estimated Complexity:
      Moderate

      Description

      Reference : http://camel.465427.n5.nabble.com/Camel-xmpp-dynamic-router-is-not-connecting-to-openfire-td5730506.html#a5730537

       
      <camel:route id="eventSubscriber">
                              <camel:from uri="ref:eventReceiverUri" />
                               <camel:dynamicRouter>                  
                          <camel:method ref="eventRouterBean" method="processEvent"/>
                      </camel:dynamicRouter>
                      </camel:route> 
      

      In eventRouterBean's processEvent method, we are building xmpp groupchat room url depending upon the message and forwading the same message into respective groupchatrooms.
      If resulting groupchat room is not existing, it will log message
      WARN 2013-04-05 17:55:48,190 (UnitOfWorkProcessor.java processAsync:162) - Caught unhandled exception while processing ExchangeId: ID-INGBTCPIC8NB038-63130-1365164745141-0-3
      org.apache.camel.FailedToCreateProducerException: Failed to create Producer for endpoint: Endpoint[xmpp://<ip>:5222/?password=******&resource=zone_4fc100e4-d004-4a0b-a7e2-7cf910585af6_51&room=zone_4fc100e4-d004-4a0b-a7e2-7cf910585af6_51%40conference.test.com&serviceName=ispf.com&user=messagepublisher%40test.com]. Reason: not-allowed(405)
      at org.apache.camel.impl.ProducerCache.doGetProducer(ProducerCache.java:395)
      at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:278)
      at org.apache.camel.processor.RoutingSlip.processExchange(RoutingSlip.java:280)
      at org.apache.camel.processor.RoutingSlip.doRoutingSlip(RoutingSlip.java:205)
      at org.apache.camel.processor.RoutingSlip.process(RoutingSlip.java:135)
      at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
      at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
      at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
      at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)
      at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
      and ......
      Caused by: not-allowed(405)
      at org.jivesoftware.smackx.muc.MultiUserChat.join(MultiUserChat.java:501)
      at org.apache.camel.component.xmpp.XmppGroupChatProducer.doStart(XmppGroupChatProducer.java:84)
      at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60)
      at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62)
      at org.apache.camel.impl.ProducerCache.doGetProducer(ProducerCache.java:393)
      ... 40 more

      This is still fine.
      But issue is if I create a groupchat room in openfire, it should forward new incoming message to same groupchat room. But it is not forwarding.
      It is keep on logging error message as 'Not connected to the server' repeatedly for all messages.

      But if I restart the camel context, then it starts working.
      Looks like it is caching url and its connection as not allowed in dynamic router.
      What will be the solution?
      And even the exception is thowing at ProducerCache.doGetProducer()..
      So how to clear cache for failed connections?

        Attachments

          Activity

            People

            • Assignee:
              davsclaus Claus Ibsen
              Reporter:
              pshetty.kateel Prakash Shetty
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: