1

我有一个要求:

队列中的消息,比如 A,需要由两个不同的应用程序使用。我正在尝试实现一个 MDB 来监听该队列并将该消息发布到应用程序可以使用的另一个主题。

  1. 可能吗?
  2. 它是否可以作为 jboss 中的一些配置随时使用..我是在重新发明轮子吗?
  3. 对此有任何帮助以实现..

代码:

@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");
}

提前致谢。

4

1 回答 1

0

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

于 2019-08-28T16:25:30.650 回答