Castor - JBoss integration
benoit Jul 9, 2004 6:33 AMHi All !
I've been trying to integrate Castor into JBoss for 4 days now. After Reading tons of docs I wondered if someone could help me a bit... I'm trying to acces Castor JDO through JNDI.
Sorry for the length of this post, I tried to make it short whithout overlooking too many details.
Tools versions :
- JBoss-3.2.5
- Castor-0.9.5.3
- JVM : jrockit81sp2_141_05
- OS : Windows XP - Home edition
1 - I checked out JBoss from CVS this way :
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/jboss login cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/jboss co -r JBoss_3_2_5 jboss-3.2
2 - Then build JBoss using build.bat, everything worked fine.
3 - I've created this directory :
jboss/server/default/deploy/castor-jdo-plugin.sar
which has the following structure :
castor-jdo-plugin.sar/META-INF/jboss-service.xml castor-jdo-plugin.sar/org/jboss/jdo/castor/CastorJDOImpl.class castor-jdo-plugin.sar/org/jboss/jdo/castor/CastorJDOImplMBean.class
These two last files come from the varia\output\classes\org\jboss\jdo\castor directory after jboss build has completed.
4 - I put castor-0.9.5.3.jar in the jboss/server/default/lib directory
castor-jdo-plugin.sar/META-INF/jboss-service.xml contains the following xml :
<server> <mbean code="org.jboss.jdo.CastorJDOImpl" name="DefaultDomain:service=castorJDO,name=castorJdo"> <attribute name="Configuration">file:../conf/default/database.xml</attribute> <attribute name="JndiName">jdo/castorJdo</attribute> <attribute name="LockTimeout">0</attribute> <attribute name="LoggingEnabled">false</attribute> <attribute name="CommonClassPath">false</attribute> <attribute name="AutoStore">true</attribute> <attribute name="DatabasePooling">true</attribute> </mbean> </server>
database.xml contains the following xml :
<database name="dietavenuedb" engine="mysql" > <jndi name="java:/DietAvenueDS"/> <mapping href="mapping-byhand.xml" /> </database>
5 - When I start JBoss I get the following exception :
11:15:15,296 WARN [NestedThrowable] Duplicate throwable nesting of same base type: class org.jboss.deployment.DeploymentException is assignable from: class org.jboss.deployment.DeploymentException 11:15:15,296 ERROR [MainDeployer] could not create deployment: file:/<path-to-server-dir>/default/deploy/castor-jdo-plugin.sar/org.jboss.deployment.DeploymentException: create operation failed for package file:/<path-to-server-dir>/default/deploy/castor-jdo-plugin.sar/; - nested throwable: (org.jboss.deployment.DeploymentException: No ClassLoaders found for: org.jboss.jdo.CastorJDOImpl; - nested throwable: (java.lang.ClassNotFoundException: No ClassLoaders found for: org.jboss.jdo.CastorJDOImpl)) [... stack trace ...] Caused by: org.jboss.deployment.DeploymentException: No ClassLoaders found for: org.jboss.jdo.CastorJDOImpl; - nested throwable: (java.lang.ClassNotFoundException: No ClassLoaders found for: org.jboss.jdo.CastorJDOImpl) at org.jboss.system.ServiceConfigurator.install Lorg.w3c.dom.Element;Ljavax.management.ObjectName;)Ljava.util.List;(ServiceConfigurator.java:139) [... stack trace ...] Caused by: java.lang.ClassNotFoundException: No ClassLoaders found for: org.jboss.jdo.CastorJDOImpl at org.jboss.mx.loading.LoadMgr3.beginLoadTask(Lorg.jboss.mx.loading.ClassLoadingTask; Lorg.jboss.mx.loading.UnifiedLoaderRepository3;)Z(LoadMgr3.java:185) [... stack trace ...]
It seems that I have a ClassLoader problem which I happen to be unable to solve. I'd greatly appreciate your help but hope not to waste your time in the case I would not have read all that I should have read to solve my problem.
Does anybody has an idea on how to access Castor JDO through JNDI ?
Thanks for your time and reading and sorry for my spelling mistakes.
Benoit.