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"




License
달리 정하지 않는 한, 이 저작물 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Except where otherwise noted, this content is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea License

Missing Database Connection
Error: Mysql requires a database connection

Error: Confirm you have created the file : app/Config/database.php.

Notice: If you want to customize this error message, create app/View/Errors/missing_connection.ctp.

Stack Trace

#0 /home/widyou/www/blog/lib/Cake/Model/ConnectionManager.php(101): DboSource->__construct(Array)
#1 /home/widyou/www/blog/lib/Cake/Model/Model.php(3241): ConnectionManager::getDataSource('default')
#2 /home/widyou/www/blog/lib/Cake/Model/Model.php(1030): Model->setDataSource('default')
#3 /home/widyou/www/blog/lib/Cake/Model/Model.php(3265): Model->setSource('posts')
#4 /home/widyou/www/blog/lib/Cake/Model/Model.php(2483): Model->getDataSource()
#5 /home/widyou/www/blog/app/Controller/PostsController.php(7): Model->find('all')
#6 [internal function]: PostsController->index()
#7 /home/widyou/www/blog/lib/Cake/Controller/Controller.php(473): ReflectionMethod->invokeArgs(Object(PostsController), Array)
#8 /home/widyou/www/blog/lib/Cake/Routing/Dispatcher.php(104): Controller->invokeAction(Object(CakeRequest))
#9 /home/widyou/www/blog/lib/Cake/Routing/Dispatcher.php(86): Dispatcher->_invoke(Object(PostsController), Object(CakeRequest), Object(CakeResponse))
#10 /home/widyou/www/blog/app/webroot/index.php(96): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#11 {main}



 
php를 세팅한 후 Cakephp 예제를 따라하는데 위와같이 아주 이쁘고 사람 미치게하는 에러가 계속해서 발생했다.
아무리 포럼을 뒤져보고 해도 해결되지 않는 문제. 저 문제가 나는 경우가 매우 극소수인듯 한데다가 가끔 달린 답변글은 암호가 다르거나 어쩌구저쩌구..
이것떄문에 하루를 버리다가 끄트머리에서 cakephp도 로그를 남기겠지 하고 로그를 뒤져보았다.
로그는 app/tmp/logs/error.log 에 위치해있었다.
아래로 쭉 내려보니 원인을 추정할 수있는 단서를 찾을 수 있었다.

2012-03-01 23:09:05 Error: [MissingConnectionException] Database connection     "Mysql" is missing, or could not be created.



아니 이게 무슨소리야! mysql연결에 쓰는 객체 자체가 없다니!
cakephp가 곶아라니!
저 에러로 검색을 해보니 cakephp는 pdo라는걸 이용해 db에 연결한다는 걸 알아냈다.
내 php에는 모듈이 하나도 없었으니 혹시나 하는 마음에 php 소스디렉토리에 가서 ext에 pdo로 시작하는 디렉토리를 찾아보니 떡하니 나오는 pdo_mysql...

속으로 온갖 욕을 하며 이전글처럼 모듈을 따로 빌드해다가 php에 넣었더니 무슨일 있었냐는 듯이 잘 연결된다.
으으 그래도 로그에서 저 한줄 찾은게 실마리가 되어서 다행이다.
오늘안에 못돌리면 포기하려고 했는데. 휴~

내일은 튜토리얼대로 간단한거 하나 만들어보고 내가만든 네모로직게임 자바스크립트 라이브러리로 사이드 하나 만들어본 후 잘 돌아가면 가상서버호스팅까지 해봐야겠다.

가상서버호스팅 대비해서 서버도 vmware는 최소화해놓고 후 모든 작업은 putty로 ssh콘솔 열어서 작업하고 있다.
영어채팅이 점점 빨라지는 기분이야!

아무튼 이런 삽질은 나만 하자는 마음으로 기록을 공유해본다.

계속 삽질하니 점점 apache와 php에 대해 알아가고 있는 느낌이 들어 좋다. 

License
달리 정하지 않는 한, 이 저작물 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Except where otherwise noted, this content is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea License

+ Recent posts