一、下载与安装
到Mule的官方网站(http://mule.mulesource.org/display/MULE/Download)上下载Mule的最新稳定版,目前是1.3.3(http://www.mulesource.com/ccount/click.php?id=17),也可以使用社区版的1.4.1(http://www.mulesource.com/ccount/click.php?id=33)。本文档以1.3.3版为例,1.4.1请参照文档自行修改。
下载后得到一个ZIP格式的压缩文件mule-1.3.3.zip,将该文件解压至任一目录,假设为C:\mule-1.3.3,本文档以环境变量MULE_HOME表示该目录。
二、运行Echo示例
Mule自带了很多示例,从最简单的echo示例到一个比较完整的贷款中介服务loanbroker。每个示例程序都分为ant和maven两个版本,它们分别位于 %MULE_HOME%\examples\ant和 %MULE_HOME%\examples\maven目录下。文档将以ant版本为例说明如何运行echo示例。
1、到apache官方网站的ant项目下载页(http://ant.apache.org/bindownload.cgi)上下载ant1.7.0(http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.0-bin.zip),下载后将文件解压到任一目录(假设为C:\apache-ant-1.7.0,文档中表示为ANT_HOME环境变量)。
2、设置环境变量ANT_HOME到ant的解压目录,如:
ANT_HOME=C:\apache-ant-1.7.0
3、将%ANT_HOME%\bin加入到系统寻找路径中,如:
PATH=%ANT_HOME%\bin;%PATH%
4、启动命令行窗口,进入%MULE_HOME%\examples\ant\echo目录,执行下面命令:
echo.bat
示例程序会先显示一个License信息,输出一些日志记录,最终出现以下信息:
INFO 2007-08-29 16:54:44,062 [WrapperSimpleAppMain] org.mule.MuleManager:
**********************************************************************
* Mule ESB and Integration Platform version Not Set *
* Not Set *
* For more information go to http://mule.mulesource.org *
* *
* Server started: 2007年8月29日 星期三 下午04时54分42秒 CST *
* Server ID: Mule_Echo_Sample *
* JDK: 1.5.0_11 (mixed mode, sharing) *
* OS: Windows XP - Service Pack 2 (5.1, x86) *
* Host: zengfl (192.168.25.71) *
* *
* Agents Running: *
* Mule Admin: accepting connections on tcp://localhost:60504 *
**********************************************************************
INFO 2007-08-29 16:54:44,062 [WrapperSimpleAppMain] org.mule.MuleServer: Mule S
erver initialized.
Please enter something:
表示示例程序运行成功,随便输入一些字符,这些字符被回显出来的同时,回显的处理日志信息也被显示出来。
注意,在执行这个步骤时,请确信您能访问互联网,否则,示例程序无法运行。
三、一个简单的Mule Java Application
下面,以一个类似Echo的Java Application为例说明如何使用Mule来建立应用。后面会说明如何在Web应用程序中集成Mule。
1、在Eclipse中建立一个Java Application,为Application命令为MuleAppTest。
2、在Package Explorer视图中,选中刚刚建立的MuleAppTest项目,按下Alt+Enter键打开该项目的属性设置对话框,找到Java Build Path菜单,打开右边的Libraries标签页。
3、点击“Add External JARs...”按钮,将 %MULE_HOME%\lib\mule 目录和 %MULE_HOME%\lib\opt 目录下的所有jar文件添加到项目的库路径中(%MULE_HOME%\bin\opt目录下的jar文件并不是必须的,您可以根据需要选择您要加入的包,本文实际上只使用了与Web Service相关的一些库文件)。
4、在源码目录(src)下建立一个EchoService接口及其实现类EchoServiceImpl。
EchoService.java
package com.san.mule;
public interface EchoService {
public String echo(String s);
}
EchoServiceImpl.java
package com.san.mule;
public class EchoServiceImpl implements EchoService {
public String echo(String s) {
return s;
}
}
5、在源码目录(src)下建立一个mule-config.xml文件,为Mule配置入口端点,并将这个端点发布成一个基于axis的Web服务。
mule-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mule-configuration PUBLIC "-//MuleSource //DTD mule-configuration XML V1.0//EN"
"http://mule.mulesource.org/dtds/mule-configuration.dtd">
<mule-configuration id="mule-test" version="1.0">
<model name="echoService">
<mule-descriptor name="echoService"
implementation="com.san.mule.EchoServiceImpl">
<inbound-router>
<endpoint
address="axis:http://localhost:8181/services">
</endpoint>
</inbound-router>
<properties>
<list name="serviceInterfaces">
<entry value="com.san.mule.EchoService" />
</list>
</properties>
</mule-descriptor>
</model>
</mule-configuration>
6、建立一个Mule的Application示例。
MuleAppTest.java
package com.san.mule;
import org.mule.config.ConfigurationException;
import org.mule.config.builders.MuleXmlConfigurationBuilder;
import org.mule.umo.manager.UMOManager;
public class MuleAppTest {
public static void main(String[] args) throws ConfigurationException {
MuleXmlConfigurationBuilder builder = new MuleXmlConfigurationBuilder();
UMOManager manager = builder.configure("mule-config.xml");
}
}
7、在MuleAppTest.java点击右键,选择Run As菜单中的Java Application运行MuleAppTest类。
8、打开浏览器,访问http://localhost:8181/services/echoService?wsdl,即可看见服务的描述信息。
9、我们来运行一下这个Web服务,看是否能正确运行,在浏览器地址栏中输入:
http://localhost:8181/services/echoService?method=echo¶m=zengfl
四、在Web Application中集成Mule
继续前面的项目,我们将Mule集成到Tomcat的一个Web Application中,并使用一个JSP页面来访问Mule组件。
1、在项目中建立Web Application的相关目录WEB-INF、WEB-INF\lib和WEB-INF\classes。
2、将%MULE_HOME%\lib\mule目录和%MULE_HOME%\lib\opt目录下的所有文件复制到项目的WEB-INF\lib目录下。
将%MULE_HOME%\lib\user\activation.jar和%MULE_HOME%\lib\user\mail.jar两个文件复制到项目的WEB-INF\lib目录下。(注意,如果你没有找到这两个文件,那是因为你没有成功运行第二节中的测试程序。)
3、将项目的output folder设置成项目的WEB-INF/classes目录。
4、将项目src目录下的mule-config.xml文件复制到项目的WEB-INF目录下。
注意,当你把项目的output folder设置成WEB-INF/classes时,该目录会从Package Explorer中消失,这是正常现在,你可以在Navigator视图中找到这个目录。
5、建立WEB-INF\web.xml文件。
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Mule</display-name>
<description>Mule Demo</description>
<context-param>
<param-name>org.mule.config</param-name>
<param-value>/WEB-INF/mule-config.xml,</param-value>
</context-param>
<listener>
<listener-class>
org.mule.config.builders.MuleXmlBuilderContextListener
</listener-class>
</listener>
<servlet>
<servlet-name>muleServlet</servlet-name>
<servlet-class>
org.mule.providers.http.servlet.MuleReceiverServlet
</servlet-class>
<load-on-startup />
</servlet>
<servlet-mapping>
<servlet-name>muleServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>
6、建立一个测试页面echo.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ page import="org.mule.extras.client.MuleClient" %>
<%@ page import="org.mule.umo.UMOMessage" %>
<html>
<head>
<title>Mule Web Application Test</title>
</head>
<body>
<%
String s = request.getParameter("name");
if (s != null) {
MuleClient client = new MuleClient();
UMOMessage message = client.send(
"axis:http://localhost:8181/services/echoService?method=echo",
s, null);
%>
<h3><%=message.getPayload()%></h3>
<%
}
%>
你的名字:
<form method="POST" name="submitEcho" action="">
<table>
<tr>
<td><input type="text" name="name" /></td>
<td><input type="submit" name="Go" value=" 确定 " /></td>
</tr>
</table>
</form>
<p/>
</body>
</html>
7、将项目部署到%TOMCAT_HOME%\webapp目录下,启动Tomcat,访问
http://localhost:8080/MuleAppTest/echo.jsp
输入你的名字测试一下,OK。
分享到:
相关推荐
【Mule 入门文档】 Mule 是一个开源的企业服务总线(Enterprise Service Bus,ESB)和集成平台,它提供了灵活且强大的工具来连接不同的系统、应用和服务,实现企业内部以及跨组织的数据交换。本入门文档将指导你从...
【压缩包子文件的文件名称】"Mule3入门教程.doc"很可能是一个详细的文档,涵盖了Mule 3的基础知识,包括但不限于: 1. **Mule ESB介绍**:解释Mule ESB的作用,其核心特性,以及它如何作为ESB促进企业系统间的集成。...
- **快速入门**:Mule提供了多个示例项目来帮助新手快速上手。这些示例覆盖了从简单的Hello World程序到复杂的业务流程模拟等多个场景。 - **Hello World示例**:这是最基础的示例,演示了如何使用Mule创建一个简单...
总而言之,Mule开发者指南为开发者提供了一个全面的学习路径,从基础的入门知识到项目创建、配置和运行,再到项目维护和故障排除,涵盖了成为一名成功Mule开发者所需要掌握的各个方面。通过遵循这份指南,开发者将...
"Mule介绍.doc"文档可能涵盖Mule的基本概念、架构、核心组件以及如何入门等内容。通常,这样的文档会解释Mule ESB的工作原理,包括Inbound Endpoints(输入端点)、Outbound Endpoints(输出端点)、Transformers...
根据提供的文档信息,“mule-1.4.4-getting-started.pdf”是关于Mule ESB(Enterprise Service Bus)1.4.4版本的入门指南。这份文档由tcarlson于2008年4月16日创建,并在同一天进行了最后的修改。以下是从文档的标题...
《Mule in Action》是一本专注于Mule ESB(企业服务总线)的入门教程,旨在帮助读者系统地学习和理解这一强大的集成平台。Mule ESB是开源领域中的一个重量级选手,常用于构建灵活、可扩展的企业级集成解决方案。这...
用户指南的入门部分将介绍Mule配置的基础知识,包括XML配置文件的结构和关键元素,这为后续的深入学习打下基础。 2. **流程、模式与服务的选择**: 在Mule中,可以使用flows、patterns和服务来组织和执行业务逻辑...
这对于初次接触 Mule 的用户来说是非常重要的入门指导。 #### 五、3.x 新特性 虽然文档主要是针对 2.2.1 版本,但也提供了一些关于 3.x 版本的新特性的介绍。这可以帮助用户了解 Mule 在后续版本中引入的重要改进...
### Emacs快速入门与基础知识 #### 一、GNU与Emacs概览 GNU(GNU's Not Unix)是由Richard Stallman于1975年发起的一个旨在创建一个自由软件系统的项目。这个项目的初衷是为了摆脱传统商业软件的限制,创建一个...
- GNU Emacs是一款功能强大的文本编辑器,广泛应用于各种编程和文档编辑场景。 - 它支持多种操作系统,并且具有高度的可定制性和扩展性。 - **GNU Emacs的特质** - 高度可配置:用户可以通过配置文件来个性化...
除了指南之外,还可以通过访问Spring Security的项目网站获取更多有用的构建信息,包括链接到相关的文档、视频和教程等资源。 通过上述内容的学习,开发者可以更加深入地理解Spring Security的功能、优势及其应用...
### Spring Security 3.0 入门与核心概念详解 #### 一、Spring Security简介 Spring Security 是一款功能强大且高度可定制的应用安全框架,它为基于 Java 的应用程序提供了全面的安全服务。尤其对于那些采用 ...