準則: 設計訊息驅動 Bean
這個準則討論如何設計 J2EE 應用程式的訊息驅動 Bean。
關係
相關元素
主要說明

簡介

這個準則以設計訊息驅動 Bean 為重點。有關訊息驅動 Bean 的其他指引,例如,如何指定和塑造,請參閱工作成果準則:訊息驅動 Bean工作成果準則:Enterprise JavaBeans (EJB) 提供 EJB 的一般指引。

請注意,因為訊息驅動 Bean 是透過訊息來間接呼叫,不是透過介面操作來直接呼叫,設計時需要詳述訊息格式和描述行為來回應訊息,而非詳述介面操作。

交易

使用傳訊的一項限制是訊息的生產者和消費者(訊息驅動 Bean)不能參與相同的交易。生產者可以利用交易將訊息放入佇列中,訊息驅動 Bean 可以利用另外一個交易來確認消耗訊息的結果,但兩者必須是不同的交易。

訊息驅動 Bean 可以利用 Bean 管理的或儲存區管理的交易。儲存區管理的交易通常較簡單,應該優先採用。如需其他指引,請參閱技術:設計 Enterprise JavaBeans (EJB)

訊息順序

每一個訊息驅動 Bean 都是可能有多個實例的主動類別。因為每一個訊息驅動 Bean 實例會同時執行,處理一個實例收到的訊息可能在另一個實例處理的訊息之前或之後完成。

這表示消耗訊息的順序和產生訊息的順序不一定相同。訊息驅動 Bean 的設計必須考量這種可能性。