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