NaradaBrokering:JMS与P2P交互的高效解决方案
1. 支持JMS交互
1.1 连接与会话支持
NaradaBrokering为客户端提供连接,用于通信、交互以及相关操作。客户端可通过此连接指定兴趣、接收事件、检索丢失事件和发布事件。JMS也有类似的连接概念,为实现JMS兼容性,创建了一个桥接器,它能执行NaradaBrokering连接所需的所有操作,同时支持JMS客户端的操作。
JMS还引入了会话的概念,会话注册到特定连接。一个连接上可以有多个会话,但一个会话只能注册到一个连接。发布者和订阅者注册到各个会话。桥接器实例为连接提供会话支持,每个连接的桥接器维护已注册会话列表,会话又维护订阅者列表。当连接接收到事件时,对应的桥接器实例负责将事件转发到适当的会话,会话再将事件传递给与匹配订阅的订阅者相关联的监听器。
在NaradaBrokering中,每个连接都有唯一ID,保证与单个连接相关联。此ID包含在桥接器实例中,用于处理长时间断开连接或因故障漫游后的事件恢复和检索。
1.2 消息类型与操作支持
需要根据JMS规范支持不同消息类型的创建以及对这些消息的各种操作,同时提供序列化和反序列化例程以方便传输和重建。在NaradaBrokering中,事件以字节流形式路由,只要提供与这些类型相关的编组 - 解组操作,就可以支持这些消息类型。还利用了OpenJMS中实现的JMS选择器机制,将JMS订阅请求映射到相应的NaradaBrokering配置文件传播请求并在系统中传播。桥接器将持久/瞬态订阅映射到相应的NaradaBrokering订阅类型,发布的JMS消息作为NaradaBrokering事件通
超级会员免费看
订阅专栏 解锁全文
19

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



