我們正在設計一個應用程序,其中MDB將拾取傳入消息並執行一系列任務。MDB的Java EE設計模式
一些是像XML驗證功能和一些像例如日誌記錄,MIS條目等方面
編輯:
消息類型可基於功能,如訂貨或不同提高故障或信息服務,如郵政編碼查詢。這些對於調用者也不同,因此調用者A的命令與B不同,但大多數XML結構應該是相同的。
每個人都會經歷功能單元的工作,例如驗證發件人,驗證產品代碼(如果下訂單),安全檢查(基於IP),註冊到我們的數據庫(如果有效),錯誤隊列如果沒有,等等。
我的問題是,因爲我們想要使功能位模塊化,以便我們可以根據消息的類型構建一個執行功能A,B,C和另一個MDB的MDB以執行B,C,D等操作它是 - 並基於哪些任務在所有消息類型中是通用的。
我應該使用什麼樣的設計模式?
其次,是對我有辦法在一個XML文件來配置這些功能,使MDB讀取XML,看看哪些功能是必須執行和按什麼順序?這是將Helper POJO或Session Beans中的模塊與主MDB鏈接的模塊的替代方法,這是我們目前認爲的。
這聽起來對我們想要做的事非常有吸引力,是否會對多個內部轉發隊列產生任何性能影響?是否有任何參考文件可以讓我指點? 「 – shinynewbike
」會建議允許MDB接收消息,然後可以使用其他模式(命令,策略,工廠等)來完成實際工作。「 - 我把這個問題看作是預設的;我認爲問題是* MDB如何獲得其他對象來完成這項工作,而不必將調度邏輯構建到MDB中。 –
@Tom Anderson:這個問題真的有點兒。今天,我們堅持使用重MDB來完成所有業務任務 - 這些設計爲兩個MDB來處理MessageTypeA和MessageTypeB,當添加新功能時,這顯然是不可擴展的,因爲兩者都必須處理。 問題是A)我應該在運行時使用哪種設計模式來選擇合適的處理方法(策略/命令是我的更好工作方式)和B)如何使用MDB中的最小邏輯進行配置和更多的配置文件。 – shinynewbike