Issue Details (XML | Word | Printable)

Key: SM-910
Type: Improvement Improvement
Status: Closed Closed
Resolution: Won't Fix
Priority: Major Major
Assignee: Unassigned
Reporter: Dominique De Vito
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
ServiceMix

better handling of unavailable external http services

Created: 29/Mar/07 08:10 AM   Updated: 02/May/07 10:36 AM
Return to search
Component/s: servicemix-http
Affects Version/s: 3.1
Fix Version/s: None

Time Tracking:
Original Estimate: 1 hour
Original Estimate - 1 hour
Remaining Estimate: 1 hour
Remaining Estimate - 1 hour
Time Spent: Not Specified
Remaining Estimate - 1 hour

File Attachments:
  Size
Text File patchfile.txt 2007-03-29 08:10 AM Dominique De Vito 3 kB
Issue Links:
Supercedes
 

Patch Info: Patch Available


 Description  « Hide
The org.apache.servicemix.http.processors.ProviderProcessor calls an external http service.

When calling an unavailable external http service, the following stack trace appears after an exception rise:

java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:516)
at java.net.Socket.connect(Socket.java:466)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:239)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:79)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:121)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:706)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1321)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:386)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
at org.apache.servicemix.http.processors.ProviderProcessor.process(ProviderProcessor.java:168)
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)

I think handling could be improved in case of (exchange instanceof InOnly == false), so that a response could be returned.

See the attached patch.



 All   Comments   Work Log   Change History   Subversion Commits   FishEye   Crucible      Sort Order: Ascending order - Click to sort in descending order
Guillaume Nodet made changes - 06/Apr/07 11:50 AM
Field Original Value New Value
Status Open [ 1 ] Closed [ 6 ]
Resolution Won't Fix [ 2 ]
Guillaume Nodet made changes - 06/Apr/07 11:50 AM
Link This issue is superceded by SM-716 [ SM-716 ]
Guillaume Nodet made changes - 02/May/07 10:35 AM
Resolution Won't Fix [ 2 ]
Status Closed [ 6 ] Reopened [ 4 ]
Guillaume Nodet made changes - 02/May/07 10:35 AM
Fix Version/s 3.1.1 [ 11811 ]
Guillaume Nodet made changes - 02/May/07 10:36 AM
Status Reopened [ 4 ] Closed [ 6 ]
Resolution Won't Fix [ 2 ]