2016-09-12 2 views
0

Я использую CXF 3.0.6CXF HTTP Пулы соединений CLOSE_WAIT

Я вызов маршрута с использованием ProducerTemplate

У меня есть CxF конечной точки, как показано ниже в моем контексте верблюда .. (TEST_ENDPOINT является актуальным конечная точка)

<route id="invokePostRestService"> 
     <from uri="direct:invokeWS" /> 
     <log message=" ${body}" /> 
     <to uri="cxf://{{TEST_ENDPOINT}}?dataFormat=payload&amp;loggingFeatureEnabled=true" /> 
     <log message=" ${body}" /> 
</route> 


<http-conf:conduit name="*.http-conduit"> 
       <http-conf:client ConnectionTimeout="30000" 
         ReceiveTimeout="30000" MaxRetransmits="1" 
         AllowChunking="false" /> 
     </http-conf:conduit> 

     <bean id="systemProps" 
       class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> 
       <property name="targetObject" value="#{@systemProperties}" /> 
       <property name="targetMethod" value="putAll" /> 
       <property name="arguments"> 
         <util:properties> 
           <prop key="http.maxConnections">11</prop> 

         </util:properties> 
       </property> 
     </bean> 

Я думаю CXF каротаж мешая log4j.xml в Jetty/ресурсы/log4j.xml как-то, что, когда я установить уровень регистрации погрешности в log4j.xml, я вижу, что CLOSE_WAIT нагромождение и http://webproverka.com/ .maxConnections выходит выше 100+ (как факт, всего лишь 11, настроено)

Когда я установил режим ведения журнала в INFO в log4j.xml, все работает как ожидалось, а http.maxConnections - 11! который, как и ожидалось, и не близок!

после отладки я вижу, что уровень ведения журнала является INFO в "org.apache.camel.processor.interceptor.BacklogDebugger", несмотря на ERROR в log4j.xml, может ли это быть причиной этой проблемы?

любая помощь ценится ...

ответ

0

Это может помочь кому-то еще, кто сталкивается с той же проблемой.

После отладки я обнаружил, что когда-либо контекст верблюда инициализируется, внутренне Logging перехватчик (Трассировка перехватчик) называется BacklogTracer также инициализируется, который внутренне использует INFO как уровень ведения журнала.

так, добавьте CXF: автобус в контексте XML, как показано ниже, ссылка -

http://cxf.apache.org/docs/bus-configuration.htmlc 
<cxf:bus> 
     <cxf:features> 
      <cxf:logging /> 
     </cxf:features> 
</cxf:bus> 

и в log4j.xml добавить это,

<logger name="org.apache.cxf" > 
    <level value="INFO" /> 
</logger> 

надеюсь, что это помогает ..

Смежные вопросы