【正文】
和異步兩種接收模式持久訂閱對于持久訂閱者,當它和SynchroMQ斷開,它所訂閱的消息依然由SynchroMQ保留,當它再次連接后,這些消息又會發(fā)送給它層次性主題支持發(fā)布者一次對多個主題發(fā)布消息以及訂閱者可以一次訂閱多個主題本地事務(wù)支持可以將若干發(fā)送和接收的消息作為一個邏輯單元進行提交或者回滾操作消息過濾訂閱者可以采用SQL92語法對消息進行過濾,SynchroMQ保證只發(fā)送他所感興趣的消息支持非阻塞IO非阻塞網(wǎng)絡(luò)IO可以使SynchroMQ僅使用少量線程就可以支持數(shù)以千計的并發(fā)網(wǎng)絡(luò)連接,使系統(tǒng)具有無限的伸縮性,非常適合于大規(guī)模的消息應(yīng)用數(shù)據(jù)庫存儲支持和JDBC數(shù)據(jù)庫連接池支持Oracle、Sybase、DBSQL Server、MySQL、HSQLDB等所有提供JDBC連接的大中小型數(shù)據(jù)庫。消息發(fā)布者可以使用類似SQL語言中的通配符實現(xiàn)一次對多個主題發(fā)布消息以及訂閱者可以一次訂閱多個主題,例如“.%ball”。采用聯(lián)邦集群和動態(tài)路由技術(shù),支持在Internet范圍內(nèi)的部署和應(yīng)用。當服務(wù)器故障恢復(fù)或者重新啟動后消息能繼續(xù)完成傳輸,并且實現(xiàn)消息傳輸一次且僅有一次(Once and only once)的語義;對于SynchroMQ服務(wù)器所組成的聯(lián)邦式虛擬網(wǎng)絡(luò),其中的任一節(jié)點的失效不會導(dǎo)致整個系統(tǒng)的失效,具有良好的容錯性。SynchroMQ ,完全實現(xiàn)了SUN的JMS接口規(guī)范(Java Message Service API),為開發(fā)和部署消息應(yīng)用提供了所有必須的特性,包括了分布式系統(tǒng)的關(guān)鍵服務(wù)的支持,例如事務(wù)和可靠消息傳輸,為開發(fā)者屏蔽了底層的網(wǎng)絡(luò)通信細節(jié),提供了標準、易用的編程接口,極大的減少了開發(fā)Internet/Intranet應(yīng)用所花費的時間和費用。為了最大限度的提高系統(tǒng)的靈活性,用戶可以將服務(wù)器節(jié)點組成任意拓撲結(jié)構(gòu)的虛擬網(wǎng)絡(luò),即使有環(huán)路也不會對路由有任何影響。此外還在安全、層次性主題、聯(lián)邦網(wǎng)絡(luò)、管理以及系統(tǒng)的高擴展性方面做了很多的擴展。使用HTTP隧道技術(shù)穿透防火墻SynchroMQ通過HTTP隧道技術(shù)實現(xiàn)了防火墻內(nèi)的客戶與服務(wù)器的連接以及防火墻內(nèi)外的服務(wù)器之間的連接,僅需非常簡單的設(shè)置,HTTP隧道即可自動建立。數(shù)據(jù)庫連接池支持動態(tài)建立和去除連接,極大的提高了數(shù)據(jù)庫資源的利用率和訪問效率。一個主題可以定義成