【发布时间】:2013-03-26 04:17:54
【问题描述】:
我是 Spring 集成的新手,所以我可能会误用术语。 我有一个 ws:inbound-gateway 监听肥皂网络服务请求。
<int-ws:inbound-gateway id="myInGW"
request-channel="headersMapPopulationChannel"
reply-channel="ws-response-channel"
marshaller="marshaller"
unmarshaller="marshaller"/>
它将传入请求发送到 headersMapPopulationChannel 并将消息发送到适配器(用于从 JAXB 类转换为域),然后拆分器将其拆分为验证、日志记录和持久性。坚持不懈后,我正在根据请求运行与业务相关的事情。我想对所有这些都有异常控制点,这样我就可以管理在异常情况下要做什么。我故意在业务类中放了一个 throw 异常语句。抛出异常,但我的频道似乎没有得到它。 配置:
<int-ws:inbound-gateway id="myInGW"
request-channel="headersMapPopulationChannel"
reply-channel="ws-response-channel"
error-channel="ws-error-channel"
marshaller="marshaller"
unmarshaller="marshaller"/>
<int:channel id="ws-error-channel"/>
<int:service-activator input-channel="ws-error-channel"
expression="@exceptionHandlerService.handleThrowable(payload)"/>
<bean id="exceptionHandlerService" class="pack.integration.service.ExceptionHandlerService"/>
我也不知道在我的最外面的频道中控制异常是否正确。我应该在转发消息的任何地方监听异常吗?
【问题讨论】:
标签: exception-handling integration spring-integration channel