本文介绍了Spring 集成:@ServiceActivator 不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下课程:
@Configuration
public class SpringIntegrationTest {
@Bean
public SimpleWebServiceInboundGateway testInboundGateWay (){
SimpleWebServiceInboundGateway simpleWebServiceInboundGateway = new SimpleWebServiceInboundGateway();
simpleWebServiceInboundGateway.setRequestChannelName("testChannel");
simpleWebServiceInboundGateway.setReplyChannelName("testChannel2");
return simpleWebServiceInboundGateway;
}
@Bean
public MessageChannel testChannel() {
return new DirectChannel();
}
@Bean
public MessageChannel testChannel2() {
return new DirectChannel();
}
@ServiceActivator(inputChannel = "testChannel", outputChannel = "testChannel2")
public DOMSource foo(DOMSource request) {
System.out.println("asd");
return request;
}
@Bean
public EndpointMapping soapActionEndpointMapping(SimpleWebServiceInboundGateway testInboundGateWay ) {
UriEndpointMapping uriEndpointMapping = new UriEndpointMapping();
uriEndpointMapping.setUsePath(true);
uriEndpointMapping.setEndpointMap(createEndpointMapping(testInboundGateWay ));
return uriEndpointMapping;
}
private Map<String, Object> createEndpointMapping(SimpleWebServiceInboundGateway testInboundGateWay ) {
Map<String, Object> endpointMap = new HashMap<>();
endpointMap.put("/ws/test", testInboundGateWay );
return endpointMap;
}
}
即使服务激活器订阅了testChannel",我也会收到以下消息:
Even tough the service activator is subscribed for the "testChannel", I get the followin message:
o.s.i.w.SimpleWebServiceInboundGateway - 网关 sendAndReceive 发生故障:Dispatcher 没有频道org.springframework.web.context.WebApplicationContext:/MyProject restful API.testChannel"的订阅者.嵌套异常是 org.springframework.integration.MessageDispatchingException: Dispatcher has nosubscribes
我做错了什么?
推荐答案
您需要将 @EnableIntegration
添加到您的配置类之一.
You need to add @EnableIntegration
to one of your configuration classes.
这篇关于Spring 集成:@ServiceActivator 不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!