我們正在研究IBM WebSphere MQ應用程序,並且我們使用JMS API來操作消息。但是我們有一個問題,就是連接需要花費太多時間,我們想要集中JMS連接,因爲它是一個獨立的應用程序,我們沒有應用程序容器來提供JNDI或池服務。那麼是否有解決方案來解決這個問題?對於JDBC,我們可以使用DBCP或c3p0歸檔池中的數據源,在JMS中,是否有任何類似的項目可以池化JMS連接?如何在獨立Java應用程序中池化JMS連接?
4
A
回答
5
它曾經是JMS MQConnectionFactory內置了池,但似乎在版本7中,它已被刪除。
在早期版本的WebSphere MQ JMS中設置ConnectionPooling的使用。此方法保留與舊版MQJMS應用程序 兼容,但由於此連接池 功能已從版本7中刪除,因此設置此屬性 將不起作用。
在沒有其他的情況下,您可以使用Apache Commons Pool。 DBCP(使用Pool)的想法與非JDBC對象相同。
0
Spring的CachingConnectionFactory適用於這種用例。 https://stackoverflow.com/a/31119435/1765341中的這個答案解釋瞭如何在Tomcat中執行此操作,但是那裏的代碼可以很容易地適用於Java獨立應用程序。與編寫Apache Commons Pool實現相比,這應該更容易(也更不容易出錯)。
相關問題
- 1. 獨立客戶端中的JMS連接
- 2. 用java獨立應用連接到BlazeDS
- 3. 如何使用DB連接配置「獨立」.NET應用程序?
- 4. 在獨立應用程序中釋放數據庫連接
- 5. 將獨立Java程序連接到WildFly服務器上的JMS時出錯
- 6. 在應用程序池回收後建立ODBC連接
- 7. 小應用程序中的連接池
- 8. 在java命令行應用程序中創建連接池
- 9. 如何在java獨立應用程序中加載hibernate.cfg.xml文件
- 10. JPA:如何在獨立Java應用程序中保留ID後
- 11. 獨立Java程序中的BoneCP連接重用
- 12. 獨立的Spring + Java + JMS
- 13. 用Java創建獨立應用程序
- 14. websphere jms連接池共享
- 15. JMS連接和會話池
- 16. 如何從Java執行完全獨立的應用程序。像獨立進程
- 17. 處理獨立應用程序中的數據庫連接
- 18. javafx獨立應用程序中的RMI連接
- 19. 獨立應用程序的國際化
- 20. Java:建立套接字連接池
- 21. JMS連接池或會話池
- 22. Java池連接優化
- 23. 創建獨立的Java應用程序
- 24. spark-java獨立應用程序
- 25. 集羣Java獨立應用程序
- 26. 獨立戰爭/ java web應用程序
- 27. Java獨立客戶端應用程序
- 28. Java獨立攝像頭應用程序
- 29. 基於Java的獨立應用程序
- 30. 無法創建從獨立Java應用程序到JBoss AS 7消息隊列的JMS連接
似乎Apache Commons Pool是我可能的方法。謝謝。 – phyerbarte
謝謝,我曾嘗試過spring'CachingConnectionFactory',但它失敗了。但是,當我們使用wmq版本6時,我會嘗試本地池 - 'setUseConnectionPooling(true)' – vikingsteve