JBoss EAP 7 운영중 특정 쓰레드가 몇초 이상 Hang / Stuck 상태에 빠진것을 감지하고 싶을때 StuckThreadDetectionHandler
를 사용한 아래 방법으로 로그에 남길수 있다.
#
부분에 원하는 시간(초)를 입력한다. 해당 시간이상 멈춘 쓰레드는 로그에 남는다.
<host name="default-host" alias="localhost"> <location name="/" handler="welcome-content"/> <filter-ref name="server-header"/> <filter-ref name="x-powered-by-header"/> <filter-ref name="stuck" /> <!-- 이부분 추가 added --> </host> ... <filters> <response-header name="server-header" header-name="Server" header-value="JBoss-EAP/7"/> <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/> <expression-filter name="stuck" expression="blocking; stuck-thread-detector(#)"/> <!-- 이부분 추가 added --> </filters>
CLI Script 는 아래 방법으로 입력한다.
/subsystem=undertow/configuration=filter/expression-filter=stuck:add(expression="blocking; stuck-thread-detector(#)") /subsystem=undertow/server=default-server/host=default-host/filter-ref=stuck:add