NoClassDefFoundError while integrating with WSO2
------------------------------------------------
Key: QPID-3251
URL: https://issues.apache.org/jira/browse/QPID-3251
Project: Qpid
Issue Type: Bug
Components: Java Client, Java Common
Affects Versions: 0.10
Environment: Windows XP, Intel Core I5, 4 GB Ram
Reporter: Swaroop Rath
Hi
Common classes related to Apache framework are packed in qpid-common-0.10.jar.
WSO2-ESB is an enterprise service bus built on top of Apache framework. So it
shares apache common classes.
While integrating QPid and WSO2, we had to copy Qpid client classes into
WSO2 Server classpath. On WSO2 This resulted in "NoClassDefFoundError" error. I
checked that "AMQCodecFactory" does indeed exist in "qpid-common-0.10.jar". We
suspect that the problem is due to classes (common to Apache common) being
replicated. WSO2 has built a custom qpid-common-merger.jar to fix this problem
in earlier releases. Link -
http://people.apache.org/~lahiru/qpid-common-merged-0.6.jar This is described
in
http://wso2.org/library/knowledge-base/2010/11/wso2-esb-apache-qpid-setup-guide.
We suggest decomposing qpid-common-0.10.jar into smaller and more coherent
packages. This would enable users to select specific jars while integrating
with other Apache applications. This will eliminate the need of dismantling
qpid-common-x.x.jar and building a qpid-common-merged-x.x.jar.
WSO2 defect link -
https://wso2.org/jira/browse/ESBJAVA-770
WSO2 Server start up exception stack trace -
[2011-05-06 10:59:44,475] ERROR - NativeWorkerPool Uncaught exception
java.lang.NoClassDefFoundError: org/apache/qpid/codec/AMQCodecFactory
at org.apache.qpid.client.protocol.AMQProtocolHandler.<init>(AMQProtocol
Handler.java:191)
at org.apache.qpid.client.AMQConnection.<init>(AMQConnection.java:382)
at org.apache.qpid.client.AMQConnectionFactory.createConnection(AMQConne
ctionFactory.java:276)
at org.apache.axis2.transport.jms.JMSUtils.createConnection(JMSUtils.jav
a:579)
at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask
.createConnection(ServiceTaskManager.java:803)
at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask
.getConnection(ServiceTaskManager.java:688)
at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask
.receiveMessage(ServiceTaskManager.java:487)
at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask
.run(ServiceTaskManager.java:412)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(Native
WorkerPool.java:58)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
Thanks
Swaroop Rath
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]