ServiceMix企业服务总线(ESB)
ESB是集中化的、逻辑上的,具有架构层次的组件,提供在分布式异构环境中高度可扩展性、容错、消息服务等服务框架的一种实现。本文将讨论开源项目ESB ServiceMix,及其与JBI Java业务集成规范的关系。
激活支持组件
在使用ServiceMix ESB系统中的组件前,这些组件必须得到“激活”。相应步骤如下:
---创建DeliveryChannel类的实例, 此对象参与随后的消息交换
DeliveryChannel负责:
- o 获取路由到此组件的消息
- o 发送异步消息
- o 发送同步消息
---注册org.servicemix.jbi.framework.ComponentRegistry类的组件,注册后获得一个org.servicemix.jbi.framework.ComponentConnector类的实例,Servicemix 系统在内部使用此ComponentConnector对象来交换消息。
---在组件注册区内注册上面步骤获得的ComponentConnector对象,将此对象与org.servicemix.jbi.container.EnvironmentContext关联。此对象维护组件运行的JBI执行环境,包括安装路径、部署路径、服务单元目录等信息。
---调用组件的生命周期init()方法,然后执行其start()方法。
---封装对象的ComponentConnector实例为一个JMX 管理Bean,并在JBI容器的JMX管理Bean服务器(MBeanServer)中注册此Bean。
激活组件需要与org.servicemix.jbi.container.JBIContainer 类交互,调用其activateComponent()方法。 此方法使用org.servicemix.jbi.container.ActivationSpec类的实例,以此构建有效的JBI组件。ActivationSpec对象是最终可以被激活的三种Java类型中的一种的实例。 对应类型如下:
1.javax.jbi.component.Component
2.javax.jbi.component.ComponentLifeCycle
3.org.servicemix.MessageExchangeListener:此对象实例被封装在org.servicemix.components.util.PojoLifecycleAdaptor或org.servicemix.components.util.PojoLifecycleAdaptor 或org.servicemix.components.util.ComponentAdaptor 类型实例中。比如org.servicemix.components.util.ComponentAdaptorMEListener。
代码4 说明了如何激活消息发送和接收组件。
代码4 激活发送和接收组件
|
//激活发送组件 //激活接收组件 |
使用支持组件发送以及接收消息
在ServiceMix中发送消息,需要通过发送者支持组件传输此消息,需要消息接收支持组件监听并接收此信息。
- 本文关键词:

