为了节省时间,就不翻译了,摘抄重点总结下, 本文大部分摘抄自Mule ESB官网入门教程 Guide.pdf这本书中.
常用的配置定式简介
Simple Service : Exposes JAX-WS annotated components as SOAP web services. Exposes JAX-RS annotated beans as RESTful components.Can also handle JAXB, XML and raw content with simple POJO components.
WebService Proxy : Proxies remote web services. Can perform transformations on the SOAP envelope. Can rewrite or redirect remote WSDLs to localones.
Bridge : Establishes a direct conduit between an inbound endpoint and an outbound endpoint. Supports request-response and one-way bridging. Can perform transformations. Supports transactional bridging of inbound to outbound.
Validator : Validates inbound messages against a defined acceptance filter. Returns an ACK or NACK response synchronously and dispatches valid messages asynchronously.
下面只总结 simple service 和 webservice proxy 两种常用的配置定式的常用配置
Simple service : 把组件发布成简单的mule service ,包括webservice
6. 配置模式
Mule 3.0版本提供了“pattern”的机制。Pattern总结了实际使用过程中的常见场景,以简化的服务配置方式提供。
6.1 简单服务模式(simple service pattern)
简单服务模式用于简化同步服务调用的配置,对应消息传递方式中的请求-响应方式。
图 简单服务模式
简单服务模式通过simple-service 元素配置,主要的元素属性包括:
属性 | 说明 |
address | 服务监听的地址,如vm:in |
component-class | Component的实现类 |
type |
direct: 默认; jax-ws: 将component暴露为soap式的web service(component必须基于jax-ws的注解),address一般为Http Transport; jax-rs: 将component暴露为rest式的web service(component必须基于@Path的注解),address一般为Http或Servlet Transport |
代码示例:
<simple-service name="simple-service" address="vm://simple.in" component-class="demo.mule.umo.Echo" />
Mule针对服务请求接入可以做额外的处理,比如增加Transformer配置进行数据转换。
6.2 桥接模式(bridge pattern)
桥接模式用于在inbound endpoint和outbound endpoint之间建立直接连接,不需要component提供业务逻辑。
图 桥接模式
桥接模式通过bridge元素配置,主要属性包括:
属性 | 说明 |
inboundAddress | 服务请求接入地址 |
outboundAddress | 服务接出的实际地址 |
exchange-pattern |
request-response: 默认,返回处理结果; one-way: 单向 |
transacted |
true: 在向outbound endpoint分发时使用事务; false: 不使用事务 |
代码示例:
<bridge name="queue-to-topic" transacted="true" inboundAddress="jms://myQueue" outboundAddress="jms://topic:myTopic" />
Mule在接入、接出的过程中可以做额外的处理,比如增加Transformer配置进行数据转换。如果使用事务控制,对于异构的协议之间的事务需要有支持XA的事务控制器。
6.3 校验器模式(validator pattern)
校验器模式通过定义一个校验过滤器过滤服务请求,并同步返回ACK(ACKnowledge)或NACK(Not Acknowledge)结果。通过校验的服务请求被异步分发给处理方。
图 校验器模式
校验器模式通过validator元素配置,主要属性包括:
属性 | 说明 |
inboundAddress | 服务请求接入地址 |
outboundAddress | 服务接出地址 |
ackExpression | 表达式,用于构建服务请求被接收时的信息 |
nackExpression | 表达式,用于构建服务请求被拒绝时的信息 |
errorExpression |
@since 3.0.1 表达式,用于构建在服务请求分发出错时的信息 |
validationFilter-ref |
过滤器的引用,也可以使用子元素指定 用于确定服务请求是否被接收 |
代码示例:
<validator name="integer-validator" inboundAddress="vm://validator.in" ackExpression="#[string:GOOD:#[message:payload]@#[context:serviceName]]" nackExpression="#[string:BAD:#[message:payload]@#[context:serviceName]]" outboundAddress="vm://test-service.in"> <payload-type-filter expectedType="java.lang.Integer" /> </validator>
注:Mule的表达式后续补充。
6.4 web服务代理模式(web service proxy pattern)
Web服务代理模式用于将Web Service请求直接转发至远程目标Web Service服务端,Mule本身不提供实际的Web Service。
图 web服务代理模式
Web服务代理模式通过ws-proxy元素配置,主要属性包括:
属性 | 说明 |
inboundAddress | Mule对外提供的地址 |
outboundAddress | Web Service的实际地址 |
代码示例:
<ws:proxy name="ws-proxy" inboundAddress="http://localhost:7006/services/Echo" outboundAddress="http://localhost:8000/services/Echo?method=echo"> </ws:proxy>
Mule在转发的过程中可以做额外的处理,比如增加Transformer配置进行数据转换。
相关推荐
`mule-spring-configuration.dtd`和`mule-configuration.dtd`是Mule ESB的XML配置文件的DTD(文档类型定义),它们规定了XML配置文件的结构和元素。Spring是Mule ESB的核心组件之一,负责管理对象的生命周期和依赖...
在本篇“Mule ESB 学习笔记(13)CSV数据文件到数据库”中,我们将探讨如何使用Mule ESB(Enterprise Service Bus,企业服务总线)处理CSV(Comma Separated Values,逗号分隔值)数据,并将其有效地导入到数据库中...
根据提供的文件内容,以下是关于Mule ESB手册-中文版的知识点: 1. Mule ESB简介 ...通过这些知识点的学习,可以加深对Mule ESB的使用方法的理解,并通过实例加深对ESB概念的理解,对新手来说非常有帮助。
4. **Mule ESB的安装与配置** - MuleESB有两个版本:社区版和企业版。社区版免费,适合初学者和小型项目;企业版提供了更多高级特性和支持服务,适合大型企业和复杂项目。 - 下载并安装MuleESB后,可以通过Mule ...
6. **企业特性**:MULE ESB企业版包含了额外的安全性、监控、管理和扩展性功能,例如高级审计日志、集群支持、实时性能监控等,这些都是为了满足大型企业的严格要求。 7. **MuleSoft Anypoint Platform**:除了MULE...
Mule ESB 开源框架简介 Mule ESB 是一个基于 Java 的轻量级企业服务总线和集成平台,允许开发人员快速便利地连接多个应用,并支持应用间的数据交换。Mule ESB 支持集成现有系统而无论其底层采用何种技术,如 JMS、...
Mule ESB 是一个轻量级的基于java的企业服务总线和集成平台, 使得开发人员可以快速,简单的连接多个应用, 使得它们可以交换数据。 Mule ESB 容易集成现有异构系统,包括:JMS, Web Services, JDBC, HTTP, 等. ESB...
3. **灵活的部署选项**:Mule ESB支持多种部署模式,包括云部署、本地部署和混合部署,满足不同企业的IT需求。 4. **智能路由和转换**:Mule ESB内置了强大的消息路由和转换机制,可以对数据进行处理和格式转换,...
下面将从配置、服务、消息模式、端点、云连接以及构建块等方面,深入解析 Mule ESB 的核心概念和技术要点。 ### 关于 XML 配置文件 在 Mule ESB 中,XML 配置文件是定义应用程序行为的关键。它包含了组件、连接器...
### MuleESB3.0中文教程知识点梳理 #### 一、Mule ESB 3.0概述 - **定位**:Mule ESB 3.0是一款轻量级的消息框架和整合平台,旨在帮助企业轻松地集成不同的系统和服务。 - **核心特性**:基于EIP(Enterprise ...
1. **安装与配置**:教程将引导你完成Mule ESB 3.0的安装,以及如何在Mule Studio中创建新项目。 2. **创建第一个Mule应用**:从简单的HTTP监听器和响应者开始,了解如何定义流和组件。 3. **连接器使用**:学习...
通过这个源码库,读者可以实际操作这些示例,加深对Mule ESB工作原理的理解,学习如何解决实际问题,从而提升在企业集成项目中的技能。记住,理论知识和实践经验相结合是掌握复杂技术的关键。因此,仔细研究这些源码...
Mule ESB,全称Mule ...综上所述,Mule ESB是一个强大的集成工具,它简化了企业应用之间的复杂交互,提供了灵活的连接选项,支持多种通信模式,并具备高度的可扩展性和可配置性,是构建和维护分布式系统的关键组件。
总结来说,《Mule ESB 3用户指南》为用户提供了一个全面的、步骤详细的、实践导向的指导,从基础的配置、服务集成到开发、测试、文档编写和云服务集成,覆盖了使用Mule ESB进行企业级集成应用开发的各个阶段。
本教程将带您入门Mule ESB项目,通过实例学习其核心概念和操作。 首先,我们需要理解ESB的基本概念。ESB作为一个中间件,它的主要作用是提供一种松耦合的方式,使得各个系统之间可以通过标准接口进行通信,而不是...
Mule ESB应用部署 Mule ESB应用的目录结构,配置文件说明
MuleESB是一个基于Java的轻量级企业服务总线和集成平台,允许开发人员快速便利地连接多个应用,并支持应用间的数据交换。MuleESB支持集成现有系统而无论其底层采用何种技术,如JMS、WebServices、JDBC、HTTP以及其他...
MULE ESB-4.1社区版是Mulesoft为开发者提供的免费版本,它包含了基本的ESB功能,适合学习、开发和小规模项目部署。 在MULE ESB-4.1社区版中,主要包含以下几个关键组件和概念: 1. **AnyPoint Studio**: AnyPoint ...