JMSCourier incorrectly looks for topic
--------------------------------------
Key: JBESB-1554
URL:
http://jira.jboss.com/jira/browse/JBESB-1554
Project: JBoss ESB
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Rosetta
Affects Versions: 4.2.1 CP1
Reporter: Pavel Kadlec
I created jms-bus topic and I am not able to deploy esb archive.
I am getting this exception
13:49:02,459 ERROR [STDERR] org.jboss.soa.esb.couriers.CourierException: Unable to create
Message Consumer
13:49:02,462 ERROR [STDERR] at
org.jboss.internal.soa.esb.couriers.JmsCourier.pickupPayload(JmsCourier.java:532)
13:49:02,466 ERROR [STDERR] at
org.jboss.internal.soa.esb.couriers.JmsCourier.pickup(JmsCourier.java:513)
13:49:02,479 ERROR [STDERR] at
org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:223)
13:49:02,483 ERROR [STDERR] at
org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:205)
13:49:02,496 ERROR [STDERR] at
org.jboss.soa.esb.listeners.message.MessageAwareListener.waitForEventAndProcess(MessageAwareListener.java:304)
13:49:02,501 ERROR [STDERR] at
org.jboss.soa.esb.listeners.message.MessageAwareListener.doRun(MessageAwareListener.java:264)
13:49:02,506 ERROR [STDERR] at
org.jboss.soa.esb.listeners.lifecycle.AbstractThreadedManagedLifecycle.run(AbstractThreadedManagedLifecycle.java:
5)
13:49:02,515 ERROR [STDERR] at java.lang.Thread.run(Thread.java:595)
13:49:02,519 ERROR [STDERR] Caused by: org.jboss.soa.esb.couriers.CourierException:
javax.jms.JMSException: This destination does not exist !TOPIC.t
ic/aggregator
13:49:02,528 ERROR [STDERR] at
org.jboss.internal.soa.esb.couriers.JmsCourier.createMessageConsumer(JmsCourier.java:642)
13:49:02,533 ERROR [STDERR] at
org.jboss.internal.soa.esb.couriers.JmsCourier.pickupPayload(JmsCourier.java:524)
13:49:02,544 ERROR [STDERR] ... 7 more
13:49:02,548 ERROR [STDERR] Caused by: javax.jms.JMSException: This destination does not
exist !TOPIC.topic/aggregator
13:49:02,552 ERROR [STDERR] at
org.jboss.mq.server.JMSDestinationManager.createTopic(JMSDestinationManager.java:622)
13:49:02,557 ERROR [STDERR] at
org.jboss.mq.server.JMSServerInterceptorSupport.createTopic(JMSServerInterceptorSupport.java:116)
13:49:02,562 ERROR [STDERR] at
org.jboss.mq.server.TracingInterceptor.createTopic(TracingInterceptor.java:290)
13:49:02,567 ERROR [STDERR] at
org.jboss.mq.server.JMSServerInvoker.createTopic(JMSServerInvoker.java:122)
13:49:02,575 ERROR [STDERR] at
org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:145)
13:49:02,580 ERROR [STDERR] at
org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:395)
13:49:02,585 ERROR [STDERR] at
org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:398)
13:49:02,598 ERROR [STDERR] at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
13:49:02,603 ERROR [STDERR] ... 1 more
I looked at the code of JMSCourier. There is function createMessageConsumer() and inside
is
else if (JMSEpr.TOPIC_TYPE.equals(sType)) {
TopicSession tSess = (TopicSession) getJmsSession(_epr.getAcknowledgeMode());
Topic topic = tSess.createTopic(_epr.getDestinationName());
_messageConsumer = tSess.createConsumer(topic, _epr
.getMessageSelector());
}
I think that there should be something like
else if (JMSEpr.TOPIC_TYPE.equals(sType)) {
TopicSession tSess = (TopicSession) getJmsSession(_epr.getAcknowledgeMode());
Topic topic = null;
try {
topic = (Topic) oJndiCtx.lookup(_epr
.getDestinationName());
}
catch (NamingException ne) {
topic = tSess.createTopic(_epr.getDestinationName());
}
_messageConsumer = tSess.createConsumer(topic, _epr
.getMessageSelector());
}
Everything is OK with this change.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira