由于工作需要,最近开始接触ESB。在开源ESB领域,出现最早,使用广泛的当属Mule了。但是很遗憾,在网上并没有多少实用的关于ESB的资料,所以在这里记下自己的学习,使用和熟悉的过程。如有不正确之处,欢迎指出,也欢迎讨论。
1. 下载,安装与配置
1.1 下载Mule - http://www.mulesoft.org/
1.2 下载Mule IDE - http://www.mulesoft.org/documentation/display/MULEIDE/Mule+IDE+2.0+Installation+Guide
其中,Mule IDE是一个Eclipse插件,其安装与配置在官方站点中有详细的说明,这里不再重复。本人使用的是
Eclipse:MyEclipse 6.5
Mule: mule-2.1.2
操作系统:Windows XP
注意:Eclipse中的JDK最好与系统安装的JDK保持一致。
2. 运行例子
2.1 直接运行
%Mule_Home%\examples目录下有好几个例子,可直接运行,比如运行echo,直接运行echo目录下的echo.bat即可,这里提供了三种模式,分别是命令行,以及基于Axis和Cxf的服务方式。下面两图分别是命令行运行,和基于Axis服务的运行效果图,采用后者,需在浏览器中输入以下地址: http://localhost:65081/services/EchoUMO?method=echo
2.2 在开发环境中运行
2.2.1 创建Mule Project
输入项目名称,选取Add sample project content,同时在下拉列表中选择Echo Example,然后Finish。
2.2.2 运行
创建项目后,可以看看项目结构,然后右键点击conf目录下任一个xml配置文件,Run As -> Mule Server,即可运行,效果图略。
3. 开发第一个Mule项目——Hello World
3.1 创建工程 - 创建一个Java Project
3.2 添加所需要的JAR包
添加一个lib文件夹,同时把以下目录中所有的JAR包复制到lib文件夹中
-- %Mule_Home%\lib\boot
-- %Mule_Home%\lib\mule
-- %Mule_Home%\lib\opt
并将这些JAR包添加到项目的classpath
3.3 编写Java文件
3.3.1 创建接口
/***********************************************************************
* <p>Project Name: test</p>
* <p>File Name: com.thu.afa.mule.demo.Hello.java</p>
* <p>Copyright: Copyright (c) 2010</p>
* <p>Company: <a href="http://afa.thu.com">http://afa.thu.com</a></p>
***********************************************************************/
package com.thu.afa.mule.demo;
/**
* <p>Class Name: Hello</p>
* <p>Description: </p>
* @author Afa
* @date Jun 26, 2010
* @version 1.0
*/
public interface Hello
{
public String hello(String name);
}
3.3.2 创建实现类
/***********************************************************************
* <p>Project Name: test</p>
* <p>File Name: com.thu.afa.mule.demo.HelloImpl.java</p>
* <p>Copyright: Copyright (c) 2010</p>
* <p>Company: <a href="http://afa.thu.com">http://afa.thu.com</a></p>
***********************************************************************/
package com.thu.afa.mule.demo;
/**
* <p>Class Name: HelloImpl</p>
* <p>Description: </p>
* @author Afa
* @date Jun 26, 2010
* @version 1.0
*/
public class HelloImpl implements Hello
{
/* (non-Javadoc)
* <p>Title: </p>
* <p>Method Name: hello</p>
* <p>Description: </p>
* @author: Afa
* @date: Jun 26, 2010
* @see com.thu.afa.mule.demo.Hello#hello(java.lang.String)
*
* @param name
* @return
*/
public String hello(String name)
{
return name;
}
}
3.4 编写配置文件
在项目目录下创建conf文件夹,并创建文件:hello-config.xml。当然,你也可以从mule的例子中复制一个配置文件到此,然后做适当的修改。下面的本例子的配置:
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.1"
xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.1"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.mulesource.org/schema/mule/core/2.1 http://www.mulesource.org/schema/mule/core/2.1/mule.xsd
http://www.mulesource.org/schema/mule/stdio/2.1 http://www.mulesource.org/schema/mule/stdio/2.1/mule-stdio.xsd
http://www.mulesource.org/schema/mule/vm/2.1 http://www.mulesource.org/schema/mule/vm/2.1/mule-vm.xsd">
<!--
The system stream connector is used to send and receive information via the
System.in and System.out. Note this connector is only really useful for testing
purposes.
promptMessage - is what is written to the console
messageDelayTime - is the time in milliseconds before the user is prompted again.
These properties are set as bean properties on the connector.
-->
<stdio:connector name="SystemStreamConnector"
promptMessage="Please enter yout name: "
messageDelayTime="1000"/>
<!--
The Mule model initialises and manages your UMO components
-->
<model name="HelloSample">
<!--
A Mule service defines all the necessary information about how your components will
interact with the framework, other components in the system and external sources.
Please refer to the Configuration Guide for a full description of all the parameters.
-->
<service name="HelloUMO">
<inbound>
<stdio:inbound-endpoint system="IN" />
</inbound>
<component class="com.thu.afa.mule.demo.HelloImpl"/>
<outbound>
<pass-through-router>
<stdio:outbound-endpoint system="OUT" />
</pass-through-router>
</outbound>
</service>
</model>
</mule>
3.5 运行
右键点击hello-config.xml,Run As -> Mule Server,即可运行,运行结果如下:
4. 小结
本人最近一直在看Mule的官方文档以及所提供的例子,但由于是初学,所以理论性的东西说的就比较少了,如有不正确之处,欢迎指出,也欢迎一起探讨。
-------------------------------------------------
Stay Hungry, Stay Foolish!
Afa
June 27th, 2010
-------------------------------------------------
分享到:
相关推荐
#### 二、Mule Studio 安装与配置 ##### 1. 安装前的准备 在安装 Mule Studio 之前,需要先确保已经完成了以下准备工作: 1. **安装 JDK**:确保安装了 JDK 版本为 JDK1.6u26 或 JDK1.7u13 以上的版本,而不是 ...
- **使用 Mule 配置模式**:这部分详细阐述了 Mule 提供的各种配置模式,包括简单的服务模式、桥接模式、验证器模式和 Web 服务代理模式等。 - **模式基础配置**:讲解如何利用这些模式简化配置过程。 - **简单...
Mule 是一个强大的企业服务总线(ESB)和集成平台,它允许不同的系统和应用程序之间进行通信。...这两个简单的例子为理解 Mule 的更复杂集成提供了基础,并展示了如何利用 Mule 实现灵活、可扩展的企业级集成。
《Mule2.2 BookStore例子学习》 Mule2.2是一款强大的企业级集成平台,主要用于构建应用程序之间的数据和流程集成。在这个BookStore的例子中,我们将深入理解Mule ESB(Enterprise Service Bus)的核心概念和工作...
学习Mule,你需要理解它的核心组件及其相互作用,掌握如何创建和配置数据流,以及如何使用Mule表达式语言(MEL)和数据映射工具进行数据转换。此外,熟悉Mule的异常处理策略也是至关重要的,因为良好的错误处理可以...
然后,下载Mule的最新版本,例如Mule ESB standalone runtime 3.4版本,解压到mule的安装目录,启动mule并查看是否能正常运行。 二、Mule开发环境搭建 Mule开发环境的搭建需要在JDK已经安装、配置的基础上进行。...
这个简单的示例展示了Mule ESB的基本用法,包括项目的创建、组件配置和应用运行。随着对Mule ESB的深入学习,你可以利用它的强大功能,实现更复杂的企业级集成方案,如数据转换、错误处理、安全策略等,以满足各种...
7. **Deployment**: 部署Mule应用程序到MULE ESB-4.1运行环境非常简单。在描述中提到,只需将AnyPoint Studio开发的项目放到`APPS`目录下,Mule服务器会自动识别并加载这些应用程序。 在实际应用中,用户可以通过...
关于在tomcat上进行mule多线程数量参数配置
学习Mule ESB时,还需要了解Anypoint Platform,这是一个全面的集成解决方案,包括Anypoint Studio、Anypoint Exchange(共享连接器和资源的库)、Anypoint Runtime Manager(用于监控和管理Mule应用的运行时环境)...
安装过程包括解压下载的文件,运行MuleStudio.exe,然后选择工作空间(workspace)。 总的来说,Mule ESB作为一个强大的ESB解决方案,为企业提供了高效、灵活的系统集成能力,而Mule Studio则为开发者提供了一个...
至此,Mule的安装配置完成。 二、Mule服务启动 在启动Mule服务之前,需要先配置环境变量。在命令行中输入mule命令,出现启动信息,表明配置成功。 三、Mule项目发布 在Mule项目中,需要新建一个项目,例如...
Mule的配置设置包括服务组件的声明、端点的配置以及消息的转换和路由等。这些设置由开发人员完成,是构建Mule应用程序的核心部分。 ##### 1. `<component>` - **定义**: 通过指定实现类名配置Mule组件。 - **示例**...
每个示例通常包含一个或多个Mule应用配置文件(`.mule`或`.xml`),这些文件定义了端点、数据流和其他组件。 通过分析和运行这些示例,你可以深入理解Mule的工作方式,掌握如何创建和部署自己的Mule应用。记住,...
总结来说,"mule使用SOAP工件发布和消费web Service的简单例子"是关于利用Mule ESB创建和使用SOAP服务的一个实践教程。通过"hello-ws"示例,我们可以深入理解SOAP服务的生命周期,从定义WSDL到编写服务逻辑,再到...
【Mule ESB Studio v3.3 安装使用手册】是针对Mule ESB集成服务平台的一个详细指导,旨在帮助用户成功安装和使用Mule Studio。Mule ESB是一款强大的企业服务总线(ESB)工具,用于构建、部署和管理集成解决方案。...