ThreadPoolExecutor
에는 몇 개의 코어와 특정 최대 스레드 수를 실행합니다. 실행되는 작업은 각 스레드에 대해 HornetQ (독립 실행 형) 연결을 만들고 스레드가 실행되는 동안 해당 스레드를 활성 상태로 유지합니다. 그러나 스레드 keepAliveTime
이 만료되고 스레드가 종료되면 닫을 수 없습니다. 스레드가 죽기 직전에 리소스를 정리하는 방법이 있습니까?ThreadPoolExecutor는 스레드가 죽을 때 정리합니다.
이 중 하나는 HornetQ 연결에 풀링 솔루션을 사용하는 것입니다.
모든 의견을 보내 주시면 감사하겠습니다.
호출됩니다 시도 (문 = statement.open()) {} 및 자동 닫혀를 사용해야합니다 : "그러나, 우리는 때를 닫을 수 없습니다 스레드 keepAliveTime "... 그게 무슨 뜻이야. 나는 당신에게 대답하려고했지만 질문을 이해할 수 없었다. 나는 HornetQ의 프로젝트 책임자 다. 나는 당신에게 대답하려고 노력할 것이다. –
나는 Genti와 함께 일합니다. 우리는 스레드가 유휴 상태로 죽을 때 HornetQ 연결을 자동으로 닫는 방법 (가능한 경우)을 파악하려고합니다. 스레드가 활성화되어있는 동안 각 스레드에서 HornetQ에 대한 연결을 열린 상태로 유지하는 것이 좋습니다. 현재, 로그에서 HornetQ 연결이 열린 상태로 남아 있다는 경고가 표시됩니다. 나쁘지는 않지만 로그를 스팸하지 않는 것이 좋습니다. –
HornetQ 독립 실행 형을위한 풀링 솔루션 (연결 및 세션)을 구현할 수 있다면 좋을 것입니다. 메시지를 보낸 후에 연결 및 세션을 풀로 반환하고 풀에서 걱정할 수 있습니다. –