You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Guillaume Nodet (JIRA)" <ji...@apache.org> on 2008/10/07 09:52:52 UTC

[jira] Updated: (SM-1294) Null MessageExchange parameter passed to sendError() method after HttpConsumerEndpoint timeout

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

Guillaume Nodet updated SM-1294:
--------------------------------

    Fix Version/s: servicemix-http-2008.01

> 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
>             Fix For: 3.2.2, 3.3, servicemix-http-2008.01
>
>         Attachments: SM-1294-diff.txt
>
>
> 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.