为了在启用事务的 jms 下实现高性能的消息生产,需要控制每个事务上发送的消息量,数量越大性能越高,
是否可以使用 spring 集成以这种方式控制事务?
有人可能会建议使用聚合器,但这违背了目的,因为我不想让一条消息在队列中包含 X 条较小的消息,但实际上在我的队列中包含 X 条消息。
谢谢 !
为了在启用事务的 jms 下实现高性能的消息生产,需要控制每个事务上发送的消息量,数量越大性能越高,
是否可以使用 spring 集成以这种方式控制事务?
有人可能会建议使用聚合器,但这违背了目的,因为我不想让一条消息在队列中包含 X 条较小的消息,但实际上在我的队列中包含 X 条消息。
谢谢 !
我不知道您的设置,但我会增加源上的并发消费者,而不是尝试调整出站适配器。什么样的数据源在抽取如此大量的数据?根据我的经验,通常生产者落后于发布者 - 除非两者都是 JMS / 消息传递资源 - 就像在桥的情况下一样。在这种情况下,通过增加并发消费者,您将看到显着的改进,因为您指定 n 个线程来接收消息并并行处理它们,并且每个线程将在自己的“事务环境”中运行。
还值得注意的是,JMS没有指定传输机制,它由代理来选择传输。如果您使用的是 activemq,您可以尝试使用开放线与 amqp 进行试验,看看您是否获得了所需的吞吐量。