我正在读取一条消息,对其进行转换并在JMS通道上输出。JMS通道使用WorkManager任务执行器读取消息并对其进行处理。尽管我们将应用服务器中的WorkManager配置为有10个线程,但只使用了一个线程。
<si:chain id="prenotifchain" input-channel="preNotificationChannel" output-channel="notificationJMSChannel">
<si:transformer id="prenotif" method="transformRequest" ref="notificationTransformer"/>
</si:chain>
<si-jms:channel id="notificationJMSChannel" queue="notificationQueue" connection-factory="queueConnectionFactory" transaction-manager="txManager" task-executor="notificationTaskExecutor" />
<jee:jndi-lookup id="notificationQueue" jndi-name="jms/notifqueue"/>
<bean id="notificationTaskExecutor"
class="org.springframework.scheduling.commonj.WorkManagerTaskExecutor">
<property name="workManagerName" value="notifWM" />
<property name="resourceRef" value="true" />
</bean>我们是否遗漏了任何配置,或者是否有其他方法读取多个配置?
发布于 2018-09-23 04:25:20
请使用concurrency属性:
<xsd:attribute name="concurrency" type="xsd:string">
<xsd:annotation>
<xsd:documentation><![CDATA[
The number of concurrent sessions/consumers to start for each listener.
Can either be a simple number indicating the maximum number (e.g. "5")
or a range indicating the lower as well as the upper limit (e.g. "3-5").
Note that a specified minimum is just a hint and might be ignored at runtime.
Default is 1; keep concurrency limited to 1 in case of a topic listener
or if message ordering is important; consider raising it for general queues.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>https://stackoverflow.com/questions/52459865
复制相似问题