我有一个要求:
队列中的消息(例如A)需要由两个不同的应用程序使用。我正在尝试实现一个MDB来侦听该队列,并将该消息发布到可以从中使用应用程序的另一个主题。
可能吗?
我重新发明轮子后,它是否可以作为jboss..am中的某些配置使用?
在此方面的任何帮助。
码:
@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "destinationLookup", propertyValue = "queue/test.queue"),
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue") })
public class MyListener implements MessageListener {
private JmsTemplate jmsTemplate;
public MyListener(JmsTemplate jmsTemplate) {
this.jmsTemplate = jmsTemplate;
}
public void onMessage(Message message) {
System.out.println("Message received");
// TextMessage textMessage = (TextMessage) message;
publishMessage(message);
System.out.println("Message re-published");
}
提前致谢。
最佳答案
如果两个不同的应用程序需要使用同一条消息,则两个应用程序都应订阅同一主题,并且该消息应发送到该主题。这样,两个应用程序都将收到消息,您将不需要浪费时间自己重新发送消息。