That was the problem!!! Thank you David!!!
I'm a bit confused about what the dependency to the
"geronimo-gbean-deployer/car" module/file actually means... Does it somehow
"link" to a set of core classes used by custom ConfigurationBuilders?
Daniel.
On 1/23/07, David Jencks <[EMAIL PROTECTED]> wrote:
On Jan 23, 2007, at 9:13 AM, Daniel Bloomfield Ramagem wrote:
Geronimo newbie here trying to write a custom builder. Maybe someone more
experienced can help out with the following problem. I keep getting
ModuleIDBuilder ClassCastException anytime I deploy my custom
ConfigurationBuilder to Geronimo. The logs and my deployment plan follow.
Has anyone experienced this???
Since you are depending on geronimo jars directly, your module is getting
a separate copy of all the classes in those jars, so when anything loaded by
your builder gets near anything in in the rest of geronimo, the classes
don't match.
Instead of loading everything in your own classloader, try having a
dependency on the geronimo-gbean-deployer car file. I think that will be
the only dependency you need.
Hope this helps
david jencks
Daniel.
12:06:54,800 ERROR [Deployer] Deployment failed due to
java.lang.ClassCastException:
org.apache.geronimo.deployment.ModuleIDBuilder
at
com.daniel.TestConfigBuilder$$FastClassByCGLIB$$93606ad9.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(
FastMethodInvoker.java:38)
at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke (
GBeanOperation.java:122)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(
GBeanInstance.java:817)
at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java
:57)
at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke (
RawOperationInvoker.java:35)
at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(
ProxyMethodInterceptor.java:96)
at
org.apache.geronimo.kernel.config.DeploymentWatcher$$EnhancerByCGLIB$$6f296f75.getDeploymentPlan(<generated>)
at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:232)
at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:124)
at
org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(
FastMethodInvoker.java:38)
at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke (
GBeanOperation.java:122)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(
GBeanInstance.java:852)
at org.apache.geronimo.kernel.basic.BasicKernel.invoke(
BasicKernel.java:239)
at org.apache.geronimo.kernel.KernelGBean.invoke (KernelGBean.java
:338)
at
org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke
(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke (
FastMethodInvoker.java:38)
at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(
GBeanOperation.java:122)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(
GBeanInstance.java:852)
at org.apache.geronimo.kernel.basic.BasicKernel.invoke (
BasicKernel.java:239)
at org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(
MBeanGBeanBridge.java:168)
at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(
DynamicMetaDataImpl.java:213)
at com.sun.jmx.mbeanserver.MetaDataImpl.invoke (MetaDataImpl.java:220)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(
DefaultMBeanServerInterceptor.java:815)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java
:784)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(
RMIConnectionImpl.java:1408)
at javax.management.remote.rmi.RMIConnectionImpl.access$100(
RMIConnectionImpl.java:81)
at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run (
RMIConnectionImpl.java:1245)
at java.security.AccessController.doPrivileged(Native Method)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation
(RMIConnectionImpl.java:1348)
at javax.management.remote.rmi.RMIConnectionImpl.invoke (
RMIConnectionImpl.java:782)
at sun.reflect.GeneratedMethodAccessor237.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke (Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java
:466)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(
TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
My geronimo-service.xml:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns=" http://geronimo.apache.org/xml/ns/deployment-1.1">
<environment>
<moduleId>
<groupId>com.daniel</groupId>
<artifactId>testbuilder</artifactId>
<version>1.0.0</version>
<type>jar</type>
</moduleId>
<dependencies>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.0.4</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>geronimo</groupId>
<artifactId>geronimo-common</artifactId>
<version>1.1.1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>geronimo</groupId>
<artifactId>geronimo-deployment</artifactId>
<version> 1.1.1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>geronimo</groupId>
<artifactId>geronimo-kernel</artifactId>
<version>1.1.1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>geronimo</groupId>
<artifactId>geronimo-service-builder</artifactId>
<version>1.1.1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>stax</groupId>
<artifactId>stax-api</artifactId>
<version>1.0.1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>xmlbeans</groupId>
<artifactId>xbean</artifactId>
<version> 2.0.0</version>
<type>jar</type>
</dependency>
</dependencies>
</environment>
<gbean name="TestBuilder" class="com.daniel.TestConfigBuilder ">
<reference name="Repository" />
</gbean>
</module>