Announcement Announcement Module
Collapse
No announcement yet.
Error Channel not invoking properly wired error handling endpoint Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Error Channel not invoking properly wired error handling endpoint

    Hi,

    This is a bit of a re-post from a couple of days ago. I have a flow defined, where all endpoints are producing and consuming on non-blocking channels. I am testing out exception handling and my exception handler is not called. I get a stack trace which is pasted below along with my configuration.

    Another note about this problem, is that my flow freezes once the message transform exception, (see below), is thrown. Perhaps this is a known bug that control isn't returned, or I have something misconfigured. (Note also, that my configuration is pretty much lifted verbatim from the error handling tutorial).

    STACK TRACE:
    [java] Exception in thread "main" org.springframework.beans.ConversionNotSupportedEx ceptio
    n: Failed to convert value of type 'org.springframework.integration.transformer.Messa geTransfor
    mationException' to required type 'com.traveltripper.stargazer.intg.msg.ReservationD etails'; ne
    sted exception is java.lang.IllegalStateException: Cannot convert value of type [org.springfram
    ework.integration.transformer.MessageTransformatio nException] to required type [com.traveltripp
    er.stargazer.intg.msg.ReservationDetails]: no matching editors or conversion strategy found
    [java] at org.springframework.beans.SimpleTypeConverter.conv ertIfNecessary(SimpleTypeC
    onverter.java:53)
    [java] at org.springframework.beans.SimpleTypeConverter.conv ertIfNecessary(SimpleTypeC
    onverter.java:41)
    [java] at org.springframework.integration.gateway.GatewayPro xyFactoryBean.invokeGatewa
    yMethod(GatewayProxyFactoryBean.java:210)
    [java] at org.springframework.integration.gateway.GatewayPro xyFactoryBean.invoke(Gatew
    ayProxyFactoryBean.java:172)
    [java] at org.springframework.aop.framework.ReflectiveMethod Invocation.proceed(Reflect
    iveMethodInvocation.java:172)
    [java] at org.springframework.aop.framework.JdkDynamicAopPro xy.invoke(JdkDynamicAopPro
    xy.java:202)
    [java]
    [java] -------- -------- -------- --------
    [java] ---- Starting a new outbound flow. PMS System: LMS
    [java]
    [java]
    [java]
    [java]
    [java] -- IN SingleChannelRouter.resolveOutboundMsgTransformCha nnel() ****
    [java] - channel=reservationToHtng2009ATransformer
    [java]
    [java]
    [java] -- IN HotelResNotifRQAdaptor.doBindExternal()
    [java]
    [java] at $Proxy5.createReservationAsync(Unknown Source)
    [java] at com.traveltripper.stargazer.intg.svc.proto.Service Client.main(ServiceClient.
    java:89)
    [java] Caused by: java.lang.IllegalStateException: Cannot convert value of type [org.sprin
    gframework.integration.transformer.MessageTransfor mationException] to required type [com.travel
    tripper.stargazer.intg.msg.ReservationDetails]: no matching editors or conversion strategy foun
    d
    [java] at org.springframework.beans.TypeConverterDelegate.co nvertIfNecessary(TypeConve
    rterDelegate.java:289)
    [java] at org.springframework.beans.TypeConverterDelegate.co nvertIfNecessary(TypeConve
    rterDelegate.java:104)
    [java] at org.springframework.beans.SimpleTypeConverter.conv ertIfNecessary(SimpleTypeC
    onverter.java:47)
    [java] ... 7 more

  • #2
    here is the configuration i forgot to post:

    THE CHANNEL MY EXCEPTION THROWING ENDPOINT CONSUMES ON:

    <integration:channel id="myTransformer">
    <integration:dispatcher task-executor="asyncTaskExecutor"/>
    </integration:channel>

    THE DEFINITION AND CONFIGURATION OF MY EXCEPTION HANDLER: (note that it listens on the default 'errorChannel')

    <integration:service-activator input-channel="errorChannel"
    ref="flowExceptionHandler"
    method="onException"/>
    <bean id="flowExceptionHandler"
    class="my.pkg.FlowExceptionHandler"/>

    Comment


    • #3
      What version of SI are you using and does your flow begins with the Gateway?

      Comment


      • #4
        Sorry for not providing those details earlier:

        Spring Integration Version: 1.0.4
        JDK Version: 1.6.0_16
        Container Environment: None - invoking via a main(...) inside of JVM using Ant to start the java process

        Yes. My flow begins with an invocation of a method annotated with @Gateway(requestChannel="myNonBlockingChannel")

        Comment

        Working...
        X