We are working on an IBM WebSphere MQ application, and we use JMS API to operate the message. But we have a problem that the connection takes too much time, and we want to pool the JMS connection, for it's a standalone application, we have no application container to provide JNDI or pooling service. So is there a solution to resolve this? For JDBC we can use DBCP or c3p0 to archive pooling datasource, in JMS, is there any similar project that can pool JMS connections?
How to pool the JMS connection in a standalone Java application?
8.7k Views Asked by phyerbarte At
2
There are 2 best solutions below
0
stefan.m
On
Spring's CachingConnectionFactory works well for this use case. This answer in https://stackoverflow.com/a/31119435/1765341 explains how to do this in Tomcat, but the code there can easily be adapted for Java standalone applications. This should be much easier (and less error prone) than writing an Apache Commons Pool implementation.
Related Questions in JMS
- This method is not applicable inside the app server when trying to set a listener for a JMS queue
- How do I Serialize a JMS Message?
- How to use JMS to knows when the last message of a list has been processed
- javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory
- Not able to send message to Solace JMS Queue
- JMS Message Selector does not work
- Why is JMS messaging client unable to start, with fedora-commons 3.8.1?
- Grails JMSTemplate how to add MessageConverter to the Message Listener
- Is there a way of accessing maximum redelivery count from a JMS Message?
- Do all ActiveMQ clients need a client certificate?
- Should I consider to use JMS in my case?
- How to Produce from MQTT and consume as MQTT and JMS in ActiveMQ
- Amazon SQS - JMS vs custom implementation
- Valid "protocols" for HornetQ
- Write a Java Program to connect to HornetQ Messaging Service in Jboss EAP 6.3?
Related Questions in IBM-MQ
- ClassNotFoundException: com.ibm.mq.jms.MQConnectionFactory (Websphere MQ 7.5 + spring jms + maven tomcat 7 plugin)
- Websphere Message broker multi-instance message flow
- Getting Current hour in local time zone ESQL Message broker
- java.lang.ClassNotFoundException: com.ibm.disthub2.impl.client.SessionConfig
- WebSphere MQ connection pooling with Tomcat
- How to get information about message retrieved from queue
- GETTING SERIALIZING ERROR WHILE ASSIGNING VALUE TO THE DFDL PARSER IN ESQL
- MQ Base classes for Java :- intermittent mqrc 2128 :UoW is already in progress
- Code after readObject() does not run
- IBM.XMS ConnectionFactory.CreateConnection: CompCode: 2, Reason: 2035
- Number of messages flowed through queue
- IBM MQ: CWSMQ0082E: Failed to send to CompCode: 2, Reason: 2017
- Creating and Configuring Websphere MQ for Oracle SOA MQ Series Adapter
- WebSphere MQ - error running runivt on fresh install
- Use of java in WMQ/WMB systems
Related Questions in MQ
- mq_timedsend() returns error 14 "bad address"
- Use of java in WMQ/WMB systems
- Best way to handle events in ecommerce store
- When process is a Messaging channel agent in Message channel, what's the MCA in MQI channels.?
- Command to alter the listener port in websphere MQ
- IIB SOAP Service CDATA element to MQ
- IIB SOAP Input to MQ
- MQ connection with Java - application design
- Does WAS 8.5.5 support prior version of WMQ?
- Connecting to IBM MQ over SSL via .net client
- Number of JMS listeners on MQ
- What is the difference between the .Kdb file, the .jks file, and the CMS file?
- What is the best way to pass XML files (of size 500-600 KB) as Kafka messages?
- How to get the squareroot of int* in C taken from mq_timedreceive
- The type com.ibm.mq.MQException cannot be resolved. It is indirectly referenced from required .class files
Related Questions in POOLING
- Predicting with plm function in R
- PoolingHttpClientConnectionManager allows only limited connection to the host at a time
- Hashcode of String new () objects showing same values
- AutoCommit did not work with jOOQ 2.6.1 and Tomcat pooling
- LSTM Followed by Mean Pooling (TensorFlow)
- How to fix 'The timeout period elapsed' error C#.net
- Pooling frequencies after multiple imputation in SAS
- How to pool the JMS connection in a standalone Java application?
- C# How to "verify" that new connections are actually getting reused from connection pool
- What is good way of implementing an object pool in Camel
- hikaricp get number of busy connection
- difference between HikariPool and HikariDatasource
- Google App Engine php mysql connection optimization
- Can I forbid method to cache passed argument?
- Placing a method in a timer to slow it down for Emotiv Epoc
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
It used to be that the JMS MQConnectionFactory had pooling built in, but it seems that in version 7, it has been removed.
In the absence of anything else, you can use Apache Commons Pool. Same idea as DBCP (which uses Pool) but for non JDBC objects.