通过MULE集成服务的几种方式

简介: 6. 配置模式 Mule 3.0版本提供了“pattern”的机制。Pattern总结了实际使用过程中的常见场景,以简化的服务配置方式提供。 6.1 简单服务模式(simple service pattern) 简单服务模式用于简化同步服务调用的配置,对应消息传递方式中的请求-响应方式。 图 简单服务模式 简单服务模式通过simple-service 元素配置,主要的元素属性

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配置进行数据转换。

目录
相关文章
|
8月前
|
NoSQL Java Redis
小白版的springboot中集成mqtt服务(超级无敌详细),实现不了掐我头!!!
小白版的springboot中集成mqtt服务(超级无敌详细),实现不了掐我头!!!
|
3月前
|
存储 数据可视化 Java
基于MicrometerTracing门面和Zipkin实现集成springcloud2023的服务追踪
Sleuth将会停止维护,Sleuth最新版本也只支持springboot2。作为替代可以使用MicrometerTracing在微服务中作为服务追踪的工具。
180 1
|
4月前
|
Java Maven Windows
使用Java创建集成JACOB的HTTP服务
本文介绍了如何在Java中创建一个集成JACOB的HTTP服务,使Java应用能够调用Windows的COM组件。文章详细讲解了环境配置、动态加载JACOB DLL、创建HTTP服务器、实现IP白名单及处理HTTP请求的具体步骤,帮助读者实现Java应用与Windows系统的交互。作者拥有23年编程经验,文章来源于稀土掘金。著作权归作者所有,商业转载需授权。
使用Java创建集成JACOB的HTTP服务
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
Voice-Pro:开源AI音频处理工具,集成转录、翻译、TTS等一站式服务
Voice-Pro是一款开源的多功能音频处理工具,集成了语音转文字、文本转语音、实时翻译、YouTube视频下载和人声分离等多种功能。它支持超过100种语言,适用于教育、娱乐和商业等多个领域,为用户提供一站式的音频处理解决方案,极大地提高工作效率和音频处理的便捷性。
112 10
Voice-Pro:开源AI音频处理工具,集成转录、翻译、TTS等一站式服务
|
2月前
|
安全 测试技术 数据安全/隐私保护
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
|
3月前
|
存储 Java 开发工具
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
阿里云OSS(Object Storage Service)是一种安全、可靠且成本低廉的云存储服务,支持海量数据存储。用户可通过网络轻松存储和访问各类文件,如文本、图片、音频和视频等。使用OSS后,项目中的文件上传业务无需在服务器本地磁盘存储文件,而是直接上传至OSS,由其管理和保障数据安全。此外,介绍了OSS服务的开通流程、Bucket创建、AccessKey配置及环境变量设置,并提供了Java SDK示例代码,帮助用户快速上手。最后,展示了如何通过自定义starter简化工具类集成,实现便捷的文件上传功能。
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
|
3月前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
112 9
|
3月前
|
安全 Java 测试技术
ToB项目身份认证AD集成(二):快速搞定window server 2003部署AD域服务并支持ssl
本文详细介绍了如何搭建本地AD域控测试环境,包括安装AD域服务、测试LDAP接口及配置LDAPS的过程。通过运行自签名证书生成脚本和手动部署证书,实现安全的SSL连接,适用于ToB项目的身份认证集成。文中还提供了相关系列文章链接,便于读者深入了解AD和LDAP的基础知识。
|
5月前
|
存储 设计模式 缓存
OpenFeign集成Ribbon负载均衡-过滤和选择服务核心实现
该文章主要介绍了如何在OpenFeign中集成Ribbon以实现负载均衡,并详细分析了Ribbon中服务选择和服务过滤的核心实现过程。文章还涉及了Ribbon中负载均衡器(ILoadBalancer)和负载均衡策略(IRule)的初始化方式。
OpenFeign集成Ribbon负载均衡-过滤和选择服务核心实现
|
4月前
|
编解码 Linux 开发工具
Linux平台x86_64|aarch64架构RTMP推送|轻量级RTSP服务模块集成说明
支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0, 需安装 libstdc++.so.6.0.21、GLIBCXX_3.4.21、 CXXABI_1.3.9)。
106 0

热门文章

最新文章