在订阅期间,有没有办法将除activemq消息之外的一些变量传递给onMessage方法?假设我有一个启动和停止此客户端的gui,如果我单击gui中的按钮,我想在消息监听器中更改某些内容。我能做些什么来实现这个目标吗?
public void onMessage(Message message) {
// TODO Auto-generated method stub
try {
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
// how to swith between setting 1 and setting 2??
//setting 1
//save message to file
//setting 2
System.out.println("Received message" + textMessage.getText()
+ "'");
}
} catch (JMSException e) {
System.out.println("Caught:" + e);
e.printStackTrace();
}
}
致以最诚挚的问候,
答案 0 :(得分:0)
确切的故事是,我有一个gui,我想改变一些设置 单击按钮时在消息监听器中。
您需要通过一些singleton / db / etc将该设置传递给消息处理程序。
如果消息侦听器需要写入控制台,则将消息重新发送到同一队列/主题,并将延迟属性设置为此处https://activemq.apache.org/delay-and-schedule-message-delivery.html