Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] Re: java.lang.NoSuchMethodError: getDefaultAttributes at org.eclipse.persistence.internal.weaving.PersistenceWeaver.transform

Dear i am just packaging my ear with eclipselink.jar. And yes you are right that this is a weaving error. As i read this forum post:

http://www.eclipse.org/forums/index.php?t=msg&goto=504561&S=8111a2df7aa999f14d1bc9e2949e7b4b#msg_504561

For the time being i have disabled all weaving using persistence.xml, and it had a little impact on my application (as far as i tested yet). Because i am following detached entity pattern where my entities are wrapped by an EJB. I am looking into weaving stuff, i will always prefer build time weaving because i do not want to change runtime environment like adding VM arguments etc.

One question, i believe weaving was not present in eclipselink v1.1, right? how you guys did lazy loading at that time?

Thanks

Regards,
Jehanzeb Qayyum





On Mon, Dec 21, 2009 at 8:03 PM, Tom Ware <tom.ware@xxxxxxxxxx> wrote:
Hi jz,

 The issue occurs when EclipseLink tries to weave your attributes.  It looks like for some reason weaving fails.

 The thing that is confusing to me is the initial exception: java.lang.NoSuchMethodError: getDefaultAttributes

 That error is complaining about a class that we ship as part of EclipseLink.

 How are you including EclipseLink in your application?  Are you using a version that is installed by default, or are you using a different version?

-Tom

jz wrote:
A little peek into eclipselink PersistenceWeaver class show following comments:
/**
 * INTERNAL:
 * This class performs dynamic bytecode weaving: for each attribute
 * mapped with One To One mapping with Basic Indirection it substitutes the
 * original attribute's type for ValueHolderInterface.  */
public class PersistenceWeaver implements ClassTransformer {

And i remember that this error came when i first used onetoone mapping in my entities. Here is the specific entity relationship.

AudioMessage  -------------                                                                      @OneToOne(fetch = FetchType.LAZY, mappedBy = "audioMessage")             private AudioContent content;
public AudioContent getContent() {
return content;
}

public void setContent(AudioContent content) {
this.content = content;
}

AudioContent
-------------
@OneToOne
@JoinColumn(name = "AUDIO_MESSAGE_ID", unique = true, nullable = false, updatable = false)
private AudioMessage audioMessage;
public AudioMessage getAudioMessage() {
return audioMessage;
}

public void setAudioMessage(AudioMessage audioMessage) {
this.audioMessage = audioMessage;
}


Regards,
Jehanzeb Qayyum





On Mon, Dec 21, 2009 at 10:54 AM, jz <jehanzeb.qayyum@xxxxxxxxx <mailto:jehanzeb.qayyum@xxxxxxxxx>> wrote:

   At ear deployment, eclipselink 1.2 is throwing following exception
   on weblogic 10.3.0. Any help will be appreciated. Thanks


