我有一个处理sessionDestroyed
,sessionCreated
,ClientCreated
,ClientDestroyed
,MessageClientDestroyed
,MessageClientCreated
事件的引导程序。
我的目标是向所有客户或所有订阅目的地发送断开连接消息。
所以我需要在服务中使用推送机制。我试图获取messageService和MessageBroker
,但我得到了例外。
我试过messageBroker.routeMessageToService(msg,null)
;
和messageService.pushMessageToClients(msg,true)
;两者都不成功,因为我无法获得messageService和messageBroker。
如何在服务clientDestroyed事件中获得MessageBroker
或MessageService
。
答案 0 :(得分:1)
String clientId = UUIDUtils.createUUID();
MessageBroker msgBroker = MessageBroker.getMessageBroker(null);
JOptionPane.showMessageDialog(null, msgBroker);
AsyncMessage msg = new AsyncMessage();
msg.setDestination(dest.destinationList.get(i));
msg.setClientId(clientId);
msg.setMessageId(UUIDUtils.createUUID());
msg.setHeader("disconnected",0);
msg.setBody(client.getId());
msgBroker.routeMessageToService(msg, null);
这是我的工作代码希望对某人有帮助。