我们的应用程序是使用Spring Integration Framework设计的.完成消息动作流程开始于监听已使用JMS消息驱动适配器的Queue,之后已定义基于通道的队列端点,并且每个端点由Service-Activators处理.
我们目前正处于性能阶段,我们正在产生200条消息请求.最初我们观察到消息没有并行执行,在做了一些阅读后发现通过将并发消费者和最大并发消费者属性添加到JMS消息驱动的侦听器适配器将有助于启用多线程模式.确实这有帮助,但仍然介于这个过程之间,我仍然看到单线程效应.这是否由于端点已定义?向每个端点添加队列容量有什么好处?您认为通过向每个Channel端点定义添加队列容量将再次有助于在多线程模式下运行.
请求的设计快照:
最佳答案
查看频道的确切定义会很有帮助.
默认情况下,Spring通道在发送方的线程中使用其消息.换句话说,它是同步的.如果您希望通道异步使用消息,则必须指定TaskExecutor.见http://static.springsource.org/spring/docs/3.0.5.RELEASE/reference/scheduling.html