2011년 12월 28일 수요일

[WebSphere] ClassNotFoundException: com.ibm.mq.connector.ResourceAdapterImpl

WebSphere Application Server v7.x에서 다음과 같은 MQ 관련 classes를 못찾는다는 error message가 확인된다면 다음과 같이 조치해보기 바란다.

문제 관련 log
 RAWrapperImpl E   J2CA0043E: cells/dbliamldevNode01Cell/resources.xml#J2CResourceAdapter_1297877877763 키로 정의된 설치된 ResourceAdapter의 ResourceAdapter JavaBean 인스턴스를 인스턴스화하려는 중에 예외가 발생했습니다. 예외: java.lang.ClassNotFoundException: com.ibm.mq.connector.ResourceAdapterImpl



'java.lang.ClassNotFoundException: com.ibm.mq.connector.ResourceAdapterImpl' after installing Portal v6101 on WAS v700x.



Problem

After installing WebSphere Portal v6101 on WAS v700x, you find several errors when starting the server: 'java.lang.ClassNotFoundException: com.ibm.mq.connector.ResourceAdapterImpl'

Symptom

The full exceptions in the SystemOut.log will be:
===============================
[10/6/09 10:15:53:634 EDT] 00000000 FfdcProvider I com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on C:\IBM\WebSphere\wp_profile\logs\ffdc\WebSphere_Portal_2480248_09.10.06_10.15.53.6033212445618058278076.txt com.ibm.ejs.j2c.RALifeCycleManagerImpl.resourceProviderEvent 655
[10/6/09 10:15:53:634 EDT] 00000000 RALifeCycleMa E J2CA0145W: Unable to start ResourceAdapter due to the following exception: java.lang.ClassNotFoundException: com.ibm.mq.connector.ResourceAdapterImpl
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.ibm.ejs.j2c.RAWrapperImpl.createAndConfigureRA(RAWrapperImpl.java:2212)
at com.ibm.ejs.j2c.RAWrapperImpl.startRA(RAWrapperImpl.java:689)
at com.ibm.ejs.j2c.RALifeCycleManagerImpl.startRA(RALifeCycleManagerImpl.java:1107)
at com.ibm.ejs.j2c.RALifeCycleManagerImpl.resourceProviderEvent(RALifeCycleManagerImpl.java:829)

[10/6/09 10:15:53:665 EDT] 00000009 RecoveryManag A WTRN0028I: Transaction service recovering 0 transactions. These are transactions that will be committed.
[10/6/09 10:15:53:665 EDT] 00000000 RAWrapperImpl E J2CA0043E: An Exception occurred while trying to instantiate a ResourceAdapter JavaBean instance for the installed ResourceAdapter defined by key cells/myCell/nodes/myCell/resources.xml#J2CResourceAdapter_1221506004187. The exception is: java.lang.ClassNotFoundException: com.ibm.mq.connector.ResourceAdapterImpl
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.ibm.ejs.j2c.RAWrapperImpl.createAndConfigureRA(RAWrapperImpl.java:2212)
at com.ibm.ejs.j2c.RAWrapperImpl.startRA(RAWrapperImpl.java:689)
at com.ibm.ejs.j2c.RALifeCycleManagerImpl.startRA(RALifeCycleManagerImpl.java:1107)
at com.ibm.ejs.j2c.RALifeCycleManagerImpl.resourceProviderEvent(RALifeCycleManagerImpl.java:829)

===============================


Cause

This is caused by an incorrect reference to the MQ classes on WAS v7 profiles that have been upgraded from 7000 or 7001.

Resolving the problem

To resolve this issue, you must do the following:

1. Start the application server.
2. Copy the attached Jython script into the profile_root/bin directory.

3. Use the wsadmin tool to run the Jython script that you have just created.
Open a command prompt and navigate to the profile_root/bin directory, then enter the following command (all on one line):

wsadmin -lang jython -f convertWMQRA.py -username <was admin id> -password <password>

4. Stop all servers in the profile.
5. Run the osgiCfgInit command from the profile_root/bin directory.
Note: The osgiCfgInit command resets the class cache used by the OSGi runtime environment.
6. Restart all servers in the profile.

convertWMQRA.py

댓글 없음:

댓글 쓰기