- 浏览: 296388 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (133)
- boss好文 (10)
- 数据模型 (2)
- together (1)
- oracle (10)
- 健康生活 (4)
- js好东东 (8)
- 工作流 (1)
- 常见java问题 (7)
- BOSS开发随想 (0)
- rose相关 (1)
- 股市看图 (4)
- java基础 (12)
- jbpm (1)
- 集群(负载均衡) (4)
- spring教程 (2)
- maven入门 (5)
- 项目管理 (14)
- 常用软件 (3)
- mysql (4)
- j2ee性能调优 (2)
- jfreechart相关 (1)
- 需求工具 (2)
- maven基础讲解 (3)
- AXURE下载 (2)
- db2 (2)
- svn (1)
- 日常操作技巧 (3)
- SOA (16)
- jetty (2)
- jetspeed (0)
- camel (0)
- 安卓开发 (4)
- ESB (4)
- 物流 (2)
- 软件需求的3个层次 (1)
- WMS (1)
- eclipse (1)
- 安卓源代码 (2)
- jar (0)
最新评论
-
seeYourEye:
prt1979 写道怎么在点“open project”后,选 ...
PL/SQL Developer插件之SVN -
prt1979:
怎么在点“open project”后,选择文件夹后一直弹出“ ...
PL/SQL Developer插件之SVN -
houlianxue:
LateCHI 写道东西不错。可以正常打开目录。但是进行svn ...
PL/SQL Developer插件之SVN -
LateCHI:
东西不错。可以正常打开目录。但是进行svn操作的时候提示 un ...
PL/SQL Developer插件之SVN -
w.tany:
很多地方少个# 号
<s:property>的用法
mule:轻量级的ESB消息框架,可以和spring集成,支持seda架构。
seda:分段式事件驱动架构,可以在每个stage上施加不同的thread,来确保程序的最大吞吐量。
几个名词解释
Connectiors:支持不同协议的连接器,屏蔽有不同协议带来的复杂度
EndPoints Address:终端地址,类似于jms等消息机制
UMO:统一消息对象,在mule里面他们是一些POJO,负责解释消息,处理消息,然后再发送给下一个UMO,形成一个UMO处理链。
mule框架地址http://www.mulesoft.org/
下载下来并解压缩打开examples文件夹,里面有很多例子,最初级的例子是echo
D:\mule\mule-standalone-2.2.1\examples
1.运行echo项目,初次体验mule
执行echo.bat批处理文件,有三种选择,你可以在命令窗口下输入1,2或者3选择不同的模式1是基本模式,2是Axis模式,3是CXF模式
对应着D:\mule\mule-standalone-2.2.1\examples\echo\conf文件夹下的三个配置文件,根据你的选择加装不同的配置文件
2.自己动手写一个echo程序,代码如下
EchoService接口
package com.zxgllhh.testMule;
public interface EchoService {
public String echo(String echo);
}
EchoComponent实现类
package com.zxgllhh.testMule.impl;
import com.zxgllhh.testMule.EchoService;
public class EchoComponent implements EchoService {
public String echo(String echo) {
System.out.println("Echo Component start....");
return echo;
}
}
加装配置文件的主动类
package com.zxgllhh.run;
import org.mule.api.MuleContext;
import org.mule.api.context.MuleContextFactory;
import org.mule.config.spring.SpringXmlConfigurationBuilder;
import org.mule.context.DefaultMuleContextFactory;
public class EagleMuleMain {
public static void main(String[] args) throws Exception{
try {
String configFile = "com/zxgllhh/run/mule-config.xml";
String[] configFileArr = new String[] { configFile };
MuleContextFactory muleContextFactory = new DefaultMuleContextFactory();
MuleContext context = muleContextFactory
.createMuleContext(new SpringXmlConfigurationBuilder(
configFileArr));
context.start();
} catch (Exception t) {
t.printStackTrace();
}
}
}
mule-config.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:soap="http://www.mulesource.org/schema/mule/soap/2.2"
xmlns:cxf="http://www.mulesource.org/schema/mule/cxf/2.2"
xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.2"
xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.2"
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.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
http://www.mulesource.org/schema/mule/soap/2.2 http://www.mulesource.org/schema/mule/soap/2.2/mule-soap.xsd
http://www.mulesource.org/schema/mule/cxf/2.2 http://www.mulesource.org/schema/mule/cxf/2.2/mule-cxf.xsd
http://www.mulesource.org/schema/mule/stdio/2.2 http://www.mulesource.org/schema/mule/stdio/2.2/mule-stdio.xsd
http://www.mulesource.org/schema/mule/vm/2.2 http://www.mulesource.org/schema/mule/vm/2.2/mule-vm.xsd">
<description>
this is a description, to be expert or not to be is not a question.
</description>
<model name="firstMuleModel">
<service name="firstModelService">
<inbound>
<stdio:inbound-endpoint system="IN"/>
<vm:inbound-endpoint path="echo"/>
</inbound>
<component class="com.zxgllhh.testMule.impl.EchoComponent"></component>
<outbound>
<pass-through-router>
<stdio:outbound-endpoint system="OUT"/>
</pass-through-router>
</outbound>
</service>
</model>
</mule>
发布成webservice应用,有webservice驱动程序运行代码修改如下
接口
package com.zxgllhh.testMule;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
@WebService
public interface EchoService {
//定义返回参数节点
@WebResult(name="responseResultByzxg")
//定义请求参数节点
public String echo(@WebParam(name="requestResultByzxg") String string);
}
实现类
package com.zxgllhh.testMule.impl;
import com.zxgllhh.testMule.EchoService;
public class EchoComponent implements EchoService {
public String echo(String echo) {
return "Hello ,"+echo;
}
}
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:soap="http://www.mulesource.org/schema/mule/soap/2.2"
xmlns:cxf="http://www.mulesource.org/schema/mule/cxf/2.2"
xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.2"
xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.2"
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.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
http://www.mulesource.org/schema/mule/soap/2.2 http://www.mulesource.org/schema/mule/soap/2.2/mule-soap.xsd
http://www.mulesource.org/schema/mule/cxf/2.2 http://www.mulesource.org/schema/mule/cxf/2.2/mule-cxf.xsd
http://www.mulesource.org/schema/mule/stdio/2.2 http://www.mulesource.org/schema/mule/stdio/2.2/mule-stdio.xsd
http://www.mulesource.org/schema/mule/vm/2.2 http://www.mulesource.org/schema/mule/vm/2.2/mule-vm.xsd">
<description>
this is a description, to be expert or not to be is not a question.
To invoke the EchoUMO hit the following URL -
http://localhost:65082/services/EchoServiceUMO/echo/requestResultByzxg/zxg
To view the WSDL for the EchoUMO service go to -
http://localhost:65082/services/EchoServiceUMO?wsdl
</description>
<!-- CXF下的mule配置 -->
<model name="echoSample">
<service name="EchoService">
<inbound>
<cxf:inbound-endpoint address="http://localhost:65082/services/EchoServiceUMO"
serviceClass="com.zxgllhh.testMule.EchoService"/>
</inbound>
<component class="com.zxgllhh.testMule.impl.EchoComponent"></component>
</service>
</model>
<!--
<model name="firstMuleModel">
<service name="firstModelService">
<inbound>
<stdio:inbound-endpoint system="IN"/>
<vm:inbound-endpoint path="echo"/>
</inbound>
<component class="com.zxgllhh.testMule.impl.EchoComponent"></component>
<outbound>
<pass-through-router>
<stdio:outbound-endpoint system="OUT"/>
</pass-through-router>
</outbound>
</service>
</model>
-->
</mule>
对配置文件的总结
mule--description
--model--service--inbound
--outbound
--component
seda:分段式事件驱动架构,可以在每个stage上施加不同的thread,来确保程序的最大吞吐量。
几个名词解释
Connectiors:支持不同协议的连接器,屏蔽有不同协议带来的复杂度
EndPoints Address:终端地址,类似于jms等消息机制
UMO:统一消息对象,在mule里面他们是一些POJO,负责解释消息,处理消息,然后再发送给下一个UMO,形成一个UMO处理链。
mule框架地址http://www.mulesoft.org/
下载下来并解压缩打开examples文件夹,里面有很多例子,最初级的例子是echo
D:\mule\mule-standalone-2.2.1\examples
1.运行echo项目,初次体验mule
执行echo.bat批处理文件,有三种选择,你可以在命令窗口下输入1,2或者3选择不同的模式1是基本模式,2是Axis模式,3是CXF模式
对应着D:\mule\mule-standalone-2.2.1\examples\echo\conf文件夹下的三个配置文件,根据你的选择加装不同的配置文件
2.自己动手写一个echo程序,代码如下
EchoService接口
package com.zxgllhh.testMule;
public interface EchoService {
public String echo(String echo);
}
EchoComponent实现类
package com.zxgllhh.testMule.impl;
import com.zxgllhh.testMule.EchoService;
public class EchoComponent implements EchoService {
public String echo(String echo) {
System.out.println("Echo Component start....");
return echo;
}
}
加装配置文件的主动类
package com.zxgllhh.run;
import org.mule.api.MuleContext;
import org.mule.api.context.MuleContextFactory;
import org.mule.config.spring.SpringXmlConfigurationBuilder;
import org.mule.context.DefaultMuleContextFactory;
public class EagleMuleMain {
public static void main(String[] args) throws Exception{
try {
String configFile = "com/zxgllhh/run/mule-config.xml";
String[] configFileArr = new String[] { configFile };
MuleContextFactory muleContextFactory = new DefaultMuleContextFactory();
MuleContext context = muleContextFactory
.createMuleContext(new SpringXmlConfigurationBuilder(
configFileArr));
context.start();
} catch (Exception t) {
t.printStackTrace();
}
}
}
mule-config.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:soap="http://www.mulesource.org/schema/mule/soap/2.2"
xmlns:cxf="http://www.mulesource.org/schema/mule/cxf/2.2"
xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.2"
xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.2"
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.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
http://www.mulesource.org/schema/mule/soap/2.2 http://www.mulesource.org/schema/mule/soap/2.2/mule-soap.xsd
http://www.mulesource.org/schema/mule/cxf/2.2 http://www.mulesource.org/schema/mule/cxf/2.2/mule-cxf.xsd
http://www.mulesource.org/schema/mule/stdio/2.2 http://www.mulesource.org/schema/mule/stdio/2.2/mule-stdio.xsd
http://www.mulesource.org/schema/mule/vm/2.2 http://www.mulesource.org/schema/mule/vm/2.2/mule-vm.xsd">
<description>
this is a description, to be expert or not to be is not a question.
</description>
<model name="firstMuleModel">
<service name="firstModelService">
<inbound>
<stdio:inbound-endpoint system="IN"/>
<vm:inbound-endpoint path="echo"/>
</inbound>
<component class="com.zxgllhh.testMule.impl.EchoComponent"></component>
<outbound>
<pass-through-router>
<stdio:outbound-endpoint system="OUT"/>
</pass-through-router>
</outbound>
</service>
</model>
</mule>
发布成webservice应用,有webservice驱动程序运行代码修改如下
接口
package com.zxgllhh.testMule;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
@WebService
public interface EchoService {
//定义返回参数节点
@WebResult(name="responseResultByzxg")
//定义请求参数节点
public String echo(@WebParam(name="requestResultByzxg") String string);
}
实现类
package com.zxgllhh.testMule.impl;
import com.zxgllhh.testMule.EchoService;
public class EchoComponent implements EchoService {
public String echo(String echo) {
return "Hello ,"+echo;
}
}
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:soap="http://www.mulesource.org/schema/mule/soap/2.2"
xmlns:cxf="http://www.mulesource.org/schema/mule/cxf/2.2"
xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.2"
xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.2"
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.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
http://www.mulesource.org/schema/mule/soap/2.2 http://www.mulesource.org/schema/mule/soap/2.2/mule-soap.xsd
http://www.mulesource.org/schema/mule/cxf/2.2 http://www.mulesource.org/schema/mule/cxf/2.2/mule-cxf.xsd
http://www.mulesource.org/schema/mule/stdio/2.2 http://www.mulesource.org/schema/mule/stdio/2.2/mule-stdio.xsd
http://www.mulesource.org/schema/mule/vm/2.2 http://www.mulesource.org/schema/mule/vm/2.2/mule-vm.xsd">
<description>
this is a description, to be expert or not to be is not a question.
To invoke the EchoUMO hit the following URL -
http://localhost:65082/services/EchoServiceUMO/echo/requestResultByzxg/zxg
To view the WSDL for the EchoUMO service go to -
http://localhost:65082/services/EchoServiceUMO?wsdl
</description>
<!-- CXF下的mule配置 -->
<model name="echoSample">
<service name="EchoService">
<inbound>
<cxf:inbound-endpoint address="http://localhost:65082/services/EchoServiceUMO"
serviceClass="com.zxgllhh.testMule.EchoService"/>
</inbound>
<component class="com.zxgllhh.testMule.impl.EchoComponent"></component>
</service>
</model>
<!--
<model name="firstMuleModel">
<service name="firstModelService">
<inbound>
<stdio:inbound-endpoint system="IN"/>
<vm:inbound-endpoint path="echo"/>
</inbound>
<component class="com.zxgllhh.testMule.impl.EchoComponent"></component>
<outbound>
<pass-through-router>
<stdio:outbound-endpoint system="OUT"/>
</pass-through-router>
</outbound>
</service>
</model>
-->
</mule>
对配置文件的总结
mule--description
--model--service--inbound
--outbound
--component
发表评论
-
BPEL或ESB:应该使用哪一个?
2012-03-13 17:09 1216在设计 SOA 解决方案时 ... -
ESB 案例解析和项目实施经验分享,第 3 部分: ESB 项目需求分析和方案设计浅谈
2012-02-15 14:50 1782选自:http://www.ibm.com/developer ... -
ESB 案例解析和项目实施经验分享,第 2 部分: 刚柔相济,构建企业联邦 ESB
2012-02-15 14:37 1874摘自:http://www.ibm.com/developer ... -
ESB案例分析:第 1 部分: 借助 ESB 整合航空公司商务体系,提升客户服务水平
2012-02-15 14:14 1946摘自:http://www.ibm.com/developer ... -
ESB架构之企业实施案例
2012-02-14 17:33 1426本文是摘抄自: http://www.webspherechi ... -
关于mule的网站
2011-11-07 10:17 1328关于mule的网站 1,http://note.sdo.com ... -
muleStudio发布到指定目录下
2011-11-04 15:14 1146在mule studio中右键项目名称,选择EXPORT,在弹 ... -
mule配置基础
2011-11-03 10:26 8869Mule是开源的企业集成消息框架,,它的配置需要使用大量的XM ... -
mule配置常用节点
2011-11-03 09:09 12621 Mule-config.xml 示例模型: <mul ... -
mule & seda 学习四
2011-11-03 09:10 996从前,从前 程序跑的太慢,对mule有点误解 jaxb解析 ... -
mule & seda的学习三
2011-11-03 09:10 1248以竣工服务为例 package com.tydic.mule ... -
mule & seda 学习二
2011-11-03 09:11 1198mule的jdbc,配置seda以及vm的初步认识 java ... -
一个不错的MULE主文件
2011-11-02 17:06 1983mule & seda 的使用每分钟处理5000单,发 ... -
mule示例分析
2011-11-02 14:55 7017一、Hello World (主要演示了两个service c ... -
Mule 官方例子研究
2011-10-28 14:26 1927Mule 官方例子研究 一、 ...
相关推荐
Mule ESB 是一个基于 Java 的轻量级企业服务总线和集成平台,允许开发人员快速便利地连接多个应用,并支持应用间的数据交换。Mule ESB 支持集成现有系统而无论其底层采用何种技术,如 JMS、Web Services、JDBC、...
#### 一、Mule 概述 Mule 是一个企业服务总线(Enterprise Service Bus, ESB)的消息框架,它被设计为轻量级且高度可扩展的ESB解决方案。Mule 的设计目标是简化企业应用程序之间的集成过程,同时确保系统的可维护性...
MULE的核心优势之一是其消息处理能力。它可以实现消息的异步、同步和请求响应处理机制,为开发者提供了灵活的消息处理方式。MULE还提供了基于J2EE 1.4的企业消息总线和消息代理,这意味着它能够提供统一的服务集来...
Mule 的核心是一个基于SEDA的服务容器,该容器管理被称为通用消息对象(Universal Message Objects /UMO)的服务对象,而这些对象都是POJO。所有UMO和其他应用之间的通信都是通过消息端点(message endpoint)来进行...
Mule ESB,全称Mule Enterprise Service Bus,是一个开源的企业服务总线系统,旨在促进不同应用程序和服务之间的数据交换和集成。Mule的核心设计是基于轻量级的Java平台,尤其是J2EE 1.4标准,使得它能够在各种企业...
无论是对于初学者还是经验丰富的开发者,Mule ESB都提供了广泛的学习资源,如《Mule in Action》书籍、官方文档以及DZone Refcardz等,帮助用户深入了解并掌握这一强大的集成框架。随着技术的不断进步,Mule ESB持续...
Mule是一个企业服务总线(ESB)消息框架.它的主要特性包括: 1.基于J2EE1.4的企业消息总线(ESB)和消息代理(broker). 2.可插入的连接性:比如Jms,jdbc,tcp,udp,multicast,http,servlet,smtp,pop3, file,xmpp等. 3.支持...
Mule采用了SEDA(Staged Event-Driven Architecture)模型,这是一种事件驱动的架构模式,通过将应用程序分成多个阶段来实现高吞吐量和可伸缩性。 8. 强大的基于EIP模式的事件路由机制: 事件驱动模式(EIP)允许...
Mule 是一种开源的 ESB 框架,提供了基本的 ESB 功能,包括消息传递、服务集成、数据转换等。Mule 的整体结构包括 Model、Service、Transport、Transformer 等组件。Model 表示托管各个服务的运行时环境。Service 是...
- **SEDA (Staged Event-Driven Architecture)**: 基于事件驱动的架构,用于高效处理大量并发消息。 - **同步消息**: 直接等待响应的消息处理模式。 - **异步消息**: 不等待响应即继续执行后续任务的消息处理模式。 ...