Java应用程序中的消息传递主体
生活随笔
收集整理的這篇文章主要介紹了
Java应用程序中的消息传递主体
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
消息傳遞是每個Java應用程序的關(guān)鍵方面,尤其是對于涉及企業(yè)應用程序集成(EAI)或關(guān)注點分離的應用程序,例如多層WEB應用程序。
消息傳遞可以分為兩個主要類別,即同步和異步。 另一方面,使用同步消息傳遞時,對話的發(fā)起者等待重播每個提交的請求,而在異步消息傳遞中,發(fā)起者對重播不感興趣。 Java進程以同步方式進行通信的最常見,最有效的方法是通過遠程方法調(diào)用(RMI)。 異步通信主要使用Java Messaging Service(JMS)實現(xiàn)。
這篇文章提出了一種設(shè)計模式,涉及低延遲和高吞吐量應用程序的Java進程之間的異步通信。
如上所述,JMS被認為是異步應用程序消息傳遞的“事實”標準。 但是,由于涉及消息交換生命周期的內(nèi)部檢查和過程(即使對于內(nèi)存代理),JMS也會導致延遲顯著增加。 我們處理異步消息傳遞以實現(xiàn)低延遲和高吞吐量的首選方法是:
- 如果持久性是強制性的,那么最好的方法是使用JMS持久性隊列或主題
- 如果持久性不是強制性的,那么您應該實現(xiàn)異步消息傳遞,如下所示:
- 消息容器應該是一個List(最好是ArrayList實現(xiàn))或Map(最好是HashMap實現(xiàn))
- 發(fā)件人進程應使用同步塊執(zhí)行同步訪問,以將消息插入容器
- 實現(xiàn)一個接收器進程池,該池使用同步塊同步訪問消息容器并收回消息
- 消息可以以多種方式實現(xiàn),我們的首選方法是實現(xiàn)Externalizable接口的Plain Old Java Object(POJO),以便手動處理序列化過程。
翻譯自: https://www.javacodegeeks.com/2010/05/messaging-principals-in-java.html
總結(jié)
以上是生活随笔為你收集整理的Java应用程序中的消息传递主体的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何创建qq群?建立qq群的方法
- 下一篇: 混合硬盘电脑怎么选(混合硬盘系统装哪个盘