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