【问题标题】:How to configure Spring XD modules using ModuleConfiguration.java?如何使用 ModuleConfiguration.java 配置 Spring XD 模块?
【发布时间】:2016-01-04 09:32:26
【问题描述】:

我创建了一个 Spring XD 模块,类似于示例推文转换器。 Spring 文档说您可以使用src/main/resources/config/ 下的spring-module.propertiesspring-module.xml 配置或专用的ModuleConfiguration.java 文件,该文件定义了一个Bean。但是,如果我只使用后者,它就不会运行。 XD 抱怨无法确定模块类型。

如果我添加 spring-modules.properties 和模块 xml,它就可以工作。我的ModuleConfiguration.java 看起来像这样:

package mypackage;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.config.EnableIntegration;
import org.springframework.messaging.MessageChannel;

@Configuration
@EnableIntegration
public class ModuleConfiguration {
    @Bean
    MessageChannel input() {
        return new DirectChannel();
    }
    @Bean
    MessageChannel output() {
        return new DirectChannel();
    }

    @Bean
    MyTransformer transformer() {
        return new MyTransformer();
    }
}

我的 pom.xml 继承自 spring 模块 pom:

<parent>
   <groupId>org.springframework.xd</groupId>
   <artifactId>spring-xd-module-parent</artifactId>
   <version>1.3.0.RELEASE</version>
   <relativePath/>
</parent>

Transformer 看起来像这样:

package mypackage;

import org.springframework.integration.annotation.MessageEndpoint;
import org.springframework.integration.annotation.Transformer;

@MessageEndpoint
public class MyTransformer
{

   @Transformer( inputChannel = "input", outputChannel = "output" )
   public String transform( String payload )
   {
     return "Test";
   }
}

【问题讨论】:

  • 请出示您的 MyTransformer 代码
  • 这是spring-module.properties,而不是spring-modules.properties。没有s
  • @heenenee 错字,已更正
  • @Arne @shazin 是因为 shazin 的答案中指定的 base_packages 没有被接收?
  • @heenenee 不,实际来源使用了正确的名称 (spring-module.properties) 我只是在问题中输入错误。

标签: java spring spring-xd


【解决方案1】:

在您的src/main/resources/config/spring-modules.properties 中添加以下内容。

base_packages=mypackage

这将使 Spring XD 引擎能够获取 ModuleConfiguration 并反过来加载您的自定义 Transformer MyTransformer

其他一切看起来都不错。

【讨论】:

  • 我的属性文件中有该行。如果这确实足够,会再试一次。
  • 我检查过了,现在我可以使用 Java 注释来配置所有内容了!太好了,谢谢!
猜你喜欢
  • 2016-07-27
  • 1970-01-01
  • 2017-01-05
  • 1970-01-01
  • 1970-01-01
  • 2019-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多