Null MessageExchange parameter passed to sendError() method after 
HttpConsumerEndpoint timeout
----------------------------------------------------------------------------------------------

                 Key: SM-1294
                 URL: https://issues.apache.org/activemq/browse/SM-1294
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-http
    Affects Versions: 3.2.1
            Reporter: Bruce Snyder
            Assignee: Bruce Snyder


If a request to HttpConsumerEndpoint timesout, the container is returning an 
"Exchange Not Found" error:

{code}
2007-11-15 12:48:11,557 [main           ] INFO  ConsumerEndpointTimeoutTest    
- <?xml version='1.0' 
encoding='UTF-8'?><error><![CDATA[java.lang.IllegalStateException: Exchange not 
found
        at 
org.apache.servicemix.http.endpoints.HttpConsumerEndpoint.process(HttpConsumerEndpoint.java:259)
        at 
org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:71)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
        at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
        at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
        at org.mortbay.jetty.Server.handle(Server.java:320)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:375)
        at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
        at 
org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation.run(SelectChannelConnector.java:511)
        at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
]]></error>
{code}

This looks to be caused due to the httpConsumerEndpoint populating the 
exchanges hashmap just before calling resume() on the continuation. When a 
timeout occurs, this logic is not executed so the exchanges hashmap is missing 
the exchange. 


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