JMS(Java Message Service),即Java消息服務,是Java平臺上有關面向消�中間�的技術規(guī)�,它便于消息系統(tǒng)中的Java應用程序進行消息交換,并且通過提供標準的產(chǎn)�、發(fā)�、接收消息的接口簡化企業(yè)應用的開�(fā)。JMS是一個與具體平臺無關的API,絕大多�(shù)MOM提供商都對JMS提供支持�
JMS是一個由AS提供的Message服務。它能接受消息產(chǎn)生�(Message Provider)所�(fā)出的消息,并把消息轉�(fā)給消息消費�(Message Consumer)�
JMS是一種與廠商無關� API,用來訪問消息收�(fā)系統(tǒng)。它類似� JDBC(Java Database Connectivity):這里,JDBC 是可以用來訪問許多不同關系數(shù)�(jù)庫的 API,� JMS 則提供同樣與廠商無關的訪問方�,以訪問消息收發(fā)服務。許多廠商目前都支持 JMS,包� IBM � MQSeries、BEA� Weblogic JMS service� Progress � SonicMQ,這只是幾個例�� JMS 使您能夠通過消息收發(fā)服務(有時稱為消息中介程序或路由器)從一� JMS 客戶機向另一� JMS客戶機發(fā)送消息。消息是 JMS 中的一種類型對�,由兩部分組成:報頭和消息主體。報頭由路由信息以及有關該消息的元數(shù)�(jù)組成。消息主體則攜帶著應用程序的�(shù)�(jù)或有效負�。根�(jù)有效負載的類型來劃分,可以將消息分為幾種類型,它們分別攜帶:簡單文本 (TextMessage)、可序列化的對象 (ObjectMessage)、屬性集� (MapMessage)、字節(jié)� (BytesMessage)、原始值流 (StreamMessage),還有無有效負載的消� (Message)�
Java消息服務是一個在 Java標準化組織(JCP)內(nèi)開發(fā)的標準(代號JSR 914��2001�6�25日,Java消息服務�(fā)布JMS 1.0.2b�2002�3�18日Java消息服務�(fā)� 1.1,統(tǒng)一了消息域�
JMS是用于和面向消息的中間件相互通信的應用程序接�。它既支持點對點(point-to-point)的域,又支持�(fā)�/訂閱(publish/subscribe)類型的域,并且提供對下列類型的支持:�(jīng)認可的消息傳�,事務型消息的傳遞,一致性消息和具有持久性的訂閱者支�。JMS還提供了另一種方式來對您的應用與舊的后臺系統(tǒng)相集��
●Session 接口(會話)
表示一個單線程的上下文,用于發(fā)送和接收消息。由于會話是單線程的,所以消息是連續(xù)�,就是說消息是按照發(fā)送的順序一個一個接收的。會話的好處是它支持事務。如果用戶選擇了事務支持,會話上下文將保存一組消�,直到事務被提交才發(fā)送這些消息。在提交事務之前,用戶可以使用回滾操作取消這些消息。一個會話允許用戶創(chuàng)建消息生�(chǎn)者來�(fā)送消�,創(chuàng)建消息消費者來接收消息�
●MessageConsumer 接口(消息消費者)
由會話創(chuàng)建的對象,用于接收發(fā)送到目標的消�。消費者可以同步地(阻塞模式),或異步(非阻塞)接收隊列和主題類型的消��
●MessageProducer 接口(消息生�(chǎn)者)
由會話創(chuàng)建的對象,用于發(fā)送消息到目標。用戶可以創(chuàng)建某個目標的�(fā)送�,也可以�(chuàng)建一個通用的發(fā)送�,在�(fā)送消息時指定目標�
●Message 接口(消息)
是在消費者和生產(chǎn)者之間傳送的對象,也就是說從一個應用程序創(chuàng)送到另一個應用程�。一個消息有三個主要部分:
消息頭(必須):包含用于識別和為消息尋找路由的操作設��
一組消息屬性(可選):包含額外的屬性,支持其他提供者和用戶的兼�??梢�?chuàng)建定制的字段和過濾器(消息選擇器��
一個消息體(可選):允許用戶創(chuàng)建五種類型的消息(文本消息,映射消息,字節(jié)消息,流消息和對象消息)�
消息接口非常靈活,并提供了許多方式來定制消息的內(nèi)容�
●Destination 接口(目標)
目標是一個包裝了消息目標標識符的被管對象,消息目標是指消息發(fā)布和接收的地點,或者是隊列,或者是主題。JMS管理員創(chuàng)建這些對象,然后用戶通過JNDI�(fā)�(xiàn)它�。和連接工廠一樣,管理員可以創(chuàng)建兩種類型的目標,點對點模型的隊�,以及發(fā)布者/訂閱者模型的主題�
●ConnectionFactory 接口(連接工廠�
用戶用來�(chuàng)建到JMS提供者的連接的被管對�。JMS客戶通過可移植的接口訪問連接,這樣當下層的實現(xiàn)改變時,代碼不需要進行修改� 管理員在JNDI名字空間中配置連接工廠,這樣,JMS客戶才能夠查找到它們。根�(jù)消息類型的不�,用戶將使用隊列連接工廠,或者主題連接工廠�
●Connection 接口(連接�
連接代表了應用程序和消息服務器之間的通信鏈路。在獲得了連接工廠�,就可以�(chuàng)建一個與JMS提供者的連接。根�(jù)不同的連接類型,連接允許用戶�(chuàng)建會�,以�(fā)送和接收隊列和主題到目標�
JMS有以下元素組��
●JMS提供�
連接面向消息中間件的,JMS接口的一個實�(xiàn)。提供者可以是Java平臺的JMS實現(xiàn),也可以是非Java平臺的面向消息中間件的適配器�
●JMS客戶
生產(chǎn)或消費消息的基于Java的應用程序或對象�
●JMS生產(chǎn)�
�(chuàng)建并�(fā)送消息的JMS客戶�
●JMS消費�
接收消息的JMS客戶�
●JMS消息
包括可以在JMS客戶之間傳遞的數(shù)�(jù)的對�
●JMS隊列
一個容納那些被�(fā)送的等待閱讀的消息的區(qū)�。隊列暗�,這些消息將按照順序發(fā)送。一旦一個消息被閱讀,該消息將被從隊列中移走�
●JMS主題
一種支持發(fā)送消息給多個訂閱者的機制�
維庫電子�,電子知�,一查百��
已收錄詞�168806