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

Freeman Fang resolved SMXCOMP-718.
----------------------------------

    Resolution: Working as Designed

> Improper handling of exchange if there is no out message in exchange.
> ---------------------------------------------------------------------
>
>                 Key: SMXCOMP-718
>                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-718
>             Project: ServiceMix Components
>          Issue Type: Bug
>          Components: servicemix-http
>    Affects Versions: servicemix-http-2009.02
>         Environment: Windows XP, FUSE ESB 3.4.0.4
>            Reporter: Ryan Moquin
>            Assignee: Freeman Fang
>            Priority: Minor
>
> I'm guessing this is the same in the newer servicemix-http components (I 
> can't find the source to verify), but I noticed that this error happens a 
> fair amount:
> <error>
> java.lang.IllegalStateException: component is not owner when trying to set 
> error: java.lang.IllegalStateException: component is not owner
>       at 
> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setError(MessageExchangeImpl.java:264)
>       at 
> org.apache.servicemix.common.endpoints.SimpleEndpoint.fail(SimpleEndpoint.java:93)
>       at 
> org.apache.servicemix.http.endpoints.HttpConsumerEndpoint.process(HttpConsumerEndpoint.java:326)
>       at 
> org.apache.servicemix.http.HttpBridgeServlet.service(HttpBridgeServlet.java:56)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>       at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
>       at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
>       at 
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>       at 
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>       at 
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>       at org.mortbay.jetty.Server.handle(Server.java:320)
>       at 
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>       at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:397)
>       at 
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>       at 
> org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation.run(SelectChannelConnector.java:525)
>       at 
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
> Caused by: java.lang.IllegalStateException: component is not owner
>       at 
> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setStatus(MessageExchangeImpl.java:251)
>       at 
> org.apache.servicemix.common.endpoints.SimpleEndpoint.done(SimpleEndpoint.java:84)
>       at 
> org.apache.servicemix.http.endpoints.HttpConsumerEndpoint.process(HttpConsumerEndpoint.java:324)
>       ... 14 more
> </error>
> This happens if there is no out message on the exchange when it's an InOut, 
> after processing the retrycontinuation.  It seems as though this if statement:
> NormalizedMessage outMsg = exchange.getMessage("out");
>             if (outMsg != null) {
>               sendOut(exchange, outMsg, request, response);
>             }
>            done(exchange);
> should throw an exception if there is no out message and the Exchange is an 
> InOut message.  Otherwise, the done message is called at an inappropriate 
> time since the sendOut gets skipped and the done then gets called.

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

Reply via email to