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)
--
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.