Java IBM MQ MQQueueManager&;连接池
我正在从内部web服务JavaWeb服务与IBMMQ集成。我有点不确定是应该为每个线程创建一个MQQueueManager实例,还是为所有请求线程创建一个实例?MQQueueManager是线程安全的吗?我“认为”MQQueueManager的一个实例代表到MQ的一个连接Java IBM MQ MQQueueManager&;连接池,java,ibm-mq,connection-pooling,Java,Ibm Mq,Connection Pooling,我正在从内部web服务JavaWeb服务与IBMMQ集成。我有点不确定是应该为每个线程创建一个MQQueueManager实例,还是为所有请求线程创建一个实例?MQQueueManager是线程安全的吗?我“认为”MQQueueManager的一个实例代表到MQ的一个连接 我还应该配置自己的连接池还是使用默认。。。默认池与配置池之间有什么区别吗?它是同步的且线程安全的。就连接池而言,这只会创建一个到WebSphereMQ的连接。一个线程一次可以访问它,希望一个线程可以促进您心中的“连接”。这意味
我还应该配置自己的连接池还是使用默认。。。默认池与配置池之间有什么区别吗?它是同步的且线程安全的。就连接池而言,这只会创建一个到WebSphereMQ的连接。一个线程一次可以访问它,希望一个线程可以促进您心中的“连接”。这意味着每个线程(例如用户请求)都可以访问ThreadSafe,而我可以为所有请求/用户请求线程使用一个实例。我想最好是每个线程使用一个实例?所以这类似于JMS,每个请求创建一个会话。我想说的是,最好让所有用户请求使用一个连接。我指的是来自用户的RESTAPI请求,其中每个请求访问相同的连接。在这种情况下,可以将其作为单例使用,因为为每个请求创建一个新连接(或MQ连接引用)是一种重载,并且会有其自身的性能影响。也许一个很好的平衡是你可以自己做拼凑。假设您打开了5个连接(5个MQQueueManager引用),准备对所有请求进行负载平衡,这应该涵盖您最基本的情况。