mule 3.0版本提供了「pattern」的機制。pattern總結了實際使用過程中的常見場景,以簡化的服務配置方式提供。
6.1 簡單服務模式(****** service pattern)
簡單服務模式用於簡化同步服務呼叫的配置,對應訊息傳遞方式中的請求-響應方式。
圖 簡單服務模式
簡單服務模式通過******-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
**示例:
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: 不使用事務
**示例:
mule在接入、接出的過程中可以做額外的處理,比如增加transformer配置進行資料轉換。如果使用事務控制,對於異構的協議之間的事務需要有支援xa的事務控制器。
6.3 校驗器模式(validator pattern)
校驗器模式通過定義乙個校驗過濾器過濾服務請求,並同步返回ack(acknowledge)或nack(not acknowledge)結果。通過校驗的服務請求被非同步分發給處理方。
圖 校驗器模式
校驗器模式通過validator元素配置,主要屬性包括:
屬性說明
inboundaddress
服務請求接入位址
outboundaddress
服務接出位址
ackexpression
表示式,用於構建服務請求被接收時的資訊
nackexpression
表示式,用於構建服務請求被拒絕時的資訊
errorexpression
@since 3.0.1
表示式,用於構建在服務請求分發出錯時的資訊
validationfilter-ref
過濾器的引用,也可以使用子元素指定
用於確定服務請求是否被接收
**示例:
注: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的實際位址
**示例:
mule在**的過程中可以做額外的處理,比如增加transformer配置進行資料轉換。MULE ESB配置模式
mule 3.0版本提供了 pattern 的機制。pattern總結了實際使用過程中的常見場景,以簡化的服務配置方式提供。6.1 簡單服務模式 service pattern 簡單服務模式用於簡化同步服務呼叫的配置,對應訊息傳遞方式中的請求 響應方式。圖 簡單服務模式 簡單服務模式通過 servi...
Spring工程的通用配置模式(二)
spring的很多子專案都涉及到配置。在這些專案中,存在乙個較為通用的配置模式,了解該模式有助於我們更好地理解框架。本文將對這一模式進行介紹。我們會以spring web mvc框架介紹,之後再結合其他相似的專案進行總結。configuration enablewebmvc import通常用於引入...
配置LVS NAT模式
三颱伺服器,一台作為 director,兩台作為 real server,director 有乙個外網網絡卡 192.168.0.186 和乙個內網ip 172.16.0.8 兩個 real server 上只有內網 ip 172.16.0.20 和 172.16.0.21 並且需要把兩個 real...