为了在启用事务的情况下使用jms实现消息的高性能生成,需要控制每个事务上发送的消息量,数字越大,性能越高,
是否可以使用spring集成以这种方式控制事务?
有人可能会建议使用聚合器,但是这会破坏目的,因为我不希望队列中有一条包含X个较小消息的消息,但实际上我的队列中有X条消息..
谢谢!
答案 0 :(得分:0)
我不知道你的设置,但我会在源上提升并发消费者,而不是尝试调整出站适配器。这个数据量中有哪些数据源?根据我的经验,通常生产者落后于出版商 - 除非两者都是JMS /消息资源 - 就像桥梁一样。在这种情况下,您通常会通过提升并发消费者来看到显着的改进,因为您专门用n个线程接收消息并并行处理它们,并且每个线程将在其自己的“事务环境”中运行。
值得注意的是,JMS确实不指定传输机制,并且它向代理选择传输。如果您使用的是activemq,可以尝试使用open wire vs amqp进行试验,看看是否获得了所需的吞吐量。