Ibm mq 我们使用IBMMQ6.1。我们可以使用多线程将消息发送到队列吗?

Ibm mq 我们使用IBMMQ6.1。我们可以使用多线程将消息发送到队列吗?,ibm-mq,mq,Ibm Mq,Mq,我们使用IBMMQ6.1。并使用IBMAPI将消息发送到队列。 由于我们需要发送大量消息,我们想知道是否可以使用多线程技术将消息发送到同一队列。 有什么建议吗?当然有。您可以拥有内存和CPU允许的任意多个线程。如果您希望看到性能改进,每个线程都需要自己的连接句柄。如果使用单个连接句柄,则来自多个线程的所有GET和PUT活动都将通过连接句柄同步。如果使用多个连接句柄,则GET和PUT活动可以并行进行。有关更多详细信息,请参阅WMQ使用Java手册 只需确保操作系统内核设置(如MAXUPROCS)已

我们使用IBMMQ6.1。并使用IBMAPI将消息发送到队列。 由于我们需要发送大量消息,我们想知道是否可以使用多线程技术将消息发送到同一队列。
有什么建议吗?

当然有。您可以拥有内存和CPU允许的任意多个线程。如果您希望看到性能改进,每个线程都需要自己的连接句柄。如果使用单个连接句柄,则来自多个线程的所有GET和PUT活动都将通过连接句柄同步。如果使用多个连接句柄,则GET和PUT活动可以并行进行。有关更多详细信息,请参阅WMQ使用Java手册

只需确保操作系统内核设置(如MAXUPROCS)已设置为允许WMQ运行足够的线程来接收连接,并且WMQ设置(如和)已升级以适应负载。请记住,工作单元是线程范围的,因此对于syncpoint,每个线程都是独立于其他线程的——例如,当您在线程内发出COMMIT时,它仅提交该特定线程(假设它有专用连接)放置的消息。队列具有(默认共享选项)的属性,但这与可以激活的输入句柄数有关。即使您为独占输入打开队列,也可以有许多线程向其写入


此外,WMQ的v6.x将于2011年9月停止使用。现在就开始计划使用v7以保持支持的版本。如果您使用的是WMQ客户端连接,请升级客户端和QMgr。v7客户机可以与v6 QMgr配合使用,并且可以独立升级。当然,当与v6.x QMgr一起使用时,它只支持v6功能。您完全可以下载v7客户端。

。您可以拥有内存和CPU允许的任意多个线程。如果您希望看到性能改进,每个线程都需要自己的连接句柄。如果使用单个连接句柄,则来自多个线程的所有GET和PUT活动都将通过连接句柄同步。如果使用多个连接句柄,则GET和PUT活动可以并行进行。有关更多详细信息,请参阅WMQ使用Java手册

只需确保操作系统内核设置(如MAXUPROCS)已设置为允许WMQ运行足够的线程来接收连接,并且WMQ设置(如和)已升级以适应负载。请记住,工作单元是线程范围的,因此对于syncpoint,每个线程都是独立于其他线程的——例如,当您在线程内发出COMMIT时,它仅提交该特定线程(假设它有专用连接)放置的消息。队列具有(默认共享选项)的属性,但这与可以激活的输入句柄数有关。即使您为独占输入打开队列,也可以有许多线程向其写入


此外,WMQ的v6.x将于2011年9月停止使用。现在就开始计划使用v7以保持支持的版本。如果您使用的是WMQ客户端连接,请升级客户端和QMgr。v7客户机可以与v6 QMgr配合使用,并且可以独立升级。当然,当与v6.x QMgr一起使用时,它只支持v6功能。您可以下载v7客户端作为。

我想我没有正确地提出这个问题。。我正在编写一个java程序来连接到队列并发送消息。我想知道我是否可以以多线程的方式将消息发送到远程IBMMQ服务器上的同一队列rugging。是的。我就是这样解释这个问题的。我更新了答案,解释了许多线程都需要自己的连接,并提供了一个指向讨论此主题的手册部分的链接。我想我没有正确地提出这个问题。。我正在编写一个java程序来连接到队列并发送消息。我想知道我是否可以以多线程的方式将消息发送到远程IBMMQ服务器上的同一队列rugging。是的。我就是这样解释这个问题的。我更新了答案,解释了许多线程都需要自己的连接,并提供了一个指向讨论此主题的手册部分的链接。