Я хочу знать, существует ли фреймворк (или любой способ), чтобы ждать сообщения внутри java-кода по асинхронному пути. Я повторяю «асинхронный способ».Ждать асинхронного сообщения на 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;}
}
Я знаю, что с Message-Drive Bean я могу создать метод для ожидания сообщения, но если у меня есть много сообщений, я сломаю код во многих методах и я буду потеряли значения локальных переменных, это делает очень уродливый код.