You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Andrea Zoppello (JIRA)" <ji...@apache.org> on 2008/12/12 15:24:05 UTC

[jira] Reopened: (SM-1667) TransformBeanSupport does not correctly report errors for in-only exchanges

     [ https://issues.apache.org/activemq/browse/SM-1667?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Zoppello reopened SM-1667:
---------------------------------


Hi the patch introcuced here introduce a bug in handling done for TransformComponent Support.

the following exception is raised with a simple http <--> sm-bean.

javax.jbi.messaging.MessagingException: Out not supported
        at org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(MessageExchangeImpl.ja
va:357)
        at org.apache.servicemix.bean.support.TransformBeanSupport.processFirstExchange(TransformBea
nSupport.java:163)
        at org.apache.servicemix.bean.support.TransformBeanSupport.onMessageExchange(TransformBeanSu
pport.java:128)
        at org.apache.servicemix.bean.BeanEndpoint.onProviderExchange(BeanEndpoint.java:226)
        at org.apache.servicemix.bean.BeanEndpoint.process(BeanEndpoint.java:212)
        at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:600)
        at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:5
54)
        at org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java
:510)
        at org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.
java:60)
        at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImp
l.java:620)
        at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
        at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168)
        at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)

This is due to the fact that when a done arrives the processFirstMessage is called instead of calling processOngoinMessage.

Andrea



> TransformBeanSupport does not correctly report errors for in-only exchanges
> ---------------------------------------------------------------------------
>
>                 Key: SM-1667
>                 URL: https://issues.apache.org/activemq/browse/SM-1667
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-bean
>    Affects Versions: servicemix-bean-2008.01
>            Reporter: Ron Gavlin
>            Assignee: Guillaume Nodet
>            Priority: Critical
>             Fix For: servicemix-bean-2008.02, 3.2.4
>
>
> The smx-bean TransformBeanSupport class does not correctly report errors for in-only exchanges. If the target exchange status is ERROR, the source exchange status is still returned as DONE. This should be fixed for both sync and async use cases.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.