日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/9/27 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过MULE集成服务的几种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

6. 配置模式

Mule 3.0版本提供了“pattern”的機制。Pattern總結了實際使用過程中的常見場景,以簡化的服務配置方式提供。

6.1 簡單服務模式(simple service pattern)

簡單服務模式用于簡化同步服務調用的配置,對應消息傳遞方式中的請求-響應方式。

圖 簡單服務模式

簡單服務模式通過simple-service 元素配置,主要的元素屬性包括:

屬性說明
address服務監聽的地址,如vm:in
component-classComponent的實現類
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元素配置,主要屬性包括:

屬性說明
inboundAddressMule對外提供的地址
outboundAddressWeb 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集成服务的几种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。