[
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.