You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Daniel Bloomfield Ramagem <da...@gmail.com> on 2007/01/23 18:13:55 UTC

Help with Custom Configuration Builders - ClassCastException: ModuleIDBuilder

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

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>

Re: Help with Custom Configuration Builders - ClassCastException: ModuleIDBuilder

Posted by David Jencks <da...@yahoo.com>.
On Jan 23, 2007, at 11:34 AM, Daniel Bloomfield Ramagem wrote:

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

In your plan, dependency on a jar will include that jar in your  
module's classloader, similarly to a URL in a URLClassLoader.   
Including a dependency on another module (car file) will include that  
module's classloader as a parent classloader for your module.  (Our  
classloader can have more than one parent classloader)

thanks
david jencks

>
> Daniel.
>
> On 1/23/07, David Jencks <da...@yahoo.com> 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>
>
>


Re: Help with Custom Configuration Builders - ClassCastException: ModuleIDBuilder

Posted by Daniel Bloomfield Ramagem <da...@gmail.com>.
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 <da...@yahoo.com> 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>
>
>
>

Re: Help with Custom Configuration Builders - ClassCastException: ModuleIDBuilder

Posted by David Jencks <da...@yahoo.com>.
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>