geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: Help with Custom Configuration Builders - ClassCastException: ModuleIDBuilder
Date Tue, 23 Jan 2007 21:11:47 GMT

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


Mime
View raw message