Results 1 to 2 of 2

Thread: Constant error "Could not generate CGLIB subclass" on use services

  1. #1
    Join Date
    Mar 2010
    Location
    São Paulo, Brasil
    Posts
    1

    Default Constant error "Could not generate CGLIB subclass" on use services

    Hi all,

    I developed bundles services with concurrent threads and when I try execute this services I get an exception, but the service runs normally!
    I have many services running with the same architecture and my log is filling up with these exceptions, anyone knows a solution to fix this?

    I'm programming using:
    Apache Felix-2.0.4,
    Spring-3.0.0.RELEASE,
    Spring-DM-2.0.1.M1,
    com.springsource.net.sf.cglib-2.1.3.jar;

    This is an example of the exception:
    Code:
    org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class [class pt.ptinovacao.products.ams.components.statemachine.engine.StateMachineExecutor]: Common causes of this problem include using a final class or a non-visible class; nested exception is java.lang.IllegalArgumentException: Superclass has no null constructors but no arguments were given
          at org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy.java:212)
          at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:112)
          at org.springframework.osgi.service.util.internal.aop.ProxyUtils.createProxy(ProxyUtils.java:70)
          at org.springframework.osgi.service.exporter.support.internal.support.PublishingServiceFactory.createCLLProxy(PublishingServiceFactory.java:128)
          at org.springframework.osgi.service.exporter.support.internal.support.PublishingServiceFactory.getService(PublishingServiceFactory.java:108)
          at org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:306)
          at org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:220)
          at org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:322)
          at org.apache.felix.framework.Felix.getService(Felix.java:2913)
          at org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:330)
          at org.springframework.osgi.service.importer.support.internal.aop.ServiceStaticInterceptor.getTarget(ServiceStaticInterceptor.java:70)
          at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
          at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
          at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
          at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:71)
          at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:54)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
          at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
          at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
          at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
          at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
          at $Proxy76.process(Unknown Source)
          at pt.ptinovacao.products.ams.acm.components.campaignmanagement.engine.CampaignMngEngineImpl.checkCampaign(CampaignMngEngineImpl.java:507)
          at pt.ptinovacao.products.ams.acm.components.campaignmanagement.engine.CampaignMngEngineImpl.submitEvent(CampaignMngEngineImpl.java:398)
          at pt.ptinovacao.products.ams.acm.components.campaignmanagement.engine.CampaignMngEngineImpl.process(CampaignMngEngineImpl.java:218)
          at pt.ptinovacao.products.ams.acm.components.campaignmanagement.engine.CampaignMngEngineProcessTask.call(CampaignMngEngineProcessTask.java:63)
          at pt.ptinovacao.products.ams.acm.components.campaignmanagement.engine.CampaignMngEngineProcessTask.call(CampaignMngEngineProcessTask.java:14)
          at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
          at java.util.concurrent.FutureTask.run(FutureTask.java:138)
          at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
          at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.IllegalArgumentException: Superclass has no null constructors but no arguments were given
          at net.sf.cglib.proxy.Enhancer.emitConstructors(Enhancer.java:718)
          at net.sf.cglib.proxy.Enhancer.generateClass(Enhancer.java:499)
          at net.sf.cglib.transform.TransformingClassGenerator.generateClass(TransformingClassGenerator.java:33)
          at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
          at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
          at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:377)
          at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:285)
          at org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy.java:200)
          ... 35 more
    Thank you all!

  2. #2
    Join Date
    Jun 2006
    Location
    The Netherlands
    Posts
    13,625

    Default

    Not without seeing an actual service... Also have you actually read the stacktrace.

    Make sure that your class has a no-arg default constructor, make sure that your classes aren't final and make sure that there isn't some double proxying going on.
    Marten Deinum
    Java Consultant / Pragmatist / Open Source Enthousiast / Author


    Pro Spring MVC: With Web Flow
    Conspect

    Have you read the reference guide.
    Use the [ code ] tags, young padawan

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •