我正在使用最新的Spring 4和ActiveMQ将JMS消息放入队列中。使用JMSTemplate,我有一个默认队列,并且我有示例代码可以让我在默认队列中输入一条消息,而不会出现任何问题。还有一个示例代码,可以让我在Destination上输入消息......这是我挂断的地方。Spring和JMS DynamicDestinationResolution
原始的方法:
public void send(final Destination dest,final String text) {
this.jmsTemplate.send(dest,new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
Message message = session.createTextMessage(text);
return message;
}
});
}
如果我有一个目标,我可以通过在它应该工作,但我还没有尝试过呢。我真正想要做的是传递一个字符串作为名称或主题。
这里是我想什么:
public void send(final String destination,final String text) {
Destination dest = getDestinationFromString(destination);
if(dest != null) {
this.jmsTemplate.send(dest,new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
Message message = session.createTextMessage(text);
return message;
}
});
}
}
如果队列或主题存在,返回目的地,否则返回null。
我们不想临时排队或讨论话题,我们也没有创建新的队列或话题。我们在这个Spring应用程序中也没有使用JNDI。我们使用ActiveMQ网络管理工具来创建我们的主题或队列。
所以,我正在寻找像我描述的方法的例子。在我来这里之前,我已经搜遍了网络,在我发布这个问题之前,我先看了这里。如果有人可以向我推荐一些文档或者有代码片段的网站,那就太棒了。
感谢您的帮助!