[ https://issues.apache.org/activemq/browse/CAMEL-2854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60338#action_60338 ]
Claus Ibsen edited comment on CAMEL-2854 at 6/29/10 12:41 PM: -------------------------------------------------------------- The issue was how Camel kept the list of active direct consumers on the endpoint, and not on the component. Then if that endpoint was evicted from the LRUCache (due not used in long time) that link to the consumer would be lost. And then you hit that {{No consumers ...}} warning. By keeping it around all the time on the component we can always lookup the active consumers. And the warning have been changed into thrown an exception so your app logic can catch it, eg rollback etc. was (Author: davsclaus): The issue was how Camel kept the list of active direct consumers on the endpoint, and not on the component. Then if that endpoint was evicted from the LRUCache (due not used in long time) that link to the consumer would be lost. By keeping it around all the time on the component we can always lookup the active consumers. > No consumers available on "direct://xyz" endpoint > ------------------------------------------------- > > Key: CAMEL-2854 > URL: https://issues.apache.org/activemq/browse/CAMEL-2854 > Project: Apache Camel > Issue Type: Bug > Components: camel-core > Affects Versions: 2.2.0 > Environment: ActiveMQ 5.3.2 / Camel 2.2.0 > Reporter: Michael Chen > Assignee: Claus Ibsen > Priority: Blocker > Fix For: 2.4.0 > > > The following warning in log4j log shows up with no predictable reason: > 2010-06-24 14:07:01,090 WARN > [DefaultMessageListenerContainer-7:DirectProducer.java:42] No consumers > available on endpoint: Endpoint[direct://UserCancelJobRequest] to process: > Exchange[JmsMessage: > RunnerBase{locationToRunId='DV02YcABTE43HTRPATEGCBFk0m0', jobrun_id=1234, > requestOrigId='null', secretKey='null', replyToQueueOrTopic='null', > corrolationId='null', requestCreationTime=Thu Jun 24 14:07:01 PDT 2010}] > The endpoint [direct://UserCancelJobRequest] could be a number of different > endpoints in our application and all of them are of "direct:" type. When > this happens, all messages that run through that endpoint will fail, and it > will never recover unless the application is restarted. > Also, if I restart the application and use that route immediately, that > warning will not occur and the request will finish successfully. It seems to > happen to routes that have not been used for a while after startup. > When this happens, I can find the exact Camel endpoint/route/processor in > JConsole, and nothing seems to be wrong. How can a "direct:" endpoint runs > out of consumer? Isn't the thread that product this warning THE thread to > process the message? > We recently upgraded from 5.2 to 5.3.2 and this starts to show up randomly. > It is a show stopper! > --Michael -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.