camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: Sockets getting closed after 200 seconds
Date Thu, 24 Jul 2014 06:41:21 GMT
Hi

Maybe you have a firewall in between that closes inactive connections
after X period of time.

On Wed, Jul 23, 2014 at 9:52 PM, ashwin74268 <sha.ash16@gmail.com> wrote:
> Hi ,
> I am running into a strange problem of sockets getting closed after exact
> 200seconds. My application is OSGI bases running with  servicemix ,
> camel-cxf version 2.8-fuse-06-11. Routes are built using DSL in Java
> Classes.
> A - Client
> B - Server
>
> 1) Client is submiting the request(It re-uses at its end and sending us
> COnnection:Keep-Alive) and it keeps on sending the request by re-using the
> connections.
> 2) When there is no traffic for 200 seconds, the socket is closed by the
> Server but Client is still assuming that socket is open as it has requested
> to Keep-Alive connections. When Client send a new request  after 200 seconds
> assuming the socket is still intact, it gets broken pipe exception and I can
> see FIN/ACK in the tcpdumps at Server Side.
> 3) Server has routes configured to expose webservices and here is my spring
> configuration file:-
>
> <beans xmlns="http://www.springframework.org/schema/beans"
>         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>         xmlns:camel="http://camel.apache.org/schema/spring"
>         xmlns:cxf="http://cxf.apache.org/core"
>         xmlns:ccxf="http://camel.apache.org/schema/cxf"
>         xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration"
>         xmlns:osgi="http://www.springframework.org/schema/osgi"
>         xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
>
>         xsi:schemaLocation=" http://www.springframework.org/schema/beans
>                 http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
>                 http://camel.apache.org/schema/osgi
>                 http://camel.apache.org/schema/osgi/camel-osgi.xsd
>                 http://camel.apache.org/schema/spring
>                 http://camel.apache.org/schema/spring/camel-spring.xsd
>                 http://camel.apache.org/schema/cxf
>                 http://camel.apache.org/schema/cxf/camel-cxf.xsd
>             http://www.springframework.org/schema/osgi
>         http://www.springframework.org/schema/osgi/spring-osgi.xsd
>                 http://cxf.apache.org/transports/http-jetty/configuration
>                 http://cxf.apache.org/schemas/configuration/http-jetty.xsd
>                 http://cxf.apache.org/transports/http/configuration
>         http://cxf.apache.org/schemas/configuration/http-conf.xsd
>                 http://cxf.apache.org/core
>                 http://cxf.apache.org/schemas/core.xsd
>         http://www.springframework.org/schema/beans
>         http://www.springframework.org/schema/beans/spring-beans.xsd">
>
>         <import resource="classpath:META-INF/cxf/cxf.xml" />
>         <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
>         <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
>         <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" />
>         <import resource="classpath:META-INF/cxf/cxf-extension-ws-security.xml" />
>         <http-conf:conduit name="*.http-conduit">
>     <http-conf:client Connection="Keep-Alive"
>                       MaxRetransmits="1"
>                       AllowChunking="false" />
>    </http-conf:conduit>
>
>
>         <httpj:engine-factory bus="cxf">
>       <httpj:engine port="0">
>         <httpj:threadingParameters minThreads="50" maxThreads="3000" />
>       </httpj:engine>
>     </httpj:engine-factory>
>    ..............<.....application specific bean definitions ...>
>
>    <camelContext id="camelContext-service-sms" trace="true"
> xmlns="http://camel.apache.org/schema/spring">
>         <threadPoolProfile id="defaultThreadPoolProfile" defaultProfile="true"
>                         poolSize="100" maxPoolSize="100" maxQueueSize="1000"
>                         rejectedPolicy="CallerRuns"/>
>         </camelContext>
> </beans>
>
>
> With above configuration, http-conduit settings does seems to be making any
> difference. I also tried setting  ReceiveTimeout="0" ConnectionTimeout="0"
> but that did not helped either.
> Also tried to set http-conf:server parameters using below setting to honor
> Keep-Alive HTTP connections.
>
> <http-conf:destination name="*.http-destination">
>                 <http-conf:server HonorKeepAlive="true"/>
> </http-conf:destination>
>
> I looked at several posts on Camel, CXF but not sure what is wrong here.
>
> Can anyone help me understand why the sockets are getting closed and how can
> I configure my service endpoint/Jetty server to Keep-Alive connection
> without getting timeout.
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Sockets-getting-closed-after-200-seconds-tp5754314.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cibsen@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/

Mime
View raw message