camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ashwin74268 <sha.as...@gmail.com>
Subject Sockets getting closed after 200 seconds
Date Wed, 23 Jul 2014 19:52:23 GMT
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.

Mime
View raw message