具有相同名称的主题和队列,classcastexception

时间:2015-11-02 12:58:00

标签: apache jms activemq

我的问题是,使用ActiveMQ我们可以为jndi创建一个名称相同的主题和队列吗?

我都使用相同的名称定义,当我尝试创建一个带有查找的队列时,我收到了这个异常。

  java.lang.ClassCastException: org.apache.activemq.command.ActiveMQTopic cannot be cast to javax.jms.Queue

1 个答案:

答案 0 :(得分:1)

虽然您实际上可以拥有一个具有相同名称的主题和队列,但您无法在主题和队列之间共享JNDI名称。 JNDI名称使您可以查找单个对象(队列或主题)。

所以 - 确保你有一个具有唯一名称的JNDI条目。

queue.MyQueue = samePhysicalName
topic.MyTopic = samePhysicalName

虽然我认为分享名字是不好的做法,因为它更难以记录,麻烦拍摄等等。