【发布时间】:2015-11-01 12:54:13
【问题描述】:
我想知道是否存在一个框架(或任何方式)以异步方式在 java 代码中等待消息。我重复“异步方式”。
例如:
int a=5;
MyObject mio= new MyObject();
mio.setx(6);
String message='x|1|5ABC';
MOM.enqueue(message,'myResponseQueue'); // <-- Shoot and forget!!
String res=MOM.dequeue('myResponseQueue'); // instance of class sleep (not in memory) waiting for message.
if (a=mio.getx()){int b=6; } // code awake and continue
a=7;
message='x|2|6ABC';
MOM.enqueue(message,'myResponseQueue'); // <-- Shoot and forget again!!
String res=MOM.dequeue('myResponseQueue'); // instance of class sleep (not in memory) again waiting for message.
if (res!=null){ // <-- code awake again
if (a==5){int b=7;}
}
我知道使用消息驱动 Bean 我可以创建一个方法来等待消息,但是如果我有很多消息,我会在许多方法中破坏代码并且我会丢失局部变量的值,这会产生非常丑陋的代码。
【问题讨论】:
标签: java ejb jms message-queue message-driven-bean