【问题标题】:How can I create xslt-transformer with JAVA config in Spring integration?如何在 Spring 集成中使用 JAVA 配置创建 xslt-transformer?
【发布时间】:2016-03-17 12:22:58
【问题描述】:
我在 Spring-Integration 中有以下 xslt-transformer。如何使用 Java Config 进行相同的配置?
<si-xml:xslt-transformer input-channel="input" output-channel="output"
xsl-resource="classpath:/test.xsl"
result-transformer="resultToDoc"/>
【问题讨论】:
标签:
java
xml
spring
xslt
spring-integration
【解决方案1】:
@Transformer(inputChannel = "input", outputChannel = "output")
@Bean
public XsltPayloadTransformer transformer() {
return new XsltPayloadTransformer(new ClassPathResource("classpath:/test.xsl"),
resultToDoc());
}
从另一面考虑使用Spring Integration Java DSL,同样会更简单:
@Value("classpath:/test.xsl")
private Resource xsl;
.transform(Transformers.xslt(this.xsl))
【解决方案2】:
@ServiceActivator(inputChannel="input")
@Bean
public MessageHandler xsltt() {
MessageTransformingHandler handler = new MessageTransformingHandler(transformer());
handler.setOutputChannelName("output");
return handler;
}
@Bean
public Transformer transformer() {
return new XsltPayloadTransformer(new ClassPathResource("classpath:/test.xsl"),
resultToDoc());
}