Java 聯結器體系結構(JCA)
我們首先澄清一些術語:
- 出站訊息是訊息從伺服器啟動的位置(更準確地說,它是從你在伺服器上的應用程式啟動的,在本例中為
WebSphere Liberty
)並在 EIS 結束。 - 入站訊息傳遞是從 EIS 開始並在伺服器端結束的訊息。
- 訊息端點通常是訊息在其生命週期的特定階段最終收到/接收的位置。
http://i.stack.imgur.com/DHV1M.gif
因此,對於出站連線,我們指的是應用程式獲得與外部 EIS 的連線並向其讀取或寫入資料的情況。對於入站連線,我們指的是資源介面卡(RA)偵聽來自外部 EIS 的事件並在發生此類事件時呼叫應用程式的情況。
出境 RA 的例證
入境 RA 的例證
JCA 中 MessageEndPoint 的含義是什麼?
應用程式伺服器(例如:WebSphere Liberty
)提供訊息端點 MBean,以幫助你管理訊息傳遞到訊息驅動 Bean,這些 bean 充當作為目標的特定端點上的偵聽器,以及管理所使用的 EIS 資源通過這些訊息驅動的 bean。部署為訊息端點的訊息驅動 Bean 與針對偵聽器埠配置的訊息驅動 Bean 不同。必須使用在 JCA 的 RA 配置(在 ra.xml
檔案中找到)中定義的 ActivationSpecification
來部署用作訊息端點的訊息驅動 Bean。
啟用 MessageEndPoint 是什麼意思?
使用訊息端點 MBean,你可以啟用和停用應用程式中的特定端點,以確保僅將訊息傳遞給與健康 EIS 資源互動的偵聽訊息驅動 Bean。此功能允許你在 EIS 資源未按預期執行的情況下優化 JMS 應用程式的效能。當正在偵聽的訊息驅動 Bean 呼叫針對不健康資源的操作時,向端點的訊息傳遞通常會失敗。例如,訊息傳遞提供程式(它是符合 JCA 的入站資源介面卡)在其基礎訊息驅動 Bean 嘗試針對未響應的資料庫伺服器提交事務時,可能無法將訊息傳遞到端點。
MessageEndPoint 需要是一個 bean 嗎?
這應該。否則,你將通過建立自己的非傳統方式來完成一個大麻煩,這些方法首先打破了遵循 Java EE 規範的目的。設計訊息驅動的 bean 以將業務處理委託給其他企業 bean。不要直接在訊息驅動的 bean 中訪問 EIS 資源,而是通過委託 bean 間接訪問。
你能展示一些關於工作/部署 MessageEndPoint 的簡單例子嗎?
檢查我在下面提到的第二個資源是否有用。