Իմ հավելվածում ես օգտագործում եմ STOMP-ը WebSocket-ի միջոցով միկրոսերվիսների միջև հաղորդակցության համար, ես փորձում եմ ներդնել սեսիայի անջատման իրադարձությունների լսիչը՝ միկրոծառայությունների միջև կապը վերականգնելու համար: Ըստ Spring-ի փաստաթղթերի՝ SessionDisconnectEvent
պետք է հրապարակվի, երբ ավարտվի STOMP նիստը: Ահա թե ինչպես ես փորձել եմ որսալ իրադարձությունը.
@Component
public class SessionDisconnectListener implements ApplicationListener<SessionDisconnectEvent> {
@EventListener
@Override
public void onApplicationEvent(SessionDisconnectEvent applicationEvent) {
System.out.println("SESSION " + applicationEvent.getSessionId() + " DISCONNECTED");
}
}
Ես իմ դիմումում տեսնում եմ, որ նստաշրջանի կարգավիճակը փոխվում է միացվածից անջատվածի, բայց, ցավոք, այս մեթոդը ավելի նոր է օգտագործվում: Ինչպե՞ս կարող եմ պատշաճ կերպով որսալ նիստի անջատման իրադարձությունը: