1、Mule学习笔记 作者:郑先全 msn: 1. 原理 请参照《Using JBI for Service-Oriented Integration (SOI)》 2. Mule简介 2.1. 架构 2.2. 核心概念 请参照《Architecture Guid》 2.3. repository 如果想保持新鲜,访问她们CVS是最佳办法。 cvs -d :pserver::/scm/mule login (no password) cvs -d :pserver::/scm/mule co mule 注意:从4月14日开始,不再使用cvs,而采用svn,途径
2、如下: 2.4. IDE 有自己IDE: Download: Eclipse update site: 3. Mule使用 3.1. Mule安装 我JDK为1.4.2_05。 下载后,解压缩,并设立MULE_HOME为解压缩目录 测试: 提供echo例子程序是个比较好测试工具,放在%MULE_HOME%\samples\echo下,cmd并切换到改目录bin下,执行mule-echo.bat,即可看到如下窗口: 恭喜,阐明安装成功。 Tip: 事实上,在我环境中会提示一种关于缺少一种sax文献错误,郁闷,通过到sax王张并下载sax2r3.z
3、ip后,把里面xml-apis.jar解压缩到%MULE_HOME%\lib下,可以解决该问题。 3.2. echo例子分析 参照这个地址(+Example)简介,应当会有一种比较好开始。 3.2.1. 过程图示 描述为: 1、 通过两种方式接入(红色标记):一为System.in,另一为Soap(http)方式; 2、 每种接入都可以通过接入器(Connector)通过NMR路由转发后,进行输出,当前通过两种方式输出:一为System.out,另一为Soap(http)方式 可以通过Mule提供工具生成配备图,如下: 3.2.2. 有关代码(The Echo Serv
4、ice) The echo Service is a POJO that 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 impleme
5、nts EchoService {
public String echo(String echo) {
return echo;
}
}
3.2.3. 配备和阐明
8、
10、编码调用。 Tips: 1、 可以通过干预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/javabea
11、n:
NameString.java
ChatString.java
SERVICE:
Greeter.java
ChitChatter.java
Transformer:
HttpRequestToString.java
NameStringToChatString.java
StringToNameString.java
ChatStringToString.java
3.3.2.3. 配备
Web.xml
12、/WEB-INF/mule-echo-config.xml,
/WEB-INF/mule-hello-config.xml
Mule-hello-config.xml
16、ssName="org.mule.routing.outbound.OutboundPassThroughRouter">
17、nbound-router>
18、er
3.3.3.1. 简介
异步实现:
同步实现:
3.3.3.2. 配备图
请参照:+Broker+Example
3.3.3.3. 类图
3.3.3.4. 配备文献详细分析
19、
22、
41、 42、iptor name="LoanBroker"
implementation="org.mule.samples.loanbroker.AsyncLoanBroker">
45、 46、
implementation="org.mule.samples.loanbroker.DefaultCreditAgencyService">
47、 48、