在OpenShift上将JMS与JBoss A-MQ结合使用。 从远程客户端和加密中学到的经验教训。...
OpenShift是“紅帽開發的開放式混合云應用程序平臺”。 它具有不同的風格,對于大多數您想做的事情,最有趣的部分是公共云應用程序開發和托管平臺“ OpenShift Online ”。 您可以輕松地嘗試一下,因為在云中使用OpenShift Online是免費的,而且很容易。 它所需要的只是一個電子郵件地址 。 該免費產品允許多達三個基本的小型設備,并可以托管來自多種不同語言和框架的多達三個應用程序。 如果您需要更多,可以將您的計劃升級到付費版本。 有關更多詳細信息,請訪問在線功能比較網站 。
OpenShift上的JBoss A-MQ
Java消息服務是跨系統通信的有效方法,即使在非Java應用程序之間也是如此。 通過基于開放源代碼技術和強大的標準,RedHat OpenShift使開發人員可以輕松地將其JMS應用程序移動到云中,或編寫利用已加密Internet連接利用JMS消息的新系統。
這篇文章將介紹使用兩個主要應用程序的方法:用于托管Web應用程序的WildFly 8和用于異步消息傳遞的JBoss A-MQ 。 這兩個應用程序都可以在OpenShift的免費層中運行。
創建一個A-MQ裝備
通過將A-MQ部署到OpenShift云,您的設備將收到幾個可公開訪問的端口。 然后,客戶端系統可以使用這些遠程端口連接到您的A-MQ服務。 端點需要加密,因此不會在Internet上以純文本形式發送JMS消息。
創建A-MQ裝備的第一步是克隆現有的JBoss Fuse A-MQ墨盒。 對于那些對墨盒管理感興趣的人,可以查看有關該墨盒的完整詳細信息 。 (注意:如果您正在尋找帶有ActiveMQ的上游墨盒, 請查看此博客。 )
rhc create-app amq http://is.gd/Q5ihum創建后,該齒輪會提供三個重要的信息:
—–BEGIN證書-
…
-結束證書-
在OpenShift上管理加密
客戶端和您的OpenShift設備之間的區別在于OpenShift需要私鑰。 如果需要更改密鑰,則密鑰庫文件為FILENAME。 如果更改密鑰,則客戶端必須具有公共密鑰,然后他們才能信任它。 如果更改鍵,則必須重新啟動齒輪。 如果您在創建齒輪時忘記了復制證書,而您更改了密鑰庫并需要提取證書,請使用以下命令:
keytool -list -keystore ~/jboss-amq/jboss-a-mq-6.1.0.redhat-378/etc/keystore.jks keytool -exportcert -alias (whatever it says) -keystore -file openshiftamq.cer使用SFTP客戶端下載openshiftamq.cer文件并配置客戶端。
在客戶端上管理加密
客戶遠程通訊
使用OpenShift保險絲A-MQ裝置的好處之一是可以暴露多個外部端口。 因此,無需使用rhc port-forward命令即可使用A-MQ服務。 A-MQ客戶的URL如下所示:
ssl://gearname-YourDomain.rhcloud.com:PORT- 齒輪名-管理控制臺中齒輪的名稱。
- YourDomain –您的標準OpenShift域。
- PORT –創建盒帶時提供的數字端口號。
使用上面的ConnectionFactory代碼配置客戶端。
OpenShift Gear中的其他ActiveMQ配置
您的OpenShift實例中提供了標準A-MQ實例的許多配置選項。 為此的配置文件是:
~/jboss-amq/jboss-a-mq-6.1.0.redhat-78/etc/activemq.xml有一些警告。 即,您可以更改<transportConnector />的協議,但不能更改IP或端口。 這些端口由您的OpenShift Gear控制,并且實際上是外部區域唯一允許的端口。
防止齒輪空轉
OpenShift被設計為資源共享系統,并且空閑資源實際上將進入睡眠狀態,直到被訪問為止。 JMS在OpenShift上造成了一個特殊的問題,即如果它處于空閑狀態,則連接將不起作用,新客戶端也無法連接。
為防止這種情況,請自動執行一個腳本,該腳本會定期與JBoss Fuse Web控制臺進行交互,或者始終保持至少一個客戶端與您的A-MQ連接。
翻譯自: https://www.javacodegeeks.com/2014/11/jms-with-jboss-a-mq-on-openshift-lessons-learned-about-remote-clients-and-encryption.html
總結
以上是生活随笔為你收集整理的在OpenShift上将JMS与JBoss A-MQ结合使用。 从远程客户端和加密中学到的经验教训。...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java,Scala,Guava和Tro
- 下一篇: 电脑里的内存条在哪(电脑里的内存条在哪里