java - Active PooledConnectionFactory 池连接与 session

标签 java activemq

我正在考虑在 Tomcat 应用程序中使用 PooledConnectionFactory,在 Tomcat POST 处理程序中,我想将一条消息放入队列中,以供单个远程使用者接收。 AMQ 汇集了 Connection 和 Session 对象,我试图了解何时应该使用其中一个。

我正在考虑的方法是有一个连接并设置 MaximumActiveSessionPerConnection 以匹配我的 Tomcat 线程,POST 处理程序将从连接中借用和返回 session 。这听起来合理吗,或者改为使用连接池是否有优势?

如果重要的话,我没有使用 Spring 或其他网络应用程序框架,只使用了 Tomcat。我正在将消息持久保存到 AMQ 中的磁盘。

最佳答案

这两种方法在功能上应该是等同的,并且执行一种方法与另一种方法的代码差异应该相对较小。

就性能而言,我认为这并不重要,因为您的瓶颈将出现在消费端而不是生产端,因为您只有一个消费者并且可能有许多并发生产者。

就个人而言,我更愿意让池完成所有工作,并且只编写应用程序,就好像它每次发送消息时都在创建连接和 session (如果没有池,这显然是一个巨大的反模式)。

关于java - Active PooledConnectionFactory 池连接与 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52262882/

相关文章:

java - 关于apache activemq的认证

ssl - ActiveMQ SSL - 在没有重启代理的情况下重新加载信任库

java - ActiveMQ 从不删除 kahadb .log 文件;通过 JSP 界面看不到未决消息;如何发现罪魁祸首?

java - Spring 无法将事务传播到 ForkJoin 的 RecursiveAction

java - 如何设置 JSplitPane-Divider 的折叠/展开状态?

java - 修改java/php

java - activemq-all "5.15.3"不适用于 Spring 5

activemq - 在 ActiveMQ 中查看延迟消息?

java - 当 keystore 密码与 key 本身一样容易受到攻击时,Java keystore (JKS、JCEKS)的意义何在?

java - 如何更改具有特定列值的 JTable 整行的颜色