我的问题是,使用ActiveMQ我们可以为jndi创建一个名称相同的主题和队列吗?
我都使用相同的名称定义,当我尝试创建一个带有查找的队列时,我收到了这个异常。
java.lang.ClassCastException: org.apache.activemq.command.ActiveMQTopic cannot be cast to javax.jms.Queue
答案 0 :(得分:1)
虽然您实际上可以拥有一个具有相同名称的主题和队列,但您无法在主题和队列之间共享JNDI名称。 JNDI名称使您可以查找单个对象(队列或主题)。
所以 - 确保你有一个具有唯一名称的JNDI条目。
queue.MyQueue = samePhysicalName
topic.MyTopic = samePhysicalName
虽然我认为分享名字是不好的做法,因为它更难以记录,麻烦拍摄等等。