我正在尝试使用JBoss Messaging将Spring Batch / Spring Integration与JBoss 5.2集成。我目前正在使用jms-ds.xml中定义的连接工厂的JNDI查找来访问连接工厂。
<jee:jndi-lookup id="springbatch.jmsConnectionFactory" jndi-name="${springbatch.partition.jms.connectionFactoryName}"/>
在正常水平的记录下,它似乎开始并正常工作(大部分时间)。我打开日志记录以确定与JMS系统连接失败的问题,我在server.log文件中看到此异常
2014-12-29 10:16:26,396 DEBUG [org.springframework.batch.core.configuration.support.JobRegistryBeanPostProcessor] (HDScanner) Registering job: partitioned.job.1
2014-12-29 10:16:26,416 DEBUG [org.springframework.integration.util.MessagingMethodInvokerHelper] (HDScanner) Method [public java.util.Collection org.springframework.batch.integration.partition.MessageChannelPartitionHandler.handle(org.springframework.batch.core.partition.StepExecutionSplitter,org.springframework.batch.core.StepExecution) throws java.lang.Exception] is not eligible for Message handling.
java.lang.IllegalArgumentException: Found more than one parameter type candidate: [org.springframework.batch.core.partition.StepExecutionSplitter] and [org.springframework.batch.core.StepExecution]
at org.springframework.util.Assert.isNull(Assert.java:89)
根据其他一些帖子,我尝试使用SingleConnectionFactory包装JNDI返回的连接工厂并获得相同的结果。
在JBoss上为分区弹出批处理作业配置连接工厂的推荐方法是什么?
答案 0 :(得分:0)
当Spring Integration试图发现聚合器的合格方法时,这是一个DEBUG消息;这不是错误,可以忽略。
将org.springframework.integration.util.MessagingMethodInvokerHelper
的日志级别设置为INFO以禁止它。