NaradaBrokering:JMS与P2P交互的集成解决方案
1. 引言
在当今的分布式系统中,消息传递和服务交互至关重要。NaradaBrokering作为一种强大的中间件,能够有效地处理这些任务。它不仅支持与Java消息服务(JMS)客户端的交互,还能与对等网络(P2P)系统进行集成,为分布式应用提供了更强大的功能和更高的性能。
2. 支持JMS交互
2.1 连接与会话管理
NaradaBrokering为客户端提供连接,用于通信、交互以及相关的保障。客户端可以通过这些连接指定兴趣、接受事件、检索丢失的事件和发布事件。JMS也有类似的连接概念。为了实现JMS兼容性,我们创建了一个桥接器,它不仅能执行NaradaBrokering连接所需的所有操作,还支持JMS客户端的操作。
每个连接都会对应一个桥接器实例,这使得每个连接都能独立处理。JMS还提供了会话的概念,会话注册到特定的连接上。一个连接可以有多个会话,但一个会话只能注册到一个连接。发布者和订阅者注册到各个会话,桥接器实例会维护注册会话的列表,会话又会维护订阅者的列表。当接收到事件时,桥接器会将事件转发到相应的会话,会话再将事件传递给匹配订阅的订阅者的监听器。
2.2 消息类型与操作支持
我们需要支持根据JMS规范创建不同的消息类型,并对这些消息进行各种操作,同时提供序列化和反序列化例程以方便传输和重建。在NaradaBrokering中,事件以字节流的形式路由,只要我们提供与这些类型相关的编组和解组操作,就可以支持这些消息类型。我们还利用了OpenJMS中实现的JMS选择器机制,将JMS订阅请求映射到相应的NaradaBrok
超级会员免费看
订阅专栏 解锁全文
68

被折叠的 条评论
为什么被折叠?



