activemq 종료 또는 재시작 할때 아래와 비슷한 로그가 나면서 종료가 안되거나 강제종료가 되는 경우가 있다.
Connecting to pid: 5184
INFO: failed to resolve jmxUrl for pid:5184, using default JMX url
Connecting to JMX URL: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
INFO: Broker not available at: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
...............................
INFO: Regular shutdown not successful, sending SIGKILL to process
INFO: sending SIGKILL to pid '5184'
메세지를 보면 jmx에 관련된 메세지로 보이는데 activemq는 jmx 관련 정보가 있는 tools.jar 파일을 기본적으로 $JAVA_HOME/../lib/tools.jar에서 찾는다.
그러므로 자바 sdk를 설치한 후 $JDK_HOME/jre 디렉토리를 java_home으로 설정해주면 문제가 발생하지 않는다.
그러기 위해서는 activemq_home/bin/env 파일을 열어 최 하단에 JAVA_HOME 변수에 위와 같이 jdk 밑에 있는 jre 경로($JDK_HOME\jre)를 설정해주면 문제가 발생하지 않는다. (env파일은 activemq start를 한번이라도 실행하면 생성된다)
# ACTIVEMQ_HOME/bin/env 파일 하단에 아래와 같은 형태로 추가해준다
JAVA_HOME="/home/user/jdk1.8.0_131/jre"