   [EL Finest]: 2009-12-20
   23:18:03.204--ServerSession(34532593)--Thread(Thread[[AC
   TIVE] ExecuteThread: '10' for queue: 'weblogic.kernel.Default
   (self-tuning)',5,P
   ooled Threads])--java.lang.NoSuchMethodError: getDefaultAttributes
           at
   org.eclipse.persistence.internal.weaving.PersistenceWeaver.transform(
   PersistenceWeaver.java:96)
           at
   weblogic.deployment.PersistenceUnitInfoImpl$ClassPreProcessorImpl.pre
   Process(PersistenceUnitInfoImpl.java:499)
           at
   weblogic.utils.classloaders.ClassPreProcessor$ClassPreProcessorSuppor
   t.preProcess(ClassPreProcessor.java:95)
           at
   weblogic.utils.classloaders.GenericClassLoader.doPreProcess(GenericCl
   assLoader.java:348)
           at
   weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericCla
   ssLoader.java:329)
           at
   weblogic.utils.classloaders.GenericClassLoader.findLocalClass(Generic
   ClassLoader.java:288)
           at
   weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClass
   Loader.java:256)
           at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
           at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
           at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
           at
   weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClass
   Loader.java:176)
           at
   org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProces
   sor.buildEntityList(PersistenceUnitProcessor.java:102)
           at
   org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy
   (EntityManagerSetupImpl.java:860)
           at
   org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntity
   ManagerFactory(PersistenceProvider.java:216)
           at
   weblogic.deployment.PersistenceUnitInfoImpl.createEntityManagerFactor
   y(PersistenceUnitInfoImpl.java:332)
           at
   weblogic.deployment.PersistenceUnitInfoImpl.<init>(PersistenceUnitInf
   oImpl.java:124)
           at
   weblogic.deployment.AbstractPersistenceUnitRegistry.storeDescriptors(
   AbstractPersistenceUnitRegistry.java:331)
           at
   weblogic.deployment.AbstractPersistenceUnitRegistry.loadPersistenceDe
   scriptors(AbstractPersistenceUnitRegistry.java:111)
           at
   weblogic.deployment.ModulePersistenceUnitRegistry.<init>(ModulePersis
   tenceUnitRegistry.java:58)
           at
   weblogic.servlet.internal.WebAppModule.setupPersistenceUnitRegistry(W
   ebAppModule.java:1662)
           at
   weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:385)

           at
   weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedM
   oduleDriver.java:180)
           at
   weblogic.application.internal.flow.ModuleListenerInvoker.prepare(Modu
   leListenerInvoker.java:93)
           at
   weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(Depl
   oymentCallbackFlow.java:388)
           at
   weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
   river.java:37)
           at
   weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(Dep
   loymentCallbackFlow.java:58)
           at
   weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(Dep
   loymentCallbackFlow.java:44)
           at
   weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.ja
   va:616)
           at
   weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
   river.java:37)
           at
   weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.j
   ava:191)
           at
   weblogic.application.internal.EarDeployment.prepare(EarDeployment.jav
   a:16)
           at
   weblogic.application.internal.DeploymentStateChecker.prepare(Deployme
   ntStateChecker.java:155)
           at
   weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(App
   ContainerInvoker.java:60)
           at
   weblogic.deploy.internal.targetserver.operations.ActivateOperation.cr
   <http://weblogic.deploy.internal.targetserver.operations.ActivateOperation.cr>

   eateAndPrepareContainer(ActivateOperation.java:198)
           at
   weblogic.deploy.internal.targetserver.operations.ActivateOperation.do
   <http://weblogic.deploy.internal.targetserver.operations.ActivateOperation.do>

   Prepare(ActivateOperation.java:89)
           at
   weblogic.deploy.internal.targetserver.operations.AbstractOperation.pr
   <http://weblogic.deploy.internal.targetserver.operations.AbstractOperation.pr>

   epare(AbstractOperation.java:217)
           at
   weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploym
   entPrepare(DeploymentManager.java:725)
           at
   weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploy
   mentList(DeploymentManager.java:1190)
           at
   weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare
   (DeploymentManager.java:248)
           at
   weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.pre
   pare(DeploymentServiceDispatcher.java:160)
           at
   weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
   ackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
           at
   weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
   ackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
           at
   weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
   ackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
           at
   weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
   gWorkManagerImpl.java:516)
           at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
           at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)



   ####<Dec 20, 2009 11:02:12 PM CST> <Error> <Console> <lhe-efu-it88l>
   <AdminServer> <[ACTIVE] ExecuteThread: '14' for queue:
   'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <>
   <1261371732005> <BEA-240003> <Console encountered the following
   error weblogic.application.ModuleException:    at
   weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1377)
   at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:470)
   at
   weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
   at
   weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
   at
   weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
   at
   weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
   at
   weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)
   at
   weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
   at
   weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
   at
   weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
   at
   weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
   at
   weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
   at
   weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
   at
   weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
   at
   weblogic.application.internal.EarDeployment.activate(EarDeployment.java:16)
   at
   weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:162)
   at
   weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
   at
   weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
   at
   weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:140)
   at
   weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:106)
   at
   weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
   at
   weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:820)
   at
   weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1227)
   at
   weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:436)
   at
   weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
   at
   weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181)
   at
   weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12)
   at
   weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67)
   at
   weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
   at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
   at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
   Caused by: java.lang.Throwable: Substituted for missing class
   Exception [EclipseLink-0] (Eclipse Persistence Services -
   1.2.0.v20091016-r5565) -
   org.eclipse.persistence.exceptions.IntegrityException
   Descriptor Exceptions:    ---------------------------------------------------------

   Exception [EclipseLink-60] (Eclipse Persistence Services -
   1.2.0.v20091016-r5565):
   org.eclipse.persistence.exceptions.DescriptorException
   Exception Description: The method [_persistence_setuser_vh] or
   [_persistence_getuser_vh] is not defined in the object
   [com.warid.campaign.businessobject.AudioMessage].
   Internal Exception: java.lang.NoSuchMethodException:
   com.warid.campaign.businessobject.AudioMessage._persistence_getuser_vh()
   Mapping: org.eclipse.persistence.mappings.OneToOneMapping[user]
   Descriptor:
   RelationalDescriptor(com.warid.campaign.businessobject.AudioMessage
   --> [DatabaseTable(TBL_CAMPAIGN_AUDIO_MESSAGE)])

   Exception [EclipseLink-60] (Eclipse Persistence Services -
   1.2.0.v20091016-r5565):
   org.eclipse.persistence.exceptions.DescriptorException
   Exception Description: The method [_persistence_setgroup_vh] or
   [_persistence_getgroup_vh] is not defined in the object
   [com.warid.campaign.businessobject.GroupDetails].
   Internal Exception: java.lang.NoSuchMethodException:
   com.warid.campaign.businessobject.GroupDetails._persistence_getgroup_vh()
   Mapping: org.eclipse.persistence.mappings.OneToOneMapping[group]
   Descriptor:
   RelationalDescriptor(com.warid.campaign.businessobject.GroupDetails
   --> [DatabaseTable(TBL_CAMPAIGN_GROUP_DETAILS)])

   Exception [EclipseLink-60] (Eclipse Persistence Services -
   1.2.0.v20091016-r5565):
   org.eclipse.persistence.exceptions.DescriptorException
   Exception Description: The method [_persistence_setuser_vh] or
   [_persistence_getuser_vh] is not defined in the object
   [com.warid.campaign.businessobject.Group].
   Internal Exception: java.lang.NoSuchMethodException:
   com.warid.campaign.businessobject.Group._persistence_getuser_vh()
   Mapping: org.eclipse.persistence.mappings.OneToOneMapping[user]
   Descriptor:
   RelationalDescriptor(com.warid.campaign.businessobject.Group -->
   [DatabaseTable(TBL_CAMPAIGN_GROUP)])

   Exception [EclipseLink-60] (Eclipse Persistence Services -
   1.2.0.v20091016-r5565):
   org.eclipse.persistence.exceptions.DescriptorException
   Exception Description: The method [_persistence_setuser_vh] or
   [_persistence_getuser_vh] is not defined in the object
   [com.warid.campaign.businessobject.AudioCampaign].
   Internal Exception: java.lang.NoSuchMethodException:
   com.warid.campaign.businessobject.AudioCampaign._persistence_getuser_vh()
   Mapping: org.eclipse.persistence.mappings.OneToOneMapping[user]
   Descriptor:
   RelationalDescriptor(com.warid.campaign.businessobject.AudioCampaign
   --> [DatabaseTable(TBL_CAMPAIGN_SCHEDULE)])

   Runtime Exceptions:    ---------------------------------------------------------

   java.lang.NullPointerException

   java.lang.NullPointerException

   java.lang.NullPointerException

   java.lang.NullPointerException


   at
   org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:478)
   at
   org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:406)
   at
   org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConnectDatasource(DatabaseSessionImpl.java:671)
   at
   org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.login(DatabaseSessionImpl.java:633)
   at
   org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:233)
   at
   org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:269)
   at
   org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:146)
   at
   org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:198)
   at
   org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:186)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at
   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at
   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at
   weblogic.deployment.EntityManagerFactoryProxyImpl.invoke(EntityManagerFactoryProxyImpl.java:75)
   at $Proxy137.createEntityManager(Unknown Source)
   at
   weblogic.deployment.TransactionalEntityManagerProxyImpl.newPersistenceContext(TransactionalEntityManagerProxyImpl.java:73)
   at
   weblogic.deployment.BasePersistenceContextProxyImpl.getPersistenceContext(BasePersistenceContextProxyImpl.java:147)
   at
   weblogic.deployment.TransactionalEntityManagerProxyImpl$QueryImpl.getResultList(TransactionalEntityManagerProxyImpl.java:189)
   at
   com.warid.campaign.businessobject.BaseBusinessObject.query(BaseBusinessObject.java:48)
   at
   com.warid.campaign.service.AdminCampaignCrudBean.query(AdminCampaignCrudBean.java:50)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at
   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at
   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at
   com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)
   at
   com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)
   at
   com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)
   at
   com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:126)
   at
   com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:114)
   at
   com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
   at
   com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:15)
   at
   weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
   at
   com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:30)
   at
   com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
   at
   com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
   at
   com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
   at
   com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:126)
   at
   com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:114)
   at
   com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
   at
   com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
   at $Proxy147.query(Unknown Source)
   at
   com.warid.campaign.service.AdminCampaignCrudBean_cql2jk_CampaignCrudImpl.query(AdminCampaignCrudBean_cql2jk_CampaignCrudImpl.java:228)
   at
   com.warid.campaign.web.listener.CampaignServletContextListener.reschedulePendingCampaigns(CampaignServletContextListener.java:38)
   at
   com.warid.campaign.web.listener.CampaignServletContextListener.contextInitialized(CampaignServletContextListener.java:27)
   at
   weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:465)
   at
   weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
   at weblogic.security.service.SecurityManager.runAs(Unknown Source)
   at
   weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:175)
   at
   weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1787)
   at
   weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3002)
   at
   weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1375)
    >


------------------------------------------------------------------------

_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users
_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users


Back to the top