2013-05-21 1 views
2

Camel 경로 종료에 관한 한 가지 질문이 있습니다.낙타 컨텍스트/경로가 성공적으로 종료 된 후에도 연결이 CLOSE_WAIT에 걸려 있습니다.

from("seda:" + this.getDumpIdentifier() + "_insertInSolr?concurrentConsumers=50&pollTimeout=1") 
      // use streaming to increase index throughput 
      .setHeader(SolrConstants.OPERATION, constant(SolrConstants.OPERATION_INSERT_STREAMING)) 
      .setExchangePattern(ExchangePattern.InOnly) 
      // define solr endpoint and options 
      .to("solr://" + this.getSolrEndPoint() 
        + "?defaultMaxConnectionsPerHost=50&maxTotalConnections=150&maxRetries=3&allowCompression=true") 
      // 
      .log(LoggingLevel.DEBUG, "Successfully indexed document ID=${header.DOCUMENT_ID}.") 
      // end this route 
      .end(); 

나는 낙타 컨텍스트 (이 경로를) 시작 org.apache.camel.main.Main 사용하고 -

은 아래 경로에 대한 코드입니다. 내가 성공적으로 처리 할 때 - camelMain.stop(); camelMain.shutdown();

그러나 경로가 성공적으로 종료 된 후에도 CLOSE_WAIT 상태 (이 Indexer 응용 프로그램에서 tomcat에 배포 된 solr 서버)의 TCP 연결이 계속 표시됩니다. -

일부 관측 로그에서 1. 나는 SOLR에 관련된 아무것도 볼 수없는 M : // "엔드 포인트를 나는 로그 경로의 성공적인 정상 종료를보고 있어요
2. 예 :
.. "메시지 경로가 : 엔드 포인트 : route6 종료 전체에서 소모 된 [Seda의 : // eventIncr_insertInSolr concurrentConsumers = 100 & pollTimeout = 1?] ..."

질문 -
어떤 생각을 왜 SOLR의 기본이되는 구현은 다음과 같습니다 // 경로가 종료 된 후에도 연결을 해제하지 않습니다 (낙타 상황 종료)?

+0

어떤 Camel 버전을 사용하십니까? –

+0

Camel 2.9.2를 사용 중입니다. – Rishi

+0

@ClausIbsen 낙타 ** 2.11.0 **을 사용해 보았지만 여전히 CLOSE_WAIT에서 연결을보고 있습니다. 내 로컬 컴퓨터에서도 빠른 테스트를 수행했습니다. 색인을 생성 할 문서가 하나 뿐이므로 작업이 완료된 후에도 CLOSE_WAIT에 하나의 연결이 생성되고 남아 있습니다. – Rishi

답변

0

낙타의 버그. camel-solr 구성 요소를 중지 할 때 자원이 제대로 중지되지 않습니다. 티켓을 기록했습니다. https://issues.apache.org/jira/browse/CAMEL-6396

+0

고마워요! 티켓이 해결 된 것을 볼 수 있습니다. 출시 버전을 공유 할 수 있습니까? – Rishi

+0

수정 버전/ 2.11.1, 2.12.0 –

관련 문제