1、 Mule学习笔记 作者:郑先全 msn:zhengxianquan@ 1. 原理 请参考《Using JBI for Service-Oriented Integration (SOI)》 2. Mule介绍 2.1. 架构 2.2. 核心概念 请参考《Architecture Guid》 2.3. repository 如果想保持新鲜,访问他们的CVS是最好的办法。 cvs -d :pserver:anonymous@cvs.mule.codehaus.org:/scm/mule login (no password) cvs -d :pser
2、ver:anonymous@cvs.mule.codehaus.org:/scm/mule co mule 注意:从2006年4月14日开始,不再使用cvs,而采用svn,路径如下: https://svn.codehaus.org/mule 2.4. IDE 有自己的IDE: Download: http://docs.codehaus.org/display/MULE/Download Eclipse update site: http://dist.codehaus.org/mule/muleide/updates/ 3. Mule使用 3.1. M
3、ule的安装 我的JDK为1.4.2_05。 下载后,解压缩,并设置MULE_HOME为解压缩目录 测试: 提供的echo例子程序是个比较好的测试工具,放在%MULE_HOME%\samples\echo下,cmd并切换到改目录的bin下,执行mule-echo.bat,即可看到如下窗口: 恭喜,说明安装成功。 Tip: 事实上,在我的环境中会提示一个关于缺少一个sax文件的错误,郁闷,通过到sax王张并下载sax2r3.zip后,把里面的xml-apis.jar解压缩到%MULE_HOME%\lib下,可以解决该问题。 3.2. echo例子分析 参考这个地址(http
4、//mule.codehaus.org/Echo+Example)的介绍,应该会有一个比较好的开始。 3.2.1. 过程图示 描述为: 1、 通过两种方式接入(红色标识):一为System.in,另一为Soap(http)方式; 2、 每种接入都可以通过接入器(Connector)经过NMR路由转发后,进行输出,目前通过两种方式输出:一为System.out,另一为Soap(http)方式 可以通过Mule提供的工具生成配置图,如下: 3.2.2. 相关代码(The Echo Service) The echo Service is a POJO tha
5、t implements an EchoService interface - public interface EchoService { public String echo(String echo); } The implementation (i.e the POJO to be managed by Mule) looks like - package ponents.simple; public class EchoComponent extends LogComponent implements EchoService { public String
6、 echo(String echo) { return echo; } } 3.2.3. 配置和说明
7、"1.0">
8、
9、
11、web.xml,逐个加载需要揣摩的例子,便于分析; 2、 开始时,使用默认的加载方式。 3.3.1. echo例子 略 3.3.2. Hello例子 3.3.2.1. 介绍 本例子主要用于演示两个transformer、两个UMO之间的信息转换和事件交互。 Transformer: StringToNameString Transformer: NameStringToChatString GreeterUMO ChitChatUMO 3.3.2.2. 代码分析 几个java文件,说明如下: POJO/javabean: NameStrin
12、g.java
ChatString.java
SERVICE:
Greeter.java
ChitChatter.java
Transformer:
HttpRequestToString.java
NameStringToChatString.java
StringToNameString.java
ChatStringToString.java
3.3.2.3. 配置
Web.xml
13、echo-config.xml,
/WEB-INF/mule-hello-config.xml
Mule-hello-config.xml
17、"org.mule.routing.outbound.OutboundPassThroughRouter">
18、router>
19、3.3.1. 介绍
异步实现:
同步实现:
3.3.3.2. 配置图
请参考:http://mule.codehaus.org/Loan+Broker+Example
3.3.3.3. 类图
3.3.3.4. 配置文件详细分析
43、ame="Bank5" value="jms://Bank5"/>
44、
45、
46、
47、e-descriptor name="CreditAgencyService"
inboundEndpoint="CreditAgencyReceiver"
implementation="org.mule.samples.loanbroker.DefaultCreditAgencyService">
48、mentation="org.mule.samples.loanbroker.DefaultLenderService">






