Hi Create a small sample of your project and attached it to a JIRA ticket. Then we can take a look at it.
On Wed, Feb 10, 2010 at 4:27 PM, ariekenb <[email protected]> wrote: > > I turned on DEBUG for org.apache.camel.component.jms. > > Here is what I see when I send to the temporary queue. > > My client is listening on the temporary queue named > ID:mwgk-36105-1265815399399-0:0:1 and you can see from my logging this is > the name I pass to ProducerTemplate.sendBody. > > However from the jms component logging, it actually sends to a different > temporary queue named temp-queue://ID:mwgk-33195-1265814473274-2:11:1. > > I can see from JConsole that the EnqueueCount on > ID:mwgk-33195-1265814473274-2:11:1 does get incremented. But my subscriber > is not getting any message because camel is sending to a new temporary > queue. > > > 09:23:19,661 | INFO | tenerContainer-1 | SDSSFlightPublisher | > face.service.SDSSFlightPublisher 154 | sending to endpointName = > 'activemq:temp:queue:ID:mwgk-36105-1265815399399-0:0:1' > 09:23:19,739 | WARN | tenerContainer-1 | faultManagementLifecycleStrategy | > faultManagementLifecycleStrategy 187 | Could not register Endpoint MBean > for uri: activemq://temp:queue:ID:mwgk-36105-1265815399399-0:0:1 > org.springframework.jmx.export.metadata.InvalidMetadataException: No > ManagedResource attribute found for class: class > org.apache.camel.component.jms.JmsTemporaryQueueEndpoint > at > org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler.populateMBeanDescriptor(MetadataMBeanInfoAssembler.java:279) > at > org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler.getMBeanInfo(AbstractMBeanInfoAssembler.java:69) > at > org.apache.camel.management.DefaultManagementAgent.register(DefaultManagementAgent.java:202) > at > org.apache.camel.management.DefaultManagementAgent.register(DefaultManagementAgent.java:193) > at > org.apache.camel.management.ManagedManagementStrategy.manageNamedObject(ManagedManagementStrategy.java:69) > at > org.apache.camel.management.ManagedManagementStrategy.manageObject(ManagedManagementStrategy.java:62) > at > org.apache.camel.management.DefaultManagementLifecycleStrategy.onEndpointAdd(DefaultManagementLifecycleStrategy.java:185) > at > org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:432) > at > org.apache.camel.impl.DefaultProducerTemplate.resolveMandatoryEndpoint(DefaultProducerTemplate.java:402) > at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:116) > at > com.lmco.irad.tfdm.sdssinterface.service.SDSSFlightPublisher.publishNotificationToOneSubscriber(SDSSFlightPublisher.java:155) > at > com.lmco.irad.tfdm.sdssinterface.service.SDSSFlightManager.reconstituteSubscriberID(SDSSFlightManager.java:128) > at > com.lmco.irad.tfdm.sdssinterface.service.SDSSSubscriptionHandler.processSubscriptionRequest(SDSSSubscriptionHandler.java:59) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:195) > at > org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:115) > at > org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:117) > at > org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:83) > at > org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:543) > at > org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:482) > at > org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:451) > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323) > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876) > at java.lang.Thread.run(Thread.java:619) > 09:23:19,747 | DEBUG | tenerContainer-1 | JmsProducer | > pache.camel.impl.DefaultProducer 66 | Starting producer: > Producer[activemq://temp:queue:ID:mwgk-36105-1265815399399-0:0:1] > 09:23:19,770 | DEBUG | tenerContainer-1 | msConfiguration$CamelJmsTemplate | > ngframework.jms.core.JmsTemplate 469 | Executing callback on JMS Session: > PooledSession { ActiveMQSession > {id=ID:mwgk-33195-1265814473274-2:11:1,started=false} } > 09:23:19,784 | DEBUG | tenerContainer-1 | msConfiguration$CamelJmsTemplate | > msConfiguration$CamelJmsTemplate 280 | Sending JMS message to: > temp-queue://ID:mwgk-33195-1265814473274-2:11:1 with message: > ActiveMQObjectMessage {commandId = 0, responseRequired = false, messageId = > null, originalDestination = null, originalTransactionId = null, producerId = > null, destination = null, transactionId = null, expiration = 0, timestamp = > 0, arrival = 0, brokerInTime = 0, brokerOutTime = 0, correlationId = null, > replyTo = null, persistent = false, type = null, priority = 0, groupID = > null, groupSequence = 0, targetConsumerId = null, compressed = false, userID > = null, content = org.apache.activemq.util.byteseque...@1ce2a846, > marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, > size = 0, properties = null, readOnlyProperties = false, readOnlyBody = > false, droppable = false} > > > > > > Claus Ibsen-2 wrote: >> >> Camel logs before it send the JMS message >> >> if (logger.isDebugEnabled()) { >> logger.debug("Sending JMS message to: " + >> producer.getDestination() + " with message: " + message); >> } >> >> So if you enable DEBUG logging for org.apache.camel.component.jms you >> should see that log line >> >> >> >> On Wed, Feb 10, 2010 at 3:36 PM, ariekenb <[email protected]> >> wrote: >>> >>> Claus - >>> >>> The exception is logged as WARN. No exception is thrown out of the >>> ProducerTemplate.sendBody call however. >>> >>> More importantly, no message is ever actually sent to the TemporaryQueue. >>> The client listening to the TemporaryQueue does not receive any message, >>> and >>> JConsole shows the EnqueueCount for the TemporaryQueue remains at 0. >>> >>> Here is a more complete stack trace showing the error message and log >>> level: >>> >>> 08:30:43,389 | WARN | tenerContainer-1 | >>> faultManagementLifecycleStrategy | >>> faultManagementLifecycleStrategy 187 | Could not register Endpoint MBean >>> for uri: activemq://temp:queue:ID:mwgk-45812-1265812243018-0:0:1 >>> org.springframework.jmx.export.metadata.InvalidMetadataException: No >>> ManagedResource attribute found for class: class >>> org.apache.camel.component.jms.JmsTemporaryQueueEndpoint >>> at >>> org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler.populateMBeanDescriptor(MetadataMBeanInfoAssembler.java:279) >>> at >>> org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler.getMBeanInfo(AbstractMBeanInfoAssembler.java:69) >>> at >>> org.apache.camel.management.DefaultManagementAgent.register(DefaultManagementAgent.java:202) >>> at >>> org.apache.camel.management.DefaultManagementAgent.register(DefaultManagementAgent.java:193) >>> at >>> org.apache.camel.management.ManagedManagementStrategy.manageNamedObject(ManagedManagementStrategy.java:69) >>> at >>> org.apache.camel.management.ManagedManagementStrategy.manageObject(ManagedManagementStrategy.java:62) >>> at >>> org.apache.camel.management.DefaultManagementLifecycleStrategy.onEndpointAdd(DefaultManagementLifecycleStrategy.java:185) >>> at >>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:432) >>> at >>> org.apache.camel.impl.DefaultProducerTemplate.resolveMandatoryEndpoint(DefaultProducerTemplate.java:402) >>> at >>> org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:116) >>> >>> >>> >>> >>> Claus Ibsen-2 wrote: >>>> >>>> Hi >>>> >>>> On Tue, Feb 9, 2010 at 7:46 PM, ariekenb <[email protected]> >>>> wrote: >>>>> >>>>> I'm running apache-servicemix 4.1.0-psc-01-00RC1, using the included >>>>> version >>>>> of ActiveMQ and Camel. I have some code that's receiving a message >>>>> from >>>>> an >>>>> ActiveMQ queue, then sending a message to the temporary queue it got >>>>> from >>>>> JMSReplyTo. >>>>> >>>>> �...@endpointinject >>>>> private ProducerTemplate producerTemplate = null; >>>>> >>>>> >>>>> �...@consume(uri = "subscriptionRequestEndpoint") >>>>> public synchronized void processSubscriptionRequest( >>>>> �...@header("JMSReplyTo") Destination jmsReplyTo, >>>>> �...@body SubscriptionManagerRegister >>>>> registrationMessage) { >>>>> try { >>>>> log.info("got registration request client name = >>>>> " >>>>> + >>>>> registrationMessage.getClientName() + " jmsReplyTo = " >>>>> + jmsReplyTo); >>>>> tempQueueList.add((TemporaryQueue) jmsReplyTo); >>>>> publishMessageToSubscriber((TemporaryQueue) >>>>> jmsReplyTo, "hello"); >>>>> } catch (Exception e) { >>>>> log.warn("processSubscriptionRequest", e); >>>>> } >>>>> } >>>>> >>>>> public synchronized void publishMessageToSubscriber( >>>>> TemporaryQueue temporaryQueue, Serializable >>>>> message) { >>>>> try { >>>>> final String endpointName = >>>>> "activemq:temp:queue:" >>>>> + temporaryQueue.getQueueName(); >>>>> producerTemplate.sendBody(endpointName, >>>>> message); >>>>> } catch (Exception e) { >>>>> log.warn("publishMessageToSubscriber", e); >>>>> } >>>>> } >>>>> >>>>> When the producerTemplate.sendBody call runs, I get the following >>>>> exception. >>>>> Is this a camel bug or am I doing something wrong? >>>>> >>>>> org.springframework.jmx.export.metadata.InvalidMetadataException: No >>>>> ManagedResource attribute found for class: class >>>>> org.apache.camel.component.jms.JmsTemporaryQueueEndpoint >>>>> at >>>>> org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler.populateMBeanDescriptor(MetadataMBeanInfoAssembler.java:279) >>>>> at >>>>> org.springframework.jmx.export.assembler.AbstractMBeanInfoAssembler.getMBeanInfo(AbstractMBeanInfoAssembler.java:69) >>>>> at >>>>> org.apache.camel.management.DefaultManagementAgent.register(DefaultManagementAgent.java:202) >>>>> at >>>>> org.apache.camel.management.DefaultManagementAgent.register(DefaultManagementAgent.java:193) >>>>> at >>>>> org.apache.camel.management.ManagedManagementStrategy.manageNamedObject(ManagedManagementStrategy.java:69) >>>>> at >>>>> org.apache.camel.management.ManagedManagementStrategy.manageObject(ManagedManagementStrategy.java:62) >>>>> at >>>>> org.apache.camel.management.DefaultManagementLifecycleStrategy.onEndpointAdd(DefaultManagementLifecycleStrategy.java:185) >>>>> at >>>>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:432) >>>>> at >>>>> org.apache.camel.impl.DefaultProducerTemplate.resolveMandatoryEndpoint(DefaultProducerTemplate.java:402) >>>>> at >>>>> org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:116) >>>>> >>>>> >>>> >>>> At what level do this stacktrace get logged? ERROR, DEBUG, INFO etc? >>>> >>>>> -- >>>>> View this message in context: >>>>> http://old.nabble.com/Attemp-to-send-message-to-activemq-temporary-queue-using-producerTemplate%3A-InvalidMetadataException-tp27520096p27520096.html >>>>> Sent from the Camel - Users mailing list archive at Nabble.com. >>>>> >>>>> >>>> >>>> >>>> >>>> -- >>>> Claus Ibsen >>>> Apache Camel Committer >>>> >>>> Author of Camel in Action: http://www.manning.com/ibsen/ >>>> Open Source Integration: http://fusesource.com >>>> Blog: http://davsclaus.blogspot.com/ >>>> Twitter: http://twitter.com/davsclaus >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://old.nabble.com/Attemp-to-send-message-to-activemq-temporary-queue-using-producerTemplate%3A-InvalidMetadataException-tp27520096p27532128.html >>> Sent from the Camel - Users mailing list archive at Nabble.com. >>> >>> >> >> >> >> -- >> Claus Ibsen >> Apache Camel Committer >> >> Author of Camel in Action: http://www.manning.com/ibsen/ >> Open Source Integration: http://fusesource.com >> Blog: http://davsclaus.blogspot.com/ >> Twitter: http://twitter.com/davsclaus >> >> > > -- > View this message in context: > http://old.nabble.com/Attemp-to-send-message-to-activemq-temporary-queue-using-producerTemplate%3A-InvalidMetadataException-tp27520096p27532910.html > Sent from the Camel - Users mailing list archive at Nabble.com. > > -- Claus Ibsen Apache Camel Committer Author of Camel in Action: http://www.manning.com/ibsen/ Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus
