Java 单队列连接能否在多线程环境中使用。?

Java 单队列连接能否在多线程环境中使用。?,java,multithreading,jakarta-ee,jms,websphere,Java,Multithreading,Jakarta Ee,Jms,Websphere,我有一个在IBMWAS中配置的IBMQM。从QCF创建一个QueueConnection,并将其加载到内存中,以便多个线程可以访问同一个连接(每个线程将在此连接上创建一个会话),以从队列发送和接收消息。这种方法存在性能问题 当第一个线程正在使用连接时,其他线程会等待吗 直到第一次发送和接收 如果是这种情况,我可以为每个线程创建一个连接吗。?这会影响性能吗 我有一个应用程序,其中并发请求的数量将是每秒50个。因此,我必须处理性能问题 任何帮助都将不胜感激。每个线程应该共享一个队列连接,而不是一个队

我有一个在IBMWAS中配置的IBMQM。从QCF创建一个QueueConnection,并将其加载到内存中,以便多个线程可以访问同一个连接(每个线程将在此连接上创建一个会话),以从队列发送和接收消息。这种方法存在性能问题

  • 当第一个线程正在使用连接时,其他线程会等待吗 直到第一次发送和接收
  • 如果是这种情况,我可以为每个线程创建一个连接吗。?这会影响性能吗
  • 我有一个应用程序,其中并发请求的数量将是每秒50个。因此,我必须处理性能问题


    任何帮助都将不胜感激。

    每个线程应该共享一个队列连接,而不是一个队列连接


    然后线程将从工厂创建自己的队列连接。

    每个线程应该共享一个队列连接,而不是一个队列连接

    然后,线程将从工厂创建自己的QueueConnection。

    JMS连接(即QueueConnections和TopicConnections)是线程安全的,可由多个线程使用。 连接“下方”的所有JMS构造(即会话、QueueSessions、TopicSessions)都不是,每个线程应分配一个。

    JMS连接(即QueueConnections和TopicConnections)是线程安全的,可由多个线程使用。
    连接“下方”的所有JMS构造(即会话、QueueSessions、TopicSessions)都不是,每个线程应分配一个。

    我有200毫秒的时间发送和接收消息。从QCF获取新连接是否会影响线程的性能?您所说的发送和接收是什么意思?您希望得到什么?我有一个外部系统,它处理请求队列上的消息,并在响应队列上发送响应消息。(我没有使用MDB)我有200毫秒的时间来发送和接收消息。从QCF获取新连接是否会影响线程的性能?您所说的发送和接收是什么意思?您希望得到什么?我有一个外部系统,它处理请求队列上的消息,并在响应队列上发送响应消息。(我没有使用MDB)由于所有线程都使用相同的连接,一个线程的session.send(msg)会影响其他线程吗。?i、 e.其他线程是否会等待线程完成其发送/接收操作。?谢谢。我将尝试做一个负载测试并找出答案。由于所有线程都使用相同的连接,一个线程的session.send(msg)会影响其他线程吗。?i、 e.其他线程是否会等待线程完成其发送/接收操作。?谢谢。我将试着做一个负载测试并找出答案。