You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Srinath Perera <he...@gmail.com> on 2004/11/22 12:38:37 UTC

net.sf.cglib.core.CodeGenerationException: what does usually mean

Hi All; 

Am getting this net.sf.cglib.core.CodeGenerationException:  quite
regulerly. I know that means something wrong with the GBean I am
trying to start! but spending long times to find where is the error.

Is there any way to get more error messages? or  may be should write a
"Gbean verifier" to  check for the conditions and give better error
messages!
Thought?
Srinath


Caused by: net.sf.cglib.core.CodeGenerationException:
java.lang.NoSuchMethodException-->org.apache.geronimo.kernel.config.Configuration$$EnhancerByCGLIB$$8021e1df.<init>()
	at net.sf.cglib.core.ReflectUtils.getConstructor(ReflectUtils.java:281)
	at net.sf.cglib.core.ReflectUtils.newInstance(ReflectUtils.java:255)
	at net.sf.cglib.proxy.Enhancer.createUsingReflection(Enhancer.java:386)
	at net.sf.cglib.proxy.Enhancer.nextInstance(Enhancer.java:366)
	at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:200)
	at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:330)
	at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:265)
	at org.apache.geronimo.gbean.jmx.CGLibProxyFactory.create(CGLibProxyFactory.java:53)
	at org.apache.geronimo.gbean.jmx.CGLibProxyFactory.create(CGLibProxyFactory.java:47)
	at org.apache.geronimo.gbean.jmx.SingleProxy.<init>(SingleProxy.java:78)
	at org.apache.geronimo.gbean.jmx.GBeanMBeanReference.online(GBeanMBeanReference.java:165)
	at org.apache.geronimo.gbean.jmx.GBeanMBean.preRegister(GBeanMBean.java:534)
	at mx4j.server.interceptor.InvokerMBeanServerInterceptor.registration(InvokerMBeanServerInterceptor.java:158)
	at mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(DefaultMBeanServerInterceptor.java:111)
	at mx4j.server.interceptor.SecurityMBeanServerInterceptor.registration(SecurityMBeanServerInterceptor.java:135)
	at mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(DefaultMBeanServerInterceptor.java:111)
	at mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(DefaultMBeanServerInterceptor.java:111)
	at mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.registration(ContextClassLoaderMBeanServerInterceptor.java:161)
	at mx4j.server.MX4JMBeanServer.registerImpl(MX4JMBeanServer.java:801)
	at mx4j.server.MX4JMBeanServer.registerMBeanImpl(MX4JMBeanServer.java:745)
	at mx4j.server.MX4JMBeanServer.registerMBean(MX4JMBeanServer.java:729)
	at org.apache.geronimo.kernel.Kernel.loadGBean(Kernel.java:355)
	... 16 more
Caused by: java.lang.NoSuchMethodException:
org.apache.geronimo.kernel.config.Configuration$$EnhancerByCGLIB$$8021e1df.<init>()
	at java.lang.Class.getConstructor0(Class.java:1937)
	at java.lang.Class.getConstructor(Class.java:1027)
	at net.sf.cglib.core.ReflectUtils.getConstructor(ReflectUtils.java:279)
	... 37 more

Re: net.sf.cglib.core.CodeGenerationException: what does usually mean

Posted by Srinath Perera <he...@gmail.com>.
> Judging from the stack trace, you have a reference from one gbean to
> another and that reference is a java class type (not a interface).  In
> geronimo, we always proxy references, which means that we treat the
> reference type as an interface.  When a class type is used instead of
> an interface, it must have a default no-arg constructor because we
> generate a subclass of the reference type, and override all public
> methods, effectively making it an interface.
> 
> Most of the time it is better to use an interface, but sometimes it is
> not possible due to an implementation.
Thanks everbody :) for the pointers ..


> > Is there any way to get more error messages? or  may be should write a
> > "Gbean verifier" to  check for the conditions and give better error
> 
> There is currently no way to get better (any :) error messages.  A
> GBeanInfo verifier would be nice.
let us keep it in the TODO .. will have a go at first opportunity 
Thanks
Srinath

Re: net.sf.cglib.core.CodeGenerationException: what does usually mean

Posted by Dain Sundstrom <ds...@gluecode.com>.
On Nov 22, 2004, at 3:38 AM, Srinath Perera wrote:

> Hi All;
>
> Am getting this net.sf.cglib.core.CodeGenerationException:  quite
> regulerly. I know that means something wrong with the GBean I am
> trying to start! but spending long times to find where is the error.

Judging from the stack trace, you have a reference from one gbean to 
another and that reference is a java class type (not a interface).  In 
geronimo, we always proxy references, which means that we treat the 
reference type as an interface.  When a class type is used instead of 
an interface, it must have a default no-arg constructor because we 
generate a subclass of the reference type, and override all public 
methods, effectively making it an interface.

Most of the time it is better to use an interface, but sometimes it is 
not possible due to an implementation.

> Is there any way to get more error messages? or  may be should write a
> "Gbean verifier" to  check for the conditions and give better error

There is currently no way to get better (any :) error messages.  A 
GBeanInfo verifier would be nice.

-dain


Re: net.sf.cglib.core.CodeGenerationException: what does usually mean

Posted by Srinath Perera <he...@gmail.com>.
thanks everybody :) .. for the time been I will create my interface to
match with configuration GBean and put a referance to it.
Thanks
Srinath


On Tue, 23 Nov 2004 12:29:16 -0800, Dain Sundstrom
<ds...@gluecode.com> wrote:
> On Nov 23, 2004, at 10:48 AM, Aaron Mulder wrote:
> 
> >       We might as well poll to see if anyone's using it, but it just
> > seems dangerous to keep around in principle.  I'd rather make people
> > implement the interface and have some methods throw an
> > UnsupportedOperationException instead of getting some kind of "method
> > doesn't exist" error out of CGlib...  It's not clear in that case that
> > it's the callee's fault not the caller (or builder's) fault.
> 
> I would never go as far as to require the target to implement the
> interface, as this creates all sorts of classloader issues, and it does
> not allow us to reference gbeans that implement no interfaces.  I was
> suggesting that when we create a reference proxy we assure that the
> target exposes all of the necessary operations and attributes.
> 
> -dain
> 
>

Re: net.sf.cglib.core.CodeGenerationException: what does usually mean

Posted by Dain Sundstrom <ds...@gluecode.com>.
On Nov 23, 2004, at 10:48 AM, Aaron Mulder wrote:

> 	We might as well poll to see if anyone's using it, but it just
> seems dangerous to keep around in principle.  I'd rather make people
> implement the interface and have some methods throw an
> UnsupportedOperationException instead of getting some kind of "method
> doesn't exist" error out of CGlib...  It's not clear in that case that
> it's the callee's fault not the caller (or builder's) fault.

I would never go as far as to require the target to implement the 
interface, as this creates all sorts of classloader issues, and it does 
not allow us to reference gbeans that implement no interfaces.  I was 
suggesting that when we create a reference proxy we assure that the 
target exposes all of the necessary operations and attributes.

-dain


Re: net.sf.cglib.core.CodeGenerationException: what does usually mean

Posted by Aaron Mulder <am...@alumni.princeton.edu>.
	We might as well poll to see if anyone's using it, but it just
seems dangerous to keep around in principle.  I'd rather make people
implement the interface and have some methods throw an
UnsupportedOperationException instead of getting some kind of "method
doesn't exist" error out of CGlib...  It's not clear in that case that 
it's the callee's fault not the caller (or builder's) fault.

Aaron

On Tue, 23 Nov 2004, Dain Sundstrom wrote:
> I consider it a feature, but that doesn't mean we should keep it.  It 
> is there so you can adapt older components to gbeans easier.  For 
> example, if you can create an interface for several components and not 
> call some of the methods you *know* are not implemented.  The obvious 
> question is how do you *know*, in 77 they have lots of methods like is 
> StatisticsProvider.  If the bean is a statics provider then you know 
> that it has a getStatistics method.  Alternatively, your code could use 
> the GBeanInfo to figure out what methods are useful.
> 
> Anyway, I don't sure anyone is using this feature, so if everyone finds 
> it is more confusing then, then I vote +1 to remove it.
> 
> -dain
> 
> 

Re: net.sf.cglib.core.CodeGenerationException: what does usually mean

Posted by Dain Sundstrom <ds...@gluecode.com>.
On Nov 23, 2004, at 10:11 AM, Aaron Mulder wrote:

> On Tue, 23 Nov 2004, Dain Sundstrom wrote:
>> ...
>> It is acceptable for if GBean does not implement all of the interface
>> methods as long as you never call the unimplemented methods.
>
> 	Is that really a "feature"?

I consider it a feature, but that doesn't mean we should keep it.  It 
is there so you can adapt older components to gbeans easier.  For 
example, if you can create an interface for several components and not 
call some of the methods you *know* are not implemented.  The obvious 
question is how do you *know*, in 77 they have lots of methods like is 
StatisticsProvider.  If the bean is a statics provider then you know 
that it has a getStatistics method.  Alternatively, your code could use 
the GBeanInfo to figure out what methods are useful.

Anyway, I don't sure anyone is using this feature, so if everyone finds 
it is more confusing then, then I vote +1 to remove it.

-dain


Re: net.sf.cglib.core.CodeGenerationException: what does usually mean

Posted by Aaron Mulder <am...@alumni.princeton.edu>.
On Tue, 23 Nov 2004, Dain Sundstrom wrote:
> ...
> It is acceptable for if GBean does not implement all of the interface
> methods as long as you never call the unimplemented methods.

	Is that really a "feature"?

Aaron

Re: net.sf.cglib.core.CodeGenerationException: what does usually mean

Posted by Dain Sundstrom <ds...@gluecode.com>.
On Nov 23, 2004, at 12:05 AM, Srinath Perera wrote:

> I am trying to add a raferance to a configuration object ... it does
> not have a default constructer ...what should be I do? (the case is ws
> like it keep a referancs to EJB that is behind the WS in the WS)

There are only two options, add a default constructor or create an 
interface.  For the second option, the target GBean does not need to 
implement the new interface, it simple need to implement the 
methods.... well to be specific, it must to implement the methods you 
call on the interface.  It is acceptable for if GBean does not 
implement all of the interface methods as long as you never call the 
unimplemented methods.

-dain


Re: net.sf.cglib.core.CodeGenerationException: what does usually mean

Posted by Srinath Perera <he...@gmail.com>.
I am trying to add a raferance to a configuration object ... it does
not have a default constructer ...what should be I do? (the case is ws
like it keep a referancs to EJB that is behind the WS in the WS)
Thanks
Srinath


On Mon, 22 Nov 2004 08:44:31 -0800, David Jencks <dj...@gluecode.com> wrote:
> This one is fairly well explained by the message if you know what is
> expected.
> 
> It's saying there is no default constructor.  You are trying to
> construct a proxy to a gbean, using the gbean class itself as the class
> the proxy exposes.  The class a  proxy exposes must either be an
> interface or be a class with a default constructor.
> 
> thanks
> david jencks
> 
> 
> 
> On Nov 22, 2004, at 3:38 AM, Srinath Perera wrote:
> 
> > Hi All;
> >
> > Am getting this net.sf.cglib.core.CodeGenerationException:  quite
> > regulerly. I know that means something wrong with the GBean I am
> > trying to start! but spending long times to find where is the error.
> >
> > Is there any way to get more error messages? or  may be should write a
> > "Gbean verifier" to  check for the conditions and give better error
> > messages!
> > Thought?
> > Srinath
> >
> >
> > Caused by: net.sf.cglib.core.CodeGenerationException:
> > java.lang.NoSuchMethodException--
> > >org.apache.geronimo.kernel.config.Configuration$$EnhancerByCGLIB$$8021
> > e1df.<init>()
> >       at
> > net.sf.cglib.core.ReflectUtils.getConstructor(ReflectUtils.java:281)
> >       at net.sf.cglib.core.ReflectUtils.newInstance(ReflectUtils.java:255)
> >       at
> > net.sf.cglib.proxy.Enhancer.createUsingReflection(Enhancer.java:386)
> >       at net.sf.cglib.proxy.Enhancer.nextInstance(Enhancer.java:366)
> >       at
> > net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.
> > java:200)
> >       at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:330)
> >       at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:265)
> >       at
> > org.apache.geronimo.gbean.jmx.CGLibProxyFactory.create(CGLibProxyFactor
> > y.java:53)
> >       at
> > org.apache.geronimo.gbean.jmx.CGLibProxyFactory.create(CGLibProxyFactor
> > y.java:47)
> >       at
> > org.apache.geronimo.gbean.jmx.SingleProxy.<init>(SingleProxy.java:78)
> >       at
> > org.apache.geronimo.gbean.jmx.GBeanMBeanReference.online(GBeanMBeanRefe
> > rence.java:165)
> >       at
> > org.apache.geronimo.gbean.jmx.GBeanMBean.preRegister(GBeanMBean.java:
> > 534)
> >       at
> > mx4j.server.interceptor.InvokerMBeanServerInterceptor.registration(Invo
> > kerMBeanServerInterceptor.java:158)
> >       at
> > mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(Defa
> > ultMBeanServerInterceptor.java:111)
> >       at
> > mx4j.server.interceptor.SecurityMBeanServerInterceptor.registration(Sec
> > urityMBeanServerInterceptor.java:135)
> >       at
> > mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(Defa
> > ultMBeanServerInterceptor.java:111)
> >       at
> > mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(Defa
> > ultMBeanServerInterceptor.java:111)
> >       at
> > mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.regist
> > ration(ContextClassLoaderMBeanServerInterceptor.java:161)
> >       at mx4j.server.MX4JMBeanServer.registerImpl(MX4JMBeanServer.java:801)
> >       at
> > mx4j.server.MX4JMBeanServer.registerMBeanImpl(MX4JMBeanServer.java:
> > 745)
> >       at mx4j.server.MX4JMBeanServer.registerMBean(MX4JMBeanServer.java:729)
> >       at org.apache.geronimo.kernel.Kernel.loadGBean(Kernel.java:355)
> >       ... 16 more
> > Caused by: java.lang.NoSuchMethodException:
> > org.apache.geronimo.kernel.config.Configuration$$EnhancerByCGLIB$$8021e
> > 1df.<init>()
> >       at java.lang.Class.getConstructor0(Class.java:1937)
> >       at java.lang.Class.getConstructor(Class.java:1027)
> >       at
> > net.sf.cglib.core.ReflectUtils.getConstructor(ReflectUtils.java:279)
> >       ... 37 more
> >
> 
>

Re: net.sf.cglib.core.CodeGenerationException: what does usually mean

Posted by Dain Sundstrom <ds...@gluecode.com>.
On Nov 22, 2004, at 10:43 AM, Aaron Mulder wrote:

> 	Is there any naming recommendation for the interface?  I've seen
> and used "FooMBean" as the interface for GBean "Foo", but what with 
> trying
> to get away from JMX and all...

I normally reserve the "raw" name for the interface itself, since in my 
mind the interface is more important then the implementation.  As for 
the implementation, I try to be descriptive as possible.  For example, 
I have a GBeanInvoker interface and a JMXGBeanInvoker implementation 
and a CGLibGBeanInvoker implementation.  If I can think of anything 
descriptive, I normally call the thing DefaultFoo, but FooImpl works 
also.

> 	Also, it would be accurate to say that the no-arg constructor must
> be present but will never be used on a "real live" GBean, right?

That is correct, unless the declared constructor in the GBeanInfo is 
not the no-arg constructor.

-dain


Re: net.sf.cglib.core.CodeGenerationException: what does usually mean

Posted by Aaron Mulder <am...@alumni.princeton.edu>.
	Is there any naming recommendation for the interface?  I've seen 
and used "FooMBean" as the interface for GBean "Foo", but what with trying 
to get away from JMX and all...

	Also, it would be accurate to say that the no-arg constructor must 
be present but will never be used on a "real live" GBean, right?

Thanks,
	Aaron

On Mon, 22 Nov 2004, David Jencks wrote:
> This one is fairly well explained by the message if you know what is  
> expected.
> 
> It's saying there is no default constructor.  You are trying to  
> construct a proxy to a gbean, using the gbean class itself as the class  
> the proxy exposes.  The class a  proxy exposes must either be an  
> interface or be a class with a default constructor.
> 
> thanks
> david jencks
> 
> On Nov 22, 2004, at 3:38 AM, Srinath Perera wrote:
> 
> > Hi All;
> >
> > Am getting this net.sf.cglib.core.CodeGenerationException:  quite
> > regulerly. I know that means something wrong with the GBean I am
> > trying to start! but spending long times to find where is the error.
> >
> > Is there any way to get more error messages? or  may be should write a
> > "Gbean verifier" to  check for the conditions and give better error
> > messages!
> > Thought?
> > Srinath
> >
> >
> > Caused by: net.sf.cglib.core.CodeGenerationException:
> > java.lang.NoSuchMethodException-- 
> > >org.apache.geronimo.kernel.config.Configuration$$EnhancerByCGLIB$$8021 
> > e1df.<init>()
> > 	at  
> > net.sf.cglib.core.ReflectUtils.getConstructor(ReflectUtils.java:281)
> > 	at net.sf.cglib.core.ReflectUtils.newInstance(ReflectUtils.java:255)
> > 	at  
> > net.sf.cglib.proxy.Enhancer.createUsingReflection(Enhancer.java:386)
> > 	at net.sf.cglib.proxy.Enhancer.nextInstance(Enhancer.java:366)
> > 	at  
> > net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator. 
> > java:200)
> > 	at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:330)
> > 	at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:265)
> > 	at  
> > org.apache.geronimo.gbean.jmx.CGLibProxyFactory.create(CGLibProxyFactor 
> > y.java:53)
> > 	at  
> > org.apache.geronimo.gbean.jmx.CGLibProxyFactory.create(CGLibProxyFactor 
> > y.java:47)
> > 	at  
> > org.apache.geronimo.gbean.jmx.SingleProxy.<init>(SingleProxy.java:78)
> > 	at  
> > org.apache.geronimo.gbean.jmx.GBeanMBeanReference.online(GBeanMBeanRefe 
> > rence.java:165)
> > 	at  
> > org.apache.geronimo.gbean.jmx.GBeanMBean.preRegister(GBeanMBean.java: 
> > 534)
> > 	at  
> > mx4j.server.interceptor.InvokerMBeanServerInterceptor.registration(Invo 
> > kerMBeanServerInterceptor.java:158)
> > 	at  
> > mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(Defa 
> > ultMBeanServerInterceptor.java:111)
> > 	at  
> > mx4j.server.interceptor.SecurityMBeanServerInterceptor.registration(Sec 
> > urityMBeanServerInterceptor.java:135)
> > 	at  
> > mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(Defa 
> > ultMBeanServerInterceptor.java:111)
> > 	at  
> > mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(Defa 
> > ultMBeanServerInterceptor.java:111)
> > 	at  
> > mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.regist 
> > ration(ContextClassLoaderMBeanServerInterceptor.java:161)
> > 	at mx4j.server.MX4JMBeanServer.registerImpl(MX4JMBeanServer.java:801)
> > 	at  
> > mx4j.server.MX4JMBeanServer.registerMBeanImpl(MX4JMBeanServer.java: 
> > 745)
> > 	at mx4j.server.MX4JMBeanServer.registerMBean(MX4JMBeanServer.java:729)
> > 	at org.apache.geronimo.kernel.Kernel.loadGBean(Kernel.java:355)
> > 	... 16 more
> > Caused by: java.lang.NoSuchMethodException:
> > org.apache.geronimo.kernel.config.Configuration$$EnhancerByCGLIB$$8021e 
> > 1df.<init>()
> > 	at java.lang.Class.getConstructor0(Class.java:1937)
> > 	at java.lang.Class.getConstructor(Class.java:1027)
> > 	at  
> > net.sf.cglib.core.ReflectUtils.getConstructor(ReflectUtils.java:279)
> > 	... 37 more
> >
> 
> 

Re: net.sf.cglib.core.CodeGenerationException: what does usually mean

Posted by David Jencks <dj...@gluecode.com>.
This one is fairly well explained by the message if you know what is  
expected.

It's saying there is no default constructor.  You are trying to  
construct a proxy to a gbean, using the gbean class itself as the class  
the proxy exposes.  The class a  proxy exposes must either be an  
interface or be a class with a default constructor.

thanks
david jencks

On Nov 22, 2004, at 3:38 AM, Srinath Perera wrote:

> Hi All;
>
> Am getting this net.sf.cglib.core.CodeGenerationException:  quite
> regulerly. I know that means something wrong with the GBean I am
> trying to start! but spending long times to find where is the error.
>
> Is there any way to get more error messages? or  may be should write a
> "Gbean verifier" to  check for the conditions and give better error
> messages!
> Thought?
> Srinath
>
>
> Caused by: net.sf.cglib.core.CodeGenerationException:
> java.lang.NoSuchMethodException-- 
> >org.apache.geronimo.kernel.config.Configuration$$EnhancerByCGLIB$$8021 
> e1df.<init>()
> 	at  
> net.sf.cglib.core.ReflectUtils.getConstructor(ReflectUtils.java:281)
> 	at net.sf.cglib.core.ReflectUtils.newInstance(ReflectUtils.java:255)
> 	at  
> net.sf.cglib.proxy.Enhancer.createUsingReflection(Enhancer.java:386)
> 	at net.sf.cglib.proxy.Enhancer.nextInstance(Enhancer.java:366)
> 	at  
> net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator. 
> java:200)
> 	at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:330)
> 	at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:265)
> 	at  
> org.apache.geronimo.gbean.jmx.CGLibProxyFactory.create(CGLibProxyFactor 
> y.java:53)
> 	at  
> org.apache.geronimo.gbean.jmx.CGLibProxyFactory.create(CGLibProxyFactor 
> y.java:47)
> 	at  
> org.apache.geronimo.gbean.jmx.SingleProxy.<init>(SingleProxy.java:78)
> 	at  
> org.apache.geronimo.gbean.jmx.GBeanMBeanReference.online(GBeanMBeanRefe 
> rence.java:165)
> 	at  
> org.apache.geronimo.gbean.jmx.GBeanMBean.preRegister(GBeanMBean.java: 
> 534)
> 	at  
> mx4j.server.interceptor.InvokerMBeanServerInterceptor.registration(Invo 
> kerMBeanServerInterceptor.java:158)
> 	at  
> mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(Defa 
> ultMBeanServerInterceptor.java:111)
> 	at  
> mx4j.server.interceptor.SecurityMBeanServerInterceptor.registration(Sec 
> urityMBeanServerInterceptor.java:135)
> 	at  
> mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(Defa 
> ultMBeanServerInterceptor.java:111)
> 	at  
> mx4j.server.interceptor.DefaultMBeanServerInterceptor.registration(Defa 
> ultMBeanServerInterceptor.java:111)
> 	at  
> mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.regist 
> ration(ContextClassLoaderMBeanServerInterceptor.java:161)
> 	at mx4j.server.MX4JMBeanServer.registerImpl(MX4JMBeanServer.java:801)
> 	at  
> mx4j.server.MX4JMBeanServer.registerMBeanImpl(MX4JMBeanServer.java: 
> 745)
> 	at mx4j.server.MX4JMBeanServer.registerMBean(MX4JMBeanServer.java:729)
> 	at org.apache.geronimo.kernel.Kernel.loadGBean(Kernel.java:355)
> 	... 16 more
> Caused by: java.lang.NoSuchMethodException:
> org.apache.geronimo.kernel.config.Configuration$$EnhancerByCGLIB$$8021e 
> 1df.<init>()
> 	at java.lang.Class.getConstructor0(Class.java:1937)
> 	at java.lang.Class.getConstructor(Class.java:1027)
> 	at  
> net.sf.cglib.core.ReflectUtils.getConstructor(ReflectUtils.java:279)
> 	... 37 more
>