Интересно, можно ли сделать что-то в этом роде:
1) Серверная часть (класс EJB)
@Statefull
public class SomeEJB implements SomeEJBRemote {
@Resource
private SessionContext sessionContext;
//(...)
public void someMethod(Record record){
//(...)
//Situation that requires the server to alert all registered listeners
if(specialSituation){
sessionContext.fireEventToListeners(new SomeEvent());
}
//Do something else...
}
}
2) Клиентская сторона
//(...)
SomeEJBRemote ejb = initialContext.lookup("SomeEJBRemote");
ejb.addListener(this);
void EJBEventListener(SomeEvent event){
System.out.println("EJB server has sent an event!");
}
A) Есть ли что-нибудь в спецификации Java EE, позволяющее это сделать?
Б) Я знаю, что JBoss допускает некоторую двустороннюю связь, но могу ли я сделать то же самое, что и в этом примере?
C) Есть ли что-нибудь подобное в OpenEJB (или TOMEE)?