WebLogic 을 사용하다 만난 기묘한 에러와 해결 방법
- OS & Program/JAVA
- 2011. 2. 6. 11:08
*** 검색어: 웹로직, weblogic, javax.management.ListenernotFoundException: Unknown listener
에러는 아래와 같았습니다.
[was@tsisap01 mydomain]# application_status.sh weblogic weblogic t3://192.168.112.36:7001 | grep "Current state of" | grep crm
Problem invoking WLST - Traceback (innermost last):
File "/sw/weblogic/domains/mydomain/application_status.py", line 26, in ?
File "<iostream>", line 114, in disconnect
javax.management.ListenerNotFoundException: Unknown listener
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:222)
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:224)
at weblogic.management.mbeanservers.compatibility.internal.RemoteMBeanServerImpl_1002_WLStub.removeNotificationListener(Unknown Source)
at weblogic.management.scripting.WLSTHelper.removeChangeListeners(WLSTHelper.java:328)
at weblogic.management.scripting.WLScriptContext.dc(WLScriptContext.java:230)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:160)
at org.python.core.PyMethod.__call__(PyMethod.java:96)
at org.python.core.PyObject.__call__(PyObject.java:270)
at org.python.core.PyObject.invoke(PyObject.java:2041)
at org.python.pycode._pyx19.disconnect$2(<iostream>:114)
at org.python.pycode._pyx19.call_function(<iostream>)
at org.python.core.PyTableCode.call(PyTableCode.java:208)
at org.python.core.PyTableCode.call(PyTableCode.java:404)
at org.python.core.PyTableCode.call(PyTableCode.java:253)
at org.python.core.PyFunction.__call__(PyFunction.java:169)
at org.python.pycode._pyx18.f$0(/sw/weblogic/domains/mydomain/application_status.py:26)
at org.python.pycode._pyx18.call_function(/sw/weblogic/domains/mydomain/application_status.py)
at org.python.core.PyTableCode.call(PyTableCode.java:208)
at org.python.core.PyCode.call(PyCode.java:14)
at org.python.core.Py.runCode(Py.java:1135)
at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:167)
at weblogic.management.scripting.WLST.main(WLST.java:106)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at weblogic.WLST.main(WLST.java:29)
Caused by: javax.management.ListenerNotFoundException: Unknown listener
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.removeNotificationListener(DefaultMBeanServerInterceptor.java:1303)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.removeNotificationListener(DefaultMBeanServerInterceptor.java:1186)
at com.sun.jmx.mbeanserver.JmxMBeanServer.removeNotificationListener(JmxMBeanServer.java:871)
at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$23.run(WLSMBeanServerInterceptorBase.java:608)
at java.security.AccessController.doPrivileged(AccessController.java:246)
at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.removeNotificationListener(WLSMBeanServerInterceptorBase.java:606)
at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$23.run(WLSMBeanServerInterceptorBase.java:608)
at java.security.AccessController.doPrivileged(AccessController.java:246)
at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.removeNotificationListener(WLSMBeanServerInterceptorBase.java:606)
at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$23.run(WLSMBeanServerInterceptorBase.java:608)
at java.security.AccessController.doPrivileged(AccessController.java:246)
at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.removeNotificationListener(WLSMBeanServerInterceptorBase.java:606)
at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$23.run(WLSMBeanServerInterceptorBase.java:608)
at java.security.AccessController.doPrivileged(AccessController.java:246)
at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.removeNotificationListener(WLSMBeanServerInterceptorBase.java:606)
at weblogic.management.jmx.mbeanserver.WLSMBeanServer.removeNotificationListener(WLSMBeanServer.java:381)
at weblogic.management.mbeanservers.compatibility.internal.RemoteMBeanServerImpl.removeNotificationListener(RemoteMBeanServerImpl.java:158)
at weblogic.management.mbeanservers.compatibility.internal.RemoteMBeanServerImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:591)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:482)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:478)
at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:62)
at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:1040)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
javax.management.ListenerNotFoundException: javax.management.ListenerNotFoundException: Unknown listener
Current state of crm in server CRM_server source path : /app/was/crm is ==> STATE_ACTIVE
해결방법은 weblogic.jar 파일이 있는 경로를 java -cp 옵션으로 정의해주는 것이었습니다.
CLASS_PATH="/sw/weblogic/wlserver_10.0/server/lib/weblogic.jar"
${JAVA_HOME}/bin/java -cp ${CLASS_PATH} ${JAVA_OPTIONS} weblogic.WLST ${CK_EXECUTE_PATH}/application_status.py ${userID} ${password} ${ADMIN_URL}
'OS & Program > JAVA' 카테고리의 다른 글
ant 를 이용하여 특정한 java 파일만을 빌드하는 방법 (0) | 2011.03.09 |
---|---|
java IOException 및 문자열 입력 예제 (0) | 2011.02.08 |
ant에서 사용하는 build.xml 파일의 encoding 지정하는 방법 (0) | 2011.01.25 |
ant 에서 copy 작업에서 디렉터리 제외 시키는 예제 (0) | 2010.12.01 |
JAVA에서 상속을 이용한 예제 (0) | 2010.08.08 |