7.8.3 配置SU、SA、jbi.xml、servicemix.xml
本小节的实例不同于以前的实例,以前的实例只有一个简单的servicemix.xml的配置,相对来说比较简单。对于比较复杂的应用,往往需要将一个服务模块分成一些运行单元,有的单元运行在JMS环境中,有的单元运行在lwcontainer环境中等,这些小的运行单元称为SU(Service Unit)“服务单元”。这些小的运行单元并不是分别发布运行的,而是集中在SA(Service Assembly)“服务集成模块”下面一起运行,最后发布的是SA。如图7-9所示。
|
| 图7-9 ServiceMix的SA运行模块 |
House-loan |
本例将会创建3个配置文件。
SA目录下面的jbi.xml;
SU目录下面的配置文件servimix.xml;
根目录下面的servicemix.xml。
1.SA目录下面的jbi.xml
SA目录下面的配置文件jbi.xml负责配置运行在ServiceMix运行环境中的SA(Service Assembly)“服务集成模块”。
一个运行模块只能有一个SA,可以有多个SU。每个SU将会打包成一个单独的SU包,然后将多个SU的zip包打成一个SA包来运行。
本小节的jbi.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?> |
jbi.xml表示将会通过servicemix-lwcontainer容器来运行loanbroker-su.zip。
本小节有两个servicemix.xml,通过SU目录下面的配置文件servimix.xml配置服务单元。此外通过项目根目录下面的servicemix.xm来运行服务。
2.SU目录下面的配置文件servimix.xml
SU目录下面的配置文件servimix.xml配置服务单元。
本小节将会建立1个JMS绑定组件,7个服务引擎组件。
JMS绑定组件:负责接收外部的服务请求,并将服务请求通过NMR送给HouseLoanBroker服务引擎;
HouseLoanBroker服务引擎:主要的业务流程控制模块,它接收外部服务请求者的请求消息后,首先调用HouseLoanAgeny服务,通过客户的姓名得到客户的房屋数量;再调用HouseLoanGateway服务;
HouseLoanAgeny服务引擎:从HouseLoanBroker得到服务请求,根据顾客的姓名,得到不同的房屋数量;
HouseLoanGateway服务引擎:根据客户房屋数量的不同分别调用Bank0、Bank1、Bank2、Bank3的服务;
Bank0服务引擎:提供房屋数量为0的客户的房屋贷款,提供相应的首付比率和贷款利率;
Bank1服务引擎:提供房屋数量为1的客户的房屋贷款,提供相应的首付比率和贷款利率; Bank2服务引擎:提供房屋数量为2的客户的房屋贷款,提供相应的首付比率和贷款利率;
Bank3服务引擎:提供房屋数量大于2的客户的房屋贷款,提供相应的首付比率和贷款利率。
下面是servicemix.xml开始部分,定义命名空间:
<?xml version="1.0" encoding="UTF-8"?> |
建立JMS绑定组件,接收外部的服务请求。
componentName:组件名称,为“loanBrokerJmsBinding”;
destinationService:目标服务,JMS绑定组件在收到服务请求消息后,会将消息通过NMR转给目标服务,目标服务的写法为“命名空间:服务名称”,此处为“lb:loan-broker”;
JMS的实现类:“org.apache.servicemix.components.jms.JmsServiceComponent”;
实现类的属性名称:“template”,它所对应的Bean的类名为“org.springframework. jms.core.JmsTemplate”,其属性“connectionFactory”(连接工厂),引用了下面配置的“jmsFactory”;其属性“defaultDestinationName”(默认目标名称),对应于“demo.org.servicemix.source”;其属性“pubSubDomain”的值为“false”,表示没有订阅的工作区域。
<!-- In/out binding 配置JMS的监听端口,来监听服务请求 --> <!-- 配置JMS的连接工厂--> |
<?xml version="1.0" encoding="UTF-8"?> <bean id="jndi" class="org.apache.xbean.spring.jndi.SpringInitialContextFactory" <!-- JMX 服务器 --> <import resource="classpath:activemq.xml" /> <!-- the JBI 容器 --> <sm:activationSpecs> |
| 回书目 上一节 下一节 |
|
· 上周Linux系统命令的使.. · 上周真题冲刺测试获奖.. · 全国计算机等考四级模.. · 08年3月各大网上书店及.. · 网络工程师模拟测试获.. · 全国计算机软考考试指.. |
· 3月24日WCF聊天活动 积.. · 全国计算机等级考试四.. · 软件项目估计:第2版 · 系统分析师基础知识自.. · 构建可扩展的Web站点的.. · 2008年全国计算机等级.. |
|
||||
| · 2008年上半年全国软考.. · 企业数据恢复指南 · 微软出价446亿美元收购.. · Linux——从菜鸟到高手 · 交换机故障解决指南 · OSPF路由协议专栏 · 勇闯IT培训黑色围城 · 见证中国网络安全二十年 |
· 技术人求职简历完备手册 · 华为员工自杀频频拷问.. · 思科全球CEO钱伯斯第七.. · 北漂技术人90天求职纪实 · 2007年互联网大会 · 龙芯要做中国的“奔腾” · IPv6协议--拓展网络无.. · 国际文档格式标准开战 |
|||
|
||||
| · SQL Server 2008/2005.. · SOA 面向服务架构 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 中间件应用技术专题 · SQL Server入门到精通 · 国际文档格式标准开战 |
· 路由器设置与口令恢复 · Linux防火墙 · 打造安全服务器 · SOA 面向服务架构 · PHP开发应用手册 · ADSL应用面面俱到 · 入侵防护系统(IPS)初探 · 企业数据恢复指南 |
|||
|
||||
| · iSCSI应用与发展 · 中间件应用技术专题 · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · iSCSI应用与发展 · RAID——磁盘阵列基础 · 企业数据恢复指南 |
· 路由器设置与口令恢复 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · ADSL应用面面俱到 · ADSL应用面面俱到 · PHP开发应用手册 · 中间件应用技术专题 · 交换机故障解决指南 |
|||