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>
|