ServiceMix企业服务总线(ESB)
ESB是集中化的、逻辑上的,具有架构层次的组件,提供在分布式异构环境中高度可扩展性、容错、消息服务等服务框架的一种实现。本文将讨论开源项目ESB ServiceMix,及其与JBI Java业务集成规范的关系。
启动JBI容器
如下面代码2所示,简单的调用JBIContainer对象的start()方法即可触发JBI容器的启动过程。此过程会启动所有嵌入的组件和服务,比如服务注册区、消息代理、管理上下文、环境上下文、安装服务、部署服务等。多数组件和服务的启动过程仅仅设置一个标志位,以表明组件或服务处于运行状态,而且与组件关联的定时计划任务开始执行。
代码2.启动JBI容器
| jbiContainer.start(); |
创建支持组件
ServiceMix框架中作为消息生产者和提供者的对象常被称为支持组件。这些对象实现了javax.jbi.component.Component接口,使得JBI容器和其它关联对象能够以标准方式操作它们。在ServiceMix系统中,此类对象一般继承于org.servicemix.components.util包内的某些支持(Support)类,比如ComponentSupport或者PojoSupport。 通过继承,支持组件获得了作为JBI组件的缺省行为,比如JMX功能等。
支持组件一般通过javax.jbi.component.ComponentContext对象获得DeliveryChannel对象,以用于实际的消息交换(message exchange)对象的创建和处理。
请留意代码3中支持组件的类/接口层次。
代码3 支持组件类层次
|
//PojoSupport类封装了简单的基于POJO的组件,提供标准的被ServiceMix管//理的组件的功能 extends org.servicemix.jbi.management.BaseLifeCycle //ComponentSupport类扩展了PojoSupport类,提供标准JBI组件功能。 // SenderComponent类是消息生产者 |
- 本文关键词:

