我想测试我的 jms 监听器在发送 5 条消息时是否正常工作(例如)我添加了一个计时器“Threat.sleep(5000)”,5 秒后我想将旧的 messageID 与新的 messageID 进行比较,这意味着我想要知道消息是否被收听,如果 ID 发生变化,这意味着它们被成功收听
这是我的 OnMessage 代码......但它对我不起作用:((
public class Consumer implements MessageListener{
public Consumer() {
}
//@Override
public void onMessage(Message message) {
try {
TextMessage tm = (TextMessage) message;
int i;
TextMessage tm2 =tm;
for(i=0;i<1;i++)
{
try {
Thread.sleep(5000);
if (!tm.getJMSMessageID().equals(tm2.getJMSMessageID()))
{
System.out.println("\t----Listener not working----");
}
else {
System.out.println("Message reçu:");
System.out.println("\tTemps: " + System.currentTimeMillis() + " ms");
System.out.println("\tMessage ID: " + tm.getJMSMessageID());
System.out.println("\tCorrel. ID: " + tm.getJMSCorrelationID());
System.out.println("\tConsumed message: " + tm.getText());
System.out.println("\t----Listener working----");
}
//fin else
}
catch (InterruptedException ex) {
Logger.getLogger(Consumer.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
catch (JMSException jex) {
System.out.println("Exception: " + jex);
}
}
}