2017-12-09 12 views
0

두 개의 대기열 채널 (JDBC 저장소 지원)을 연결하려고합니다. java.lang.IllegalArgumentException가 :에 의한Spring Intgegration DSL의 JDBC 저장소를 기반으로 두 개의 큐 채널 연결

: 찾을 수 모호한 매개 변수 유형 [클래스 java.lang의

@Configuration 
public class DemoIntegration { 
    @Bean 
    public IntegrationFlow flow(MessageChannel firstJDBCChannel, 
           MessageChannel secondJDBCChannel) { 
     return IntegrationFlows.from(firstJDBCChannel) 
       .bridge(bridgeHandler -> bridgeHandler.poller(p -> p.fixedDelay(100L))) 
       .handle(secondJDBCChannel) 
       .get(); 
    } 
} 

나는이 두 채널 사이에 다른 구조물을 넣어 여전히 같은 오류를하려고 노력했다. 방법 일치] 보이드 [공공 부울 org.springframework.integration.channel.AbstractPollableChannel.removeInterceptor (org.springframework.messaging.support.ChannelInterceptor) 공개 org.springframework.messaging.Message org.springframework.integra tion.channel.AbstractPollableChannel.receive (긴), 공공 최종 무효 org.springframework.integration.context.IntegrationObjectSupport.setPrimaryExpression (org.springframework.expression.Expression), 공공 무효 org.springframework.integration.channel.AbstractMessageChannel .setStatsEnabled (부울) 공개 무효 org.springframework.integration.channel.AbstractMessageChannel.setMessageConverter (org.springframework.messaging.converter.MessageConverter) 공개 무효 org.springframework.integration.channel.AbstractMessageChannel.setDatatypes (자바 .lang.Class ...), 공개 무효 org.springframework.integration.channel.AbstractMessageChannel.configureMetrics (org.springframework.inte gration.support.management.AbstractMessageChannelMetrics) 공개 무효 org.springframework.integration.context.IntegrationObjectSupport.setComponentName (java.lang.String의) 공용 org.springframework.messaging.support.ChannelInterceptor org.springframework.integration. channel.AbstractPollableChannel.removeInterceptor (INT) 공개 무효 org.springframework.integration.context.IntegrationObjectSupport.setMessageBuilderFactory (org.springframework.integration.support.MessageBuilderFactory) 공개 된 java.util.List> org.springframework.integration .channel.QueueChannel.purge (MessageSelector), 공공 무효 org.springframework.integration.context.I ntegrationObjectSupport.setApplicationContext은 (는 org.springframework.context.ApplicationContext) 는 org.springframework.beans.BeansException 공개 공극 org.springframework.integration.context.IntegrationObjectSupport.setBeanFactory (에게 org.springframework.beans.factory.BeanFactory) 공개 슬로우 org.springframework.expression.Expression org.springframework.integration.context.IntegrationObjectSupport.getExpression() 공개 무효 org.springframework.integration.channel.AbstractPollableChannel.setInterceptors (java.util.List가) 공공 무효 조직도 .springframework.integration.context.IntegrationObjectSupport.setChannelResolver (org.springframework.messaging.core.DestinationResolver)] at org.springframework.util.Assert. isNull에 (Assert.java:155)가 ~ [스프링 코어 5.0.1.RELEASE.jar : 5.0.1.RELEASE] org.springframework.integration.util.MessagingMethodInvokerHelper.findHandlerMethodsForTarget (MessagingMethodInvokerHelper.java:776)에서 ~ [spring-integration-core-5.0.0.RC1.jar : 5.0.0.RC1] at org.springframework.integration.util.MessagingMethodInvokerHelper. (MessagingMethodInvokerHelper.java:379) ~ [spring-integration-core- 5.0.0.RC1.jar : 5.0.0.RC1] at org.springframework.integration.util.MessagingMethodInvokerHelper. (MessagingMethodInvokerHelper.java : 225) ~ [spring-integration-core-5.0.0.RC1.jar : 5.0.0.RC1] at org.springframework.integration.util.MessagingMethodInvokerHelper. (MessagingMethodInvokerHelper.java:220) ~ [스프링 -integration-core-5.0.0.RC1.jar : 5.0.0.RC1] at org.springframework.integration.handler.MethodInvokingMessageProcessor. (MethodInvokingMessageProcessor.java:60) ~ [spring-integration-core-5.0.0] .RC1.jar : 5.0.0.RC1] at org.springframework.integration.handler.ServiceActivatingHandler. (ServiceActivatingHandler.java:38) ~ [spring-integration-core-5.0.0.RC1.jar : 5.0.0] .RC1] at org.springframework.integration.dsl.IntegrationFlowDefinition.handle (IntegrationFlowDefinition.java:924) ~ [spring-integration-core-5.0.0.RC1.jar : 5.0.0.RC1] at org.springframework.integration.dsl.IntegrationFlowDefinition.handle (IntegrationFlowDefinition.java:904) ~ [spring-integration-core-5.0.0.RC1.jar : 5.0.0.RC1] at org.springframework.integration. dsl.IntegrationFlowDefinition.handle (IntegrationFlowDefinition.java:891) ~ [spring-integration-core-5.0.0.RC1.jar : 5.0.0.RC1] at name.karwowski.blazej.integrationdemo2.DemoIntegration.flow (DemoIntegration 된 .java 16) ~ [클래스/: NA] name.karwowski에서 name.karwowski.blazej.integrationdemo2.DemoIntegration $$ EnhancerBySpringCGLIB $$ f82aadc3.CGLIB $ AT는 $ 0 (0) ~ [NA 클래스 /] 흐른다 .blazej.integrationdemo2.DemoIntegration $$ EnhancerBySpringCGLIB $$ f82aadc3 $$ FastClassBySpringCGLIB $$ ef9b4b0c.invoke() ~ [classes/: na] a t org.springframework.cglib.proxy.MethodProxy.invokeSuper (MethodProxy.java:228) ~ [spring-core-5.0.1.RELEASE.jar : 5.0.1.RELEASE] at org.springframework.context.annotation .ConfigurationClassEnhancer $ BeanMethodInterceptor.intercept (ConfigurationClassEnhancer.java:361) ~ [spring-context-5.0.1.RELEASE.jar : 5.0.1.RELEASE] at name.karwowski.blazej.integrationdemo2.DemoIntegration $$ EnhancerBySpringCGLIB $$ f82aadc3.flow() ~ [클래스/: NA] ~ sun.reflect.NativeMethodAccessorImpl.invoke0 (기본 방법)에서 [NA : 1.8.0_151] sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)에서 ~ [na : 1.8.0_151] at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessor Impl.java : 43) ~ [na : 1.8.0_151] at java.lang.reflect.Method.invoke (Method.java:498) ~ [na : 1.8.0_151] at org.springframework.beans.factory .support.SimpleInstantiationStrategy.instantiate (SimpleInstantiationStrategy.java:155) ~ [스프링은 콩 - 5.0.1.RELEASE.jar : 5.0.1.RELEASE] ... (19)는 공통 프레임 방법

생략 두 개 (또는 그 이상)의 대기열 채널을 올바르게 연결 하시겠습니까? 나는 그 (것)들 사이 어떤 처리를 만들고 신청이 정지의 경우에 유지할 수있게 할 필요가있다.

전체 로그 및 코드 샘플은 GitHub의에 있습니다 https://github.com/blazejkarwowski/integration-test

답변

2

대신 .handle(secondJDBCChannel) 당신이 .channel(secondJDBCChannel)을 사용해야합니다. 처리 할 내용이 없습니다. 그 사이의 채널입니다.

자세한 내용은 Reference Manual을 참조하십시오.