Consultor Eletrônico



Kbase 20030: NoClassDefFoundError Starting SonicMQ Broker w/JRE 1.2.2
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   8/8/2000
SUMMARY:

This solution applies to SonicMQ version 2000.1, and discusses a problem which has been seen when using the Sun's Version 1.2.2 JRE for Windows included on the SonicMQ 2000.1 CD.

EXPLANATION:

Sun's JRE v1.2.2 for Windows is included on the SonicMQ 2000.1 CD in the self-extracting executable jre\sun\jre1_2_2-win.exe. SonicMQ uses this JRE if you install, then modify the SONICMQ_JRE and JRE_CLASSPATH settings in startbr.bat, explorer.bat, admin.bat, and SonicMQ.bat (used for running the samples) to use this JRE.

After doing so, you may get the following exception when attempting to start the broker:

Exception in thread "main" java.lang.NoClassDefFoundError:
progress/message/broker/Config
at progress.message.zclient.Service.<init>(Service.java:77)
at progress.message.broker.Broker.<init>(Broker.java, Compiled Code)
at progress.message.broker.Broker.main(Broker.java:206)

The class progress.message.broker.config is contained in the file <SonicMQ install path>\lib\broker.jar. If you
examine startbr.bat, you find this file is included in the
classpath (-cp) argument passed to the Java executable on broker startup. This means that this class can be found on
the classpath, regardless of what the error message
reports. Nevertheless, the broker will not start.

SOLUTION:

This problem is apparently due to Registry corruption. It can be resolved by uninstalling all instances of the JavaSoftJRE 1.2, removing all references to JavaSoft JRE version 1.2 from the Registry, and reinstalling the JRE.


References To Written Documentation:

Progress Knowledge Base Solution 20032: SonicMQ: How To Use a JRE Other Than The Default On WinNT