You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by "pawel.jasinski" <pa...@gmail.com> on 2008/09/16 22:10:06 UTC
no redelivery on cxf provider
hi,
I have the following route:
from("vm:in").to("cxf:http://localhost:8088/deadServer? ...");
the destination is not started (connection refused on locahost, port 8088).
When I send something down "vm:in", I see no redelivery (only the
exception).
Configuration of exception/error handler has no impact.
When I change the route to:
from("vm:in").to("http://localhost:8088/deadServer");
everything work as expected (redelivery and exception/error handler).
Pawel
Here is what is logged in the first case:
Sep 16, 2008 10:01:13 PM org.apache.cxf.phase.PhaseInterceptorChain
doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Connection refused
at
org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:95)
at
org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242)
at
org.apache.camel.component.cxf.CxfProducer.invokeClient(CxfProducer.java:297)
at org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:203)
at org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:176)
at
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:50)
at
org.apache.camel.processor.LoggingErrorHandler.process(LoggingErrorHandler.java:52)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
at org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:66)
at java.lang.Thread.run(Thread.java:595)
Caused by: com.ctc.wstx.exc.WstxIOException: Connection refused
at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:313)
at
org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:93)
... 17 more
Caused by: java.net.ConnectException: Connection refused
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.Socket.connect(Socket.java:520)
at sun.net.NetworkClient.doConnect(NetworkClient.java:152)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:388)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:523)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:231)
at sun.net.www.http.HttpClient.New(HttpClient.java:304)
at sun.net.www.http.HttpClient.New(HttpClient.java:321)
at
sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:813)
at
sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:765)
at
sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:690)
at
sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:857)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1807)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1765)
at
org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:42)
at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:96)
at com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214)
at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:311)
... 18 more
--
View this message in context: http://www.nabble.com/no-redelivery-on-cxf-provider-tp19519609s22882p19519609.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: no redelivery on cxf provider
Posted by Willem Jiang <wi...@gmail.com>.
Hi Pawel,
I just went through the code, the exception is caught by CxfProducer so
the deadLetterChannel will not redeliver the message in your test case.
I create a JIRA[1] for it and will fix it in my next commit.
[1]https://issues.apache.org/activemq/browse/CAMEL-917
Willem
pawel.jasinski wrote:
> hi,
>
>
> I have the following route:
>
> from("vm:in").to("cxf:http://localhost:8088/deadServer? ...");
>
> the destination is not started (connection refused on locahost, port 8088).
> When I send something down "vm:in", I see no redelivery (only the
> exception).
> Configuration of exception/error handler has no impact.
>
> When I change the route to:
>
> from("vm:in").to("http://localhost:8088/deadServer");
>
> everything work as expected (redelivery and exception/error handler).
>
> Pawel
>
>
> Here is what is logged in the first case:
>
> Sep 16, 2008 10:01:13 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Connection refused
> at
> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:95)
> at
> org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242)
> at
> org.apache.camel.component.cxf.CxfProducer.invokeClient(CxfProducer.java:297)
> at org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:203)
> at org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:176)
> at
> org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75)
> at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
> at
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
> at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:50)
> at
> org.apache.camel.processor.LoggingErrorHandler.process(LoggingErrorHandler.java:52)
> at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)
> at
> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
> at org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:66)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: com.ctc.wstx.exc.WstxIOException: Connection refused
> at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:313)
> at
> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:93)
> ... 17 more
> Caused by: java.net.ConnectException: Connection refused
> 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.Socket.connect(Socket.java:520)
> at sun.net.NetworkClient.doConnect(NetworkClient.java:152)
> at sun.net.www.http.HttpClient.openServer(HttpClient.java:388)
> at sun.net.www.http.HttpClient.openServer(HttpClient.java:523)
> at sun.net.www.http.HttpClient.<init>(HttpClient.java:231)
> at sun.net.www.http.HttpClient.New(HttpClient.java:304)
> at sun.net.www.http.HttpClient.New(HttpClient.java:321)
> at
> sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:813)
> at
> sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:765)
> at
> sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:690)
> at
> sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:857)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1807)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1765)
> at
> org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:42)
> at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:96)
> at com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214)
> at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:311)
> ... 18 more
>
>
>