You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Prakash Shetty (JIRA)" <ji...@apache.org> on 2013/04/09 16:58:15 UTC

[jira] [Created] (CAMEL-6256) Camel xmpp dynamic router is not sending incoming messages to openfire upon first failed groupchatroom join

Prakash Shetty created CAMEL-6256:
-------------------------------------

             Summary: Camel xmpp dynamic router is not sending incoming messages to openfire upon first failed groupchatroom join
                 Key: CAMEL-6256
                 URL: https://issues.apache.org/jira/browse/CAMEL-6256
             Project: Camel
          Issue Type: Bug
          Components: camel-xmpp
    Affects Versions: 2.10.3
         Environment: camel xmpp routing with openfire xmpp server.  Used groupchat configurations
            Reporter: Prakash Shetty
            Priority: Critical


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

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

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?



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira