企業(yè)版已經(jīng)開(kāi)始關(guān)注分布式應(yīng)用程序開(kāi)發(fā)。因此,我們需要在分布式應(yīng)用程序之間進(jìn)行通信。在現(xiàn)有應(yīng)用程序中很難組合通信。因此,引入了JMS。JMS允許web組件、應(yīng)用程序客戶(hù)端和JMS應(yīng)用程序之間的通信。此外,異步消息傳遞允許兩個(gè)應(yīng)用程序之間進(jìn)行通信,而無(wú)需硬連線(xiàn)。想對(duì)JMS有更一步的了解,可以參加java培訓(xùn),幫助你獲得更全面的認(rèn)識(shí)。
考慮到這一點(diǎn),JMS是異步的。為什么JMS是異步的?
首先,讓我們確定異步和同步方法調(diào)用之間的區(qū)別。
在異步方法調(diào)用中,在方法執(zhí)行完成之前將響應(yīng)發(fā)送回用戶(hù)。這在長(zhǎng)時(shí)間運(yùn)行或后臺(tái)進(jìn)程中非常有用,因?yàn)樗鼈冃枰^長(zhǎng)的時(shí)間。當(dāng)響應(yīng)被發(fā)送回用戶(hù)時(shí),用戶(hù)可以執(zhí)行另一個(gè)任務(wù)。另一方面,該方法可以完成其執(zhí)行。
可以將異步方法視為打印機(jī)制。在打印過(guò)程中,打印機(jī)將繼續(xù)打印,用戶(hù)可以在PC上執(zhí)行其他任務(wù)。
在同步方法中,響應(yīng)在方法完全完成時(shí)發(fā)送回用戶(hù)。
在接收者收到消息之前,發(fā)送者不會(huì)停止他們的工作。在異步消息的幫助下,發(fā)送者發(fā)送一條消息并繼續(xù)他/她的工作。在java培訓(xùn)中,有很多關(guān)于JMS的課程,在老師的教學(xué)指導(dǎo)下,你可以快速掌握這些知識(shí)和技能。
JMS操作
我們可以在JMS中執(zhí)行以下任務(wù):1) 創(chuàng)建消息;2) 發(fā)送消息;3) 接收消息;4) 閱讀信息。
JMS的類(lèi)型
1) 點(diǎn)對(duì)點(diǎn)(一對(duì)一)
在點(diǎn)對(duì)點(diǎn)消息bean中,我們有一個(gè)發(fā)送方和一個(gè)接收方。它類(lèi)似于移動(dòng)設(shè)備中的個(gè)人聊天,但這種消息傳遞是在組件之間進(jìn)行的。當(dāng)發(fā)送方發(fā)送消息時(shí),如果有多條消息,則它必須在隊(duì)列中等待。一旦它到達(dá)接收者,接收者就可以使用它并確認(rèn)它。
2) 發(fā)布/訂閱服務(wù)器(一對(duì)多)
發(fā)布/訂閱與Netflix類(lèi)似。對(duì)于Netflix,我們有一個(gè)提供商(發(fā)送方)和多個(gè)消費(fèi)者(接收方)。許多用戶(hù)可以訂閱Netflix并觀看由Netflix上傳的電視節(jié)目或電影。這與發(fā)布/訂閱服務(wù)器的方式相同;第一個(gè)組件需要訂閱。訂閱后,組件可以使用和確認(rèn)消息。如果有多條消息,則必須等待一個(gè)主題。
JMS的編程模型
對(duì)于JMS,我們需要?jiǎng)?chuàng)建連接工廠的對(duì)象。之后,我們可以創(chuàng)建一個(gè)連接對(duì)象,它允許我們創(chuàng)建一個(gè)會(huì)話(huà)對(duì)象。一旦創(chuàng)建了這三個(gè)對(duì)象,我們就可以創(chuàng)建消息發(fā)送者和消息生產(chǎn)者。參加java培訓(xùn),有理論課程+實(shí)戰(zhàn)項(xiàng)目一起學(xué)習(xí),可以獲得快速提升。