JMS怎么确保点对点通信
当web开发用多个人同时进行聊天的时候,jms怎么实现(例如:a与b聊天)在他们之间传递保证了他们能够只访问和收到彼此的通信信息。都是访问队列,那么多人点对点通信就得建立多个队列?(感觉好麻烦)。个人不是很懂jms。请指教。最好能够说具体。谢谢。 jms web开发 聊天
[解决办法]
发消息时 报文里 可以包含接受方的id, 服务器根据接受方的id把消息发给特定的接受者就行了。
[解决办法]
你可以不用为每一对用户都去创建一个通道,那用户量一多一个用户再和多个用户聊天那数量不好控制了.
用广播的方式来处理.
每一个用户都有一个唯一的ID,然后在创建MessageConsumer时指定过滤器.
比如
String userId = "0123456789";
String filterStr = "(USER_ID=" + userId +")";
MessageConsumer consumer = Session.createConsumer(destination,filterStr,true);
String targetUserId = "0123456789";
ObjectMessage sendMessage = .....;//将要发送的消息,只是举例.
sendMessage.setStringProperty("USER_ID",targetUserId);