You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2016/04/28 16:06:12 UTC

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

     [ https://issues.apache.org/jira/browse/CAMEL-6256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen resolved CAMEL-6256.
--------------------------------
       Resolution: Fixed
         Assignee: Claus Ibsen
    Fix Version/s:     (was: Future)
                   2.18.0
                   2.17.1
                   2.16.4

The stale connection is not kept anymore, but only a working connection is set to be used.

> 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
>            Assignee: Claus Ibsen
>            Priority: Minor
>              Labels: connection, groupchat, xmpp
>             Fix For: 2.16.4, 2.17.1, 2.18.0
>
>
> 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 was sent by Atlassian JIRA
(v6.3.4#6332)