EMS server Tibco
http://www.cnblogs.com/jackson-ou/archive/2008/12/30/1365382.html
Note: From Tibco EMS Server document
1. Message Model
Point-to-Point模式(queue):每個(gè)Message僅有一個(gè)生產(chǎn)者和一個(gè)消費(fèi)者。每個(gè)Queue可以有多個(gè)生產(chǎn)者和多個(gè)消費(fèi)者。Queue可以被聲明具有排它性。具有排它性Queue中的消息只能被第一個(gè)消費(fèi)者獲取。不論是否具有排它性,消息被某個(gè)消費(fèi)者獲取后,會(huì)從Queue中刪除。
Publish and Subscribe模式(topic):每個(gè)Message可以擁有若干生產(chǎn)者和若干個(gè)消費(fèi)者。消費(fèi)者根據(jù)訂閱關(guān)系獲取topic中的消息。EMS API允許持久性的訂閱者,消息會(huì)為這些持久性訂閱者所保存。
2. Destination
對(duì)Message Model功能的提升,主要特征包括:
a.通過secure模式提供queue, topic層面的訪問控制,參考secure mode and Destination Control
b.設(shè)置queue, topic占用內(nèi)存空間的約束,參考flowControl and overflowPolicy
c.路由消息到Destination,參考Working With Routes
d.通過在Destinatin之間創(chuàng)建bridge,建立混合型Message Model
e. 控制Message發(fā)送到Destination的速度,參考Flow Control
g. 與其他Message Service交換消息,如queue能夠從Tibco Rendezvous, SmartSockets接收消息,topic能夠與Tibco Rendezvous, SmartSockets雙向交換消息
h. queue可被設(shè)置為具有exclusive或者non-exclusive,參考exclusive
i. queue在可以設(shè)置redelivery policy,參考maxRedelivery
j. 跟蹤,日志消息到Destination的傳送過程,參考trace
k.在消息中包含user name,參考sender name and sender name enforced
l. 在Destination name上支持Wildcards
m.在topic, queue上設(shè)置failsafe屬性,用于把消息同步保存到硬盤上
n. 設(shè)置消費(fèi)者在后臺(tái)批量接受消息以提供性能,或者設(shè)置queue的消息一次只接收一個(gè)消息,參考prefetch
3. Client API
?提供基于java, .net,COBOL的API。示例代碼位于安裝目錄的samples子目錄。EMS同時(shí)提供了Java類用于純粹的Java TIBCO Rendezvous Application來連接EMS Server。
4. Administration
?EMS提供了針對(duì)Server Operation, Server Object(如ConnectionFactories, Destinations)的管理機(jī)制。這些管理功能可以通過Administration Tool的命令行工具實(shí)現(xiàn),也可以通過管理API實(shí)現(xiàn)。EMS Client可以通過JNDI來獲取Server Object的引用。
管理Server功能:使用Configuration Files, EMS Administration Tool, Authentication and Permissions, Monitor Server Activity(包含Server Activity信息的日志文件,發(fā)布關(guān)于systemevent Message到Topic中便于對(duì)Server的監(jiān)控,對(duì)不同層次細(xì)節(jié)的統(tǒng)計(jì)分析)。
EMS提供對(duì)user, groups的本地化管理,也可以通過外部的LDAP來統(tǒng)一。TIBCO Hawk提供了對(duì)EMS Server的管理和監(jiān)控。EMS Server支持SSL協(xié)議,用于Client-Server,
Server-Server間的安全通信。支持backup EMS Server,實(shí)現(xiàn)了Fault Tolerance。EMS提供了Server-Server間的消息路由。Topic消息可以在任意多個(gè)hop間傳遞,Queue消息最多在一個(gè)hop間傳遞。EMS支持消息的存儲(chǔ)轉(zhuǎn)發(fā)。
=======
weblogic與MQ的集成方案大致有兩種:
一是將MQ配置為weblogic的外部JMS服務(wù)器(foreign JMS server),第二種是weblogic的消息橋(messaging bridge)
http://www.360doc.com/content/10/1129/16/4810544_73459234.shtml
3.3.集成到Weblogic
其實(shí)這部分的工作,沒多少難度,就是配置比較繁瑣,開始吧:
3.3.1.創(chuàng)建外部JMS服務(wù)器(foreign JMS server)
啟動(dòng)weblogic,登陸控制臺(tái),展開domain->服務(wù)->消息傳遞->JMS模塊。
選擇新建一個(gè)JMS模塊JMSModule_MQ:
圖3.3.1:創(chuàng)建JMS模塊
選擇一個(gè)server:
圖3.3.2:創(chuàng)建JMS模塊2
在剛才的模塊創(chuàng)建一個(gè)資源,類型為外部服務(wù)器(foreign server)名為ForeignServer_JMS:
圖3.3.3:創(chuàng)建模塊資源--外部服務(wù)器
圖3.3.4:創(chuàng)建模塊資源--外部服務(wù)器2
外部服務(wù)器JND配置
圖3.3.5:JNDI參數(shù)
在外部服務(wù)器創(chuàng)建兩個(gè)目標(biāo):
圖3.3.6:兩個(gè)目標(biāo)
及兩個(gè)連接工廠:
圖3.3.7:兩個(gè)連接工廠
配置完之后,當(dāng)然要寫一個(gè)MDB測(cè)試一下:
消息驅(qū)動(dòng)bean代碼如下:
Java代碼
部署文件如下:
Xml代碼
打包并發(fā)布到weblogic。
現(xiàn)在測(cè)試一下:
在MQ管理器中,在application隊(duì)列放入一個(gè)消息:
圖3.3.8.放入測(cè)試消息
如果所有配置正確,則MDB->MQTestBean2會(huì)接收到剛剛放入的消息,并進(jìn)行處理,然后放到approval隊(duì)列:
圖3.3.9.weblogic服務(wù)器輸出(netbeans控制臺(tái))
之后我們可以再到MQ管理器查看approval隊(duì)列,可以看到MDB處理后的消息:
圖3.3.10.到approval隊(duì)列查看處理后的消息
OK,至此,我們成功地將MQ無縫地集成到了weblogic上,使部署在weblogic上的MDB可以像使用原生的JMS一樣操控MQ隊(duì)列了。
?
總結(jié)
以上是生活随笔為你收集整理的EMS server Tibco的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Weblogic下创建JMS消息服务
- 下一篇: 在Spring中使用JMS