WebLogic 을 사용하다 만난 기묘한 에러와 해결 방법

*** 검색어: 웹로직, 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}



댓글

Designed by JB FACTORY