【发布时间】:2016-01-04 09:32:26
【问题描述】:
我创建了一个 Spring XD 模块,类似于示例推文转换器。 Spring 文档说您可以使用src/main/resources/config/ 下的spring-module.properties 和spring-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) 我只是在问题中输入错误。