首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring集成中错误处理过程中的MessageTransformation异常

Spring集成中错误处理过程中的MessageTransformation异常
EN

Stack Overflow用户
提问于 2017-07-04 03:37:06
回答 1查看 957关注 0票数 0

我有一个http defined网关,并定义了一个到网关的错误通道。

代码语言:javascript
复制
<int-http:inbound-gateway 
    request-channel="requestChannel"  reply-channel="replyChannel" 
        supported-methods="POST" request-payload-type="com.test.RequestWsDTO"
    path="/trips/modify" error-channel="errorChannel" >
    <int-http:request-mapping consumes="application/json" produces="application/json" />
</int-http:inbound-gateway>

它从网关转到转换器,将消息转换为ws outboundgateway网关的适当请求。

代码语言:javascript
复制
<int:transformer id="segmentCancelTransformer" ref="segmentCancelTransformerBean" input-channel="segmentCancelChannel"
             method="transform" output-channel="rcsChannel"/>
    <beans:bean id="segmentCancelTransformerBean" class="com.test.SegmentCancelRequestTransformer" />

我从Transformer抛出了一个运行时异常。

我已经定义了一个服务激活器来处理异常。

代码语言:javascript
复制
   <int:service-activator input-channel="errorChannel" ref="exceptionhandler" method="createErrorResponse"/>
<beans:bean id="exceptionTransformer" class="com.test.ExceptionHandler" />

在ExceptionHandler类中,我处理异常的方式如下

代码语言:javascript
复制
public  ErrorDTO createErrorResponse(ErrorMessage msg) {
        System.out.println("Exception occured "+msg.getPayload());
        ErrorDTO dto=new ErrorDTO ();
      ......................

msg.getPayload()显示了"org.springframework.integration.transformer.MessageTransformationException“的异常

异常消息堆栈跟踪:

代码语言:javascript
复制
Exception occured org.springframework.integration.transformer.MessageTransformationException: Failed to transform Message; nested exception is org.springframework.messaging.MessageHandlingException: nested exception

我在这里做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2017-07-04 11:51:48

这确实是正确的,也是有用的。首先,在组件之间松散耦合是首要原则的情况下处理消息传递。另一个优点是将failedMessage设置为MessagingException的属性,您可以使用它来确定问题。

由于错误可能来自另一个线程,因此很难仅通过自定义异常来确定错误所在。无论如何,您总是可以在堆栈跟踪中找到自己的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44892850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档