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

Spring boot framework中使用Apache Camel的ActiveMQ生成器的性能设置

晏阳飙
2023-03-14

我们有一个Spring Boot应用程序,我们使用apache camel作为消息处理框架。我们正在尝试最好地优化应用程序设置,以使ActiveMQ队列上的消息快速入队,队列另一端的Logstash作为使用者接收这些消息。

文档分散在许多地方,并且有太多的配置可用。

Application.Properties:

################################################
# Spring Active MQ
################################################
spring.activemq.broker-url=tcp://localhost:61616
spring.activemq.packages.trust-all=true
spring.activemq.user=admin
spring.activemq.password=admin

阿帕奇骆驼

.to("activemq:queue:"dataQueue"?messageConverter=#queueMessageConverter");

问题:

.to("seda:somequeue?waitForTaskToComplete=Never");
.from("seda:somequeue?concurrentConsumers=20");

活动MQ:

.to("activemq:queue:dataQueue?disableReplyTo=true);

Application.Properties:

#Enable poolconnection factory
spring.activemq.pool.enabled=true
spring.activemq.pool.blockIfFull=true
spring.activemq.pool.max-connections=50

共有1个答案

尉迟清野
2023-03-14

>

  • 是的,您需要使用PooledConnectionFactory。尤其是搭配骆驼+Spring靴。或者使用camel-sjms组件。罪魁祸首是Spring的jmstemplate。超高延迟。

    发送NON_PERSISTENT和AUTO_ACK,同时在连接工厂上打开sendAsync

    当生产者流控制启动时(也就是队列或代理已满),您需要捕获路由中的javax.jms.ResourceAllocationException以进行重试

    ActiveMQ根据字节而不是消息计数进行大小调整。请参见生产者流控制文档中的SystemUsage设置和基于字节限制队列大小的每目标策略策略。

  •  类似资料:
    • 根据网页 activemq-性能-模块-用户-手册 中的建议,我尝试过(在配备 Windows 7 操作系统和固态盘驱动器的英特尔 i7 笔记本电脑上)在 ActiveMQ 队列上生成持久消息的性能: 针对活动 mq 5.12.1 的默认安装 我得到的性能大约是每秒300-400条消息。在激活性能页面上,我一直在阅读更高的数字: 当在一个机器上运行服务器,在另一个机器上的单独虚拟机中运行单个生产者

    • 我正在尝试安装ActiveMQ浏览器,我想连接到我的ActiveMQ Artemis服务器。我们如何配置它?

    • 本文向大家介绍PHP中你可能忽略的性能优化利器:生成器,包括了PHP中你可能忽略的性能优化利器:生成器的使用技巧和注意事项,需要的朋友参考一下 前言 如果是做Python或者其他语言的小伙伴,对于生成器应该不陌生。但很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP 5.5.0才引入的功能,也可以是生成器作用不是很明显。但是,生成器功能的确非常有用。 什么情况之下,会遇到PHP性

    • 问题内容: 我在基于龙目岛的POJO中有一个自定义设置器: 但是当我使用Lombok生成的生成器时: 我的自定义设置程序未调用,因此密码未编码。这让我很难过。 当我直接使用它时,当然会调用我的自定义设置器: 如何使Lombok的生成器使用我的自定义设置器? 问题答案: 根据文档:仅自己定义足够的框架。特别是,Lombok将生成一个class ,反映该字段的字段和构建器方法,您可以自己提供其中的任何

    • 我正在测试我在activeMQ上工作的代码, 我在里面使用。当我发送大约1000个并发请求来将我的消息排队时,将所有消息排队需要很长时间,有时它只是挂在中间,过了一段时间又开始返回。 我正在使用JDBC消息存储,我知道这可能会影响性能。 这对性能的影响主要是由于虚拟主题吗?,因为在activemq网站上,他们指定了非常高的主题性能(当然是在理想条件下) P、 S:1消息排队和出列大约需要13-15

    • 我知道这在没有生成器的情况下是非常容易归档的,但是我想更好地理解生成器。因此,请不要建议使用其他东西。 我有一个类可以为屏幕截图生成文件名(selenium): 现在我的问题是:除了Foreach循环之外,我可以在任何其他上下文中使用这样的生成器吗?例如。 对我来说,这总是返回null,如果我调试,它永远不会进入生成器方法。PHP文档也没有真正提到这一点。 所以我的问题是:有没有一种记录在案的方法

    • 我知道这在没有生成器的情况下是非常容易归档的,但是我想更好地理解生成器。因此,请不要建议使用其他东西。 我有一个类可以为屏幕截图生成文件名(selenium): 现在我的问题是:除了Foreach循环之外,我可以在任何其他上下文中使用这样的生成器吗?例如。 对我来说,这总是返回null,如果我调试,它永远不会进入生成器方法。PHP文档也没有真正提到这一点。 所以我的问题是:有没有一种文档化的方法可

    • null 我们在所有队列(Q和S)中都有挂起的消息,而我们希望它们只在队列S中挂起 当在S中调度的消息唤醒时,它们将移动到T队列:这些消息将根据节流配置(1K消息/秒)进行处理 仍在Q和S中挂起的消息移动到T的速度非常慢(大约50条消息/秒) 如果我们在处理完所有宝贵的消息(再次使用生产者P)后尝试第二轮消息(没有时间窗口),我们仍然以50个消息/秒的速度发送消息,即使在这种情况下,我们根本没有使