我有一个要求:

队列中的消息(例如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");
}


提前致谢。

最佳答案

如果两个不同的应用程序需要使用同一条消息,则两个应用程序都应订阅同一主题,并且该消息应发送到该主题。这样,两个应用程序都将收到消息,您将不需要浪费时间自己重新发送消息。

10-01 06:03