当前位置: 首页 > 知识库问答 >
问题:

ActiveMQ连池

许俊贤
2023-03-14

我正在使用ActiveMQConnectionFactory创建连接。我只创建一个连接。我有许多线程在这个单个连接下运行,创建会话和生产者(每个线程都有自己的会话和生产者)。

我的问题是:如果我只使用一个连接,那么我应该使用连池(PooledConnectionFactory)还是应该坚持使用ActiveMQConnectionFactory。有人能解释这两者之间的区别吗(可能是基本的,因为我仍然在ActiveMQ中学习曲线)。

谢谢。!

共有1个答案

颛孙铭
2023-03-14

答案是,视情况而定。如果你在应用程序中只使用一个连接,并在应用程序的整个生命周期中保持其打开状态,那么通过共享连接,你不会获得太多收益,然而,PooledConnectionFactory也会对会话和生产者进行池化,因此您仍然可以通过不创建和销毁会话和生产者来获得一些收益,但如果您不创建和销毁这些资源,那么您也不需要对它们进行池化。

池连接工具将创建一个连接,并在空闲之前将其打开一段时间(可配置),因此如果你的应用程序倾向于创建连接,请使用它一段时间,然后关闭它,仅在短时间后创建另一个连接,那么池可以是一个不错的选择。

最后,您需要检查您的应用程序并查看您如何使用JMS资源。查看它是否为您带来任何性能的最佳方法是试用它并衡量与不使用它相比的结果。

 类似资料:
  • 我知道这个问题在这里被问了很多次,我也听了很多对话,但我运气不好。ActiveMQ浏览器和ActiveMQ无法连接。 所以我在这里再次询问,并附上我在当地掌握的全部信息。 JDK 1.8 服务:jmx:rmi:///jndi/rmi://E105756:1616/jmxrmi角色:管理员密码:activemq 无法启动QBrowserV2无法连接到ActiveMQ JMX服务器。 请确保JMX服务

  • 此问题看起来类似:SocketException:打开的文件太多 至于我的用例,我从一个网站接收订单,并将它们处理到ERP中,然后将状态传回网站和其他系统。将消息发送回网站API有点慢,在事件发生时,可能有700条消息排队。 网站使用AMQP,我的消息路由使用JMS。 这是我的broker.xml 这就是那个我认为给我带来麻烦的客户。

  • 我有一个broker.xml文件,它有以下代码 接受者说,嘿,你可以在端口61617上与我连接,我正在听它(这对我来说是有意义的),但是连接器在这个broker.xml中的角色是什么。Connector的目标端口与acceptor相同(TCP://0.0.0.0:61616),我想了解一下Connector中提到的端口是什么意思,能不能解释一下。

  • 是否需要Spring Boot ActiveMQ使用者连接池来配置?我在spring boot应用程序中只有一个消费者(作为一个微服务),生产者在另一个应用程序中。我对以下内容并不感到困惑:(摘自http://activemq.apache.org/spring-support.html) 注意:虽然PooledConnectionFactory确实允许创建活动使用者的集合,但它并不“聚集”使用者

  • 我的应用程序有一个远程ActiveMQ服务器和嵌入式ActiveMQ服务器。当我发送文本消息时,它正在工作。但是当我尝试发送Blob消息时,它会抛出一个,由和引起。 我的经纪商网址 其中< code > TCP://localhost:7005 是嵌入式代理,而< code > http://localhost:61617 是远程代理。 我的生产者代码

  • 我可以成功地ping系统。防火墙未启用,我可以到达web控制台。我遵循了这个指南来设置它,但我想我遗漏了一些东西。QueueExplorer需要Jolokia和OpenWire。web控制台使用Jolokia,但QueueExplorer中的错误会对此进行投诉。 当使用QueueExplorer连接到ActiveMQ时,我不需要进行任何配置更改。在Artemis中是否有允许客户端连接的附加步骤?