如何将spring Java dsl config导入XML配置?

时间:2015-07-28 02:15:17

标签: spring spring-integration

我无法将java dsl config导入XML配置。

@Configuration
@EnableIntegration
@IntegrationComponentScan
public class JavaApplicationContext {

  @MessagingGateway
  public interface helloService {
    @Gateway(requestChannel = "requestChnl")
    public String sayHello(String msg);
  }

  @Bean
  public IntegrationFlow helloIntFlow() {
    return IntegrationFlows.from("requestChnl")
                           .transform(new GenericTransformer<String, String>() {

                            @Override
                            public String transform(String source) {
                              // TODO Auto-generated method stub
                              return "Hello "+source;
                            }})
                           .get();
  }


}

在XML配置中,我有<bean id="hellGtwy" class="com.example.JavaApplicationContext" />

  

引起:org.springframework.beans.factory.BeanCreationException:   创建名为&#39; helloIntFlow&#39;的bean时出错定义于   com.example.JavaApplicationContext:bean的初始化失败;   嵌套异常是   org.springframework.beans.factory.BeanCreationException:错误   使用名称&#39; org.springframe创建bean   work.integration.config.SplitterFactoryBean#6&#39;:FactoryBean扔了   对象创建异常;嵌套异常是   java.lang.IllegalArgumentException:AbstractReplyPr   oducingMessageHandler只能被引用一次(MY_SPLITTER_ID) -   使用范围=&#34;原型&#34;

我无法将异常与我的代码联系起来。我在java dsl config中没有拆分器。

1 个答案:

答案 0 :(得分:0)

实际上,Spring团队建议将XML配置注入Java&amp;通过@ImportResource进行注释配置。

另一方面MY_SPLITTER_ID也与Spring Integration Java DSL无关。使用XML配置即可。

如果您希望将注释配置与XML配合使用,请尝试使用<component-scan>而不是原始<bean>