我正在使用Spring Session Aware Message Listener来监听多个JMS队列。有没有办法获取传入消息来源的JNDI名称?我试图使用getJMSDestination,但这只给我显示名称。
谢谢。
答案 0 :(得分:0)
我认为你不能。源可能甚至没有JNDI名称 - 例如,消息是从消息传递提供程序控制台发送的,还是来自spring(而不是来自应用程序服务器)。
我认为邮件中没有任何关于发件人的信息,除非它以属性的形式手动包含它。
更新:目的地也是如此 - 它们由消息传递提供程序名称唯一标识,它们也可能缺少JNDI名称。例如,我现在使用带弹簧的ActiveMQ,并且没有任何JNDI名称。 JNDI名称是客户端引用其容器内某个主题/队列的名称,而不是存储在JMS消息中的信息。