Discussion:
Eclipselink2 "weaving" does not take place on JOnAS 5.3.0 M4
Hans J. Prueller
2011-09-08 05:52:27 UTC
Permalink
Hi JOnAS Team!

I just downloaded and configured the new JOnAS 5.3 M4 Milestone, and
tried to deploy our EAR application.

Basically it works, but there seems to be a Problem with contained
EclipseLink (2.1.3) - seems that weaving does not take place!

The identical EAR archive which works on 5.2.0-M5/RC produces the
following error on 5.3.0 M4:


[EL Info]: 2011-09-08
07:45:23.633--ServerSession(2018501004)--EclipseLink, version: Eclipse
Persistence Services - 2.1.3.v20110304-r9073
[EL Info]: 2011-09-08 07:45:23.661--ServerSession(2018501004)--Server:
EasyBeans
[EL Severe]: 2011-09-08 07:45:24.343--ServerSession(2018501004)--Local
Exception Stack:
Exception [EclipseLink-0] (Eclipse Persistence Services -
2.1.3.v20110304-r9073):
org.eclipse.persistence.exceptions.IntegrityException
Descriptor Exceptions:
---------------------------------------------------------

Exception [EclipseLink-60] (Eclipse Persistence Services -
2.1.3.v20110304-r9073):
org.eclipse.persistence.exceptions.DescriptorException
Exception Description: The method [_persistence_set_businessTrip_vh] or
[_persistence_get_businessTrip_vh] is not defined in the object
[com.lbslogics.ims.model.Event].
Internal Exception: java.lang.NoSuchMethodException:
com.lbslogics.ims.model.Event._persistence_get_businessTrip_vh()
Mapping: org.eclipse.persistence.mappings.ManyToOneMapping[businessTrip]
Descriptor: RelationalDescriptor(com.lbslogics.ims.model.Event -->
[DatabaseTable(EventBean_)])

Exception [EclipseLink-60] (Eclipse Persistence Services -
2.1.3.v20110304-r9073):
org.eclipse.persistence.exceptions.DescriptorException
Exception Description: The method [_persistence_set_businessTripDay_vh]
or [_persistence_get_businessTripDay_vh] is not defined in the object
[com.lbslogics.ims.model.Event].
Internal Exception: java.lang.NoSuchMethodException:
com.lbslogics.ims.model.Event._persistence_get_businessTripDay_vh()
Mapping:
org.eclipse.persistence.mappings.ManyToOneMapping[businessTripDay]
Descriptor: RelationalDescriptor(com.lbslogics.ims.model.Event -->
[DatabaseTable(EventBean_)])

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

java.lang.NullPointerException

at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:471)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:406)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConnectDatasource(DatabaseSessionImpl.java:666)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:615)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:228)
at
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:389)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:164)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:221)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:209)
at
org.ow2.easybeans.persistence.TxEntityManagerHandler.buildNewTxEntityManager(TxEntityManagerHandler.java:124)
at
org.ow2.easybeans.persistence.TxEntityManagerHandler.getCurrent(TxEntityManagerHandler.java:112)
at
org.ow2.easybeans.persistence.TxEntityManager.getCurrentEntityManager(TxEntityManager.java:74)
at
org.ow2.easybeans.persistence.TxEntityManager.createNamedQuery(TxEntityManager.java:246)
at
org.ow2.easybeans.persistence.ContainerManagedEntityManager.createNamedQuery(ContainerManagedEntityManager.java:244)
at
com.lbslogics.ims.system.objects.IMSSetting.loadFromStore(IMSSetting.java:430)



Seems very clear to me that the error occurs because the JPA entities
are not "enhanced"/weaved by EclipseLink -- what do you think ?

regards,
HANS
Florent BENOIT
2011-09-08 14:20:29 UTC
Permalink
Hans,

Maybe it's linked to the following issue
:https://bugs.eclipse.org/bugs/show_bug.cgi?id=323403 (as you said on
missing wawing classes)
We should upgrade EclipseLink 2 version in JOnAS
In 5.2.0-M5, what was the property set for JPA persistence provider ?
eclipselink or eclipselink2 ?

You may try to weave your classes offline, so that the runtime weawing
won't occur :
org.eclipse.persistence.tools.weaving.jpa.StaticWeave needs to be used
As you're using if I remember well, here is a link :
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Static_Weaving/Static_Weaving


Also you may try with another provider like hibernate3.5

Regards,

Florent
Post by Hans J. Prueller
Hi JOnAS Team!
I just downloaded and configured the new JOnAS 5.3 M4 Milestone, and
tried to deploy our EAR application.
Basically it works, but there seems to be a Problem with contained
EclipseLink (2.1.3) -_seems that weaving does not take place!_
The identical EAR archive which works on 5.2.0-M5/RC produces the
[EL Info]: 2011-09-08
Eclipse Persistence Services - 2.1.3.v20110304-r9073*
EasyBeans
[EL Severe]: 2011-09-08 07:45:24.343--ServerSession(2018501004)--Local
Exception [EclipseLink-0] (Eclipse Persistence Services -
org.eclipse.persistence.exceptions.IntegrityException
---------------------------------------------------------
*Exception [EclipseLink-60] (Eclipse Persistence Services -
org.eclipse.persistence.exceptions.DescriptorException*
*Exception Description: The method [_persistence_set_businessTrip_vh]
or [_persistence_get_businessTrip_vh] is not defined in the object
[com.lbslogics.ims.model.Event].*
com.lbslogics.ims.model.Event._persistence_get_businessTrip_vh()*
*Mapping: org.eclipse.persistence.mappings.ManyToOneMapping[businessTrip]*
*Descriptor: RelationalDescriptor(com.lbslogics.ims.model.Event -->
[DatabaseTable(EventBean_)])*
Exception [EclipseLink-60] (Eclipse Persistence Services -
org.eclipse.persistence.exceptions.DescriptorException
Exception Description: The method
[_persistence_set_businessTripDay_vh] or
[_persistence_get_businessTripDay_vh] is not defined in the object
[com.lbslogics.ims.model.Event].
com.lbslogics.ims.model.Event._persistence_get_businessTripDay_vh()
org.eclipse.persistence.mappings.ManyToOneMapping[businessTripDay]
Descriptor: RelationalDescriptor(com.lbslogics.ims.model.Event -->
[DatabaseTable(EventBean_)])
---------------------------------------------------------
java.lang.NullPointerException
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:471)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:406)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConnectDatasource(DatabaseSessionImpl.java:666)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:615)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:228)
at
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:389)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:164)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:221)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:209)
at
org.ow2.easybeans.persistence.TxEntityManagerHandler.buildNewTxEntityManager(TxEntityManagerHandler.java:124)
at
org.ow2.easybeans.persistence.TxEntityManagerHandler.getCurrent(TxEntityManagerHandler.java:112)
at
org.ow2.easybeans.persistence.TxEntityManager.getCurrentEntityManager(TxEntityManager.java:74)
at
org.ow2.easybeans.persistence.TxEntityManager.createNamedQuery(TxEntityManager.java:246)
at
org.ow2.easybeans.persistence.ContainerManagedEntityManager.createNamedQuery(ContainerManagedEntityManager.java:244)
at
com.lbslogics.ims.system.objects.IMSSetting.loadFromStore(IMSSetting.java:430)
Seems very clear to me that the error occurs because the JPA entities
are not "enhanced"/weaved by EclipseLink -- what do you think ?
regards,
HANS
Hans J. Prueller
2011-09-08 14:34:23 UTC
Permalink
Florent,

thank you for your message.

I am not sure if it is related to the eclipselink issue you mentioned,
because the issue is called " ... requires better error message ..."
which I am
interpreting that the error message should be better if weaving did not
take place.

Anyway under JOnAS 5.2 it worked fine with JPA persistence provider
"eclipselink2"

but it only worked from JOnAS-5.2.0-Milestones up to 5.2.0-RC --- the
problem already appeared with 5.2.0-RELEASE version

Earlier as I reported this problem for 5.2.0 release version, you
Post by Florent BENOIT
Also, for a test, could you replace the EasyBeans core bundle 5.2.0
JONAS_ROOT/repositories/maven2-internal/org/ow2/easybeans/osgi/easybeans-modules-core/
Hi Florent,
meanwhile I had time to perform the test you suggested - I replaced
the EasyBeans core bundle of 5.2.0 (release)
Post by Florent BENOIT
with the EasyBeans core bundle of my working 5.2.0 M5 installation.
Now deployment of the application (EAR) works perfectly, also
persistence with EclipseLink2 works without problems again.
Post by Florent BENOIT
Seems that some change in EasyBeans core between 5.2.0 M5 and 5.2.0
release broke "weaving" ?

So the error also happened on 5.2 without changing the EclipseLink
Version - changing the EasyBeans core fixed the issue, so somehow
it has to be related to EasyBeans core which inhibits EclipseLink JPA
from weaving ?????

(you should find all this mails on the list regarding that).

For 5.2, we "worked around" this problem by sticking to 5.2.0-RC and
not using the release version of 5.2.0 :-)

But now it is required for us to upgrade to 5.3 (because we need JSF2)
and we must stick to EclipseLink2

(we have used hibernate earlier but were forced to switch JPA provider
to eclipselink because Hibernate caused severe system hangs
and crashes under heavy load ....)

So it is really a BLOCKER for us if eclipselink2 JPA persistence
provider does not work in 5.3 !!!


Could you please give it a look once again ?


Hans
Post by Florent BENOIT
Hans,
Maybe it's linked to the following
issue :https://bugs.eclipse.org/bugs/show_bug.cgi?id=323403 (as you
said on missing wawing classes)
We should upgrade EclipseLink 2 version in JOnAS
In 5.2.0-M5, what was the property set for JPA persistence provider ?
eclipselink or eclipselink2 ?
You may try to weave your classes offline, so that the runtime weawing
org.eclipse.persistence.tools.weaving.jpa.StaticWeave needs to be used
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Static_Weaving/Static_Weaving
Also you may try with another provider like hibernate3.5
Regards,
Florent
Hi JOnAS Team!
I just downloaded and configured the new JOnAS 5.3 M4 Milestone,
and tried to deploy our EAR application.
Basically it works, but there seems to be a Problem with contained
EclipseLink (2.1.3) - seems that weaving does not take place!
The identical EAR archive which works on 5.2.0-M5/RC produces the
[EL Info]: 2011-09-08
Eclipse Persistence Services - 2.1.3.v20110304-r9073
[EL Info]: 2011-09-08
07:45:23.661--ServerSession(2018501004)--Server: EasyBeans
[EL Severe]: 2011-09-08
Exception [EclipseLink-0] (Eclipse Persistence Services -
org.eclipse.persistence.exceptions.IntegrityException
---------------------------------------------------------
Exception [EclipseLink-60] (Eclipse Persistence Services -
org.eclipse.persistence.exceptions.DescriptorException
Exception Description: The method [_persistence_set_businessTrip_vh]
or [_persistence_get_businessTrip_vh] is not defined in the object
[com.lbslogics.ims.model.Event].
com.lbslogics.ims.model.Event._persistence_get_businessTrip_vh()
org.eclipse.persistence.mappings.ManyToOneMapping[businessTrip]
Descriptor: RelationalDescriptor(com.lbslogics.ims.model.Event -->
[DatabaseTable(EventBean_)])
Exception [EclipseLink-60] (Eclipse Persistence Services -
org.eclipse.persistence.exceptions.DescriptorException
Exception Description: The method
[_persistence_set_businessTripDay_vh] or
[_persistence_get_businessTripDay_vh] is not defined in the object
[com.lbslogics.ims.model.Event].
com.lbslogics.ims.model.Event._persistence_get_businessTripDay_vh()
org.eclipse.persistence.mappings.ManyToOneMapping[businessTripDay]
Descriptor: RelationalDescriptor(com.lbslogics.ims.model.Event -->
[DatabaseTable(EventBean_)])
---------------------------------------------------------
java.lang.NullPointerException
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:471)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:406)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConnectDatasource(DatabaseSessionImpl.java:666)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:615)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:228)
at
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:389)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:164)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:221)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:209)
at
org.ow2.easybeans.persistence.TxEntityManagerHandler.buildNewTxEntityManager(TxEntityManagerHandler.java:124)
at
org.ow2.easybeans.persistence.TxEntityManagerHandler.getCurrent(TxEntityManagerHandler.java:112)
at
org.ow2.easybeans.persistence.TxEntityManager.getCurrentEntityManager(TxEntityManager.java:74)
at
org.ow2.easybeans.persistence.TxEntityManager.createNamedQuery(TxEntityManager.java:246)
at
org.ow2.easybeans.persistence.ContainerManagedEntityManager.createNamedQuery(ContainerManagedEntityManager.java:244)
at
com.lbslogics.ims.system.objects.IMSSetting.loadFromStore(IMSSetting.java:430)
Seems very clear to me that the error occurs because the JPA
entities are not "enhanced"/weaved by EclipseLink -- what do you
think ?
regards,
HANS
Florent BENOIT
2011-09-08 14:56:29 UTC
Permalink
Hi,

Could you send me an archive reproducing the problem ?
Because we don't have this issue in our tests
Also, could you try the offline weaving ant task ?

About EasyBeans change this was to get bytecode compliant with JDK 7 runtime
I remember your mails but I wasn't able to reproduce your test case.

Regards,

Florent
Post by Hans J. Prueller
Florent,
thank you for your message.
I am not sure if it is related to the eclipselink issue you mentioned,
because the issue is called " ... requires better error message ..."
which I am
interpreting that the error message should be better if weaving did
not take place.
Anyway under JOnAS 5.2 it worked fine with JPA persistence provider
"eclipselink2"
but it only worked from JOnAS-5.2.0-Milestones up to 5.2.0-RC --- the
problem already appeared with 5.2.0-RELEASE version
Earlier as I reported this problem for 5.2.0 release version, you
Post by Florent BENOIT
Also, for a test, could you replace the EasyBeans core bundle 5.2.0
JONAS_ROOT/repositories/maven2-internal/org/ow2/easybeans/osgi/easybeans-modules-core/
Hi Florent,
meanwhile I had time to perform the test you suggested - I replaced
the EasyBeans core bundle of 5.2.0 (release)
Post by Florent BENOIT
with the EasyBeans core bundle of my working 5.2.0 M5 installation.
Now deployment of the application (EAR) works perfectly, also
persistence with *EclipseLink*2 works without problems again.
Post by Florent BENOIT
Seems that some change in EasyBeans core between 5.2.0 M5 and 5.2.0
release broke "weaving" ?
So the error also happened on 5.2 without changing the EclipseLink
Version - changing the EasyBeans core fixed the issue, so somehow
it has to be related to EasyBeans core which inhibits EclipseLink JPA
from weaving ?????
(you should find all this mails on the list regarding that).
For 5.2, we "worked around" this problem by sticking to 5.2.0-RC and
not using the release version of 5.2.0 :-)
But now it is required for us to upgrade to 5.3 (because we need
JSF2) and we must stick to EclipseLink2
(we have used hibernate earlier but were forced to switch JPA provider
to eclipselink because Hibernate caused severe system hangs
and crashes under heavy load ....)
So it is really a BLOCKER for us if eclipselink2 JPA persistence
provider does not work in 5.3 !!!
Could you please give it a look once again ?
Hans
Post by Florent BENOIT
Hans,
Maybe it's linked to the following issue
:https://bugs.eclipse.org/bugs/show_bug.cgi?id=323403 (as you said on
missing wawing classes)
We should upgrade EclipseLink 2 version in JOnAS
In 5.2.0-M5, what was the property set for JPA persistence provider ?
eclipselink or eclipselink2 ?
You may try to weave your classes offline, so that the runtime
org.eclipse.persistence.tools.weaving.jpa.StaticWeave needs to be used
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Static_Weaving/Static_Weaving
Also you may try with another provider like hibernate3.5
Regards,
Florent
Hi JOnAS Team!
I just downloaded and configured the new JOnAS 5.3 M4 Milestone,
and tried to deploy our EAR application.
Basically it works, but there seems to be a Problem with contained
EclipseLink (2.1.3) -_seems that weaving does not take place!_
The identical EAR archive which works on 5.2.0-M5/RC produces the
[EL Info]: 2011-09-08
Eclipse Persistence Services - 2.1.3.v20110304-r9073*
[EL Info]: 2011-09-08
07:45:23.661--ServerSession(2018501004)--Server: EasyBeans
[EL Severe]: 2011-09-08
Exception [EclipseLink-0] (Eclipse Persistence Services -
org.eclipse.persistence.exceptions.IntegrityException
---------------------------------------------------------
*Exception [EclipseLink-60] (Eclipse Persistence Services -
org.eclipse.persistence.exceptions.DescriptorException*
*Exception Description: The method
[_persistence_set_businessTrip_vh] or
[_persistence_get_businessTrip_vh] is not defined in the object
[com.lbslogics.ims.model.Event].*
com.lbslogics.ims.model.Event._persistence_get_businessTrip_vh()*
org.eclipse.persistence.mappings.ManyToOneMapping[businessTrip]*
*Descriptor: RelationalDescriptor(com.lbslogics.ims.model.Event -->
[DatabaseTable(EventBean_)])*
Exception [EclipseLink-60] (Eclipse Persistence Services -
org.eclipse.persistence.exceptions.DescriptorException
Exception Description: The method
[_persistence_set_businessTripDay_vh] or
[_persistence_get_businessTripDay_vh] is not defined in the object
[com.lbslogics.ims.model.Event].
com.lbslogics.ims.model.Event._persistence_get_businessTripDay_vh()
org.eclipse.persistence.mappings.ManyToOneMapping[businessTripDay]
Descriptor: RelationalDescriptor(com.lbslogics.ims.model.Event -->
[DatabaseTable(EventBean_)])
---------------------------------------------------------
java.lang.NullPointerException
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:471)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:406)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConnectDatasource(DatabaseSessionImpl.java:666)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:615)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:228)
at
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:389)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:164)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:221)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:209)
at
org.ow2.easybeans.persistence.TxEntityManagerHandler.buildNewTxEntityManager(TxEntityManagerHandler.java:124)
at
org.ow2.easybeans.persistence.TxEntityManagerHandler.getCurrent(TxEntityManagerHandler.java:112)
at
org.ow2.easybeans.persistence.TxEntityManager.getCurrentEntityManager(TxEntityManager.java:74)
at
org.ow2.easybeans.persistence.TxEntityManager.createNamedQuery(TxEntityManager.java:246)
at
org.ow2.easybeans.persistence.ContainerManagedEntityManager.createNamedQuery(ContainerManagedEntityManager.java:244)
at
com.lbslogics.ims.system.objects.IMSSetting.loadFromStore(IMSSetting.java:430)
Seems very clear to me that the error occurs because the JPA
entities are not "enhanced"/weaved by EclipseLink -- what do you
think ?
regards,
HANS
Hans J. Prueller
2011-09-09 07:18:07 UTC
Permalink
hm thats strange that you can't reproduce the test.

If it is of help, I can send you the original EAR archive that is
causing the problems for us?

the problem is: this is our full software product, the ear is about
35-40 MB large so I guess I cannot simply send it via e-mail to you ?

(btw: I am not allowed to post the EAR to the mailinglist as it is no
open source product, I have to send it to you personally ... )

regards,
hans
Post by Florent BENOIT
Hi,
Could you send me an archive reproducing the problem ?
Because we don't have this issue in our tests
Also, could you try the offline weaving ant task ?
About EasyBeans change this was to get bytecode compliant with JDK 7 runtime
I remember your mails but I wasn't able to reproduce your test case.
Regards,
Florent
Post by Hans J. Prueller
Florent,
thank you for your message.
I am not sure if it is related to the eclipselink issue you
mentioned, because the issue is called " ... requires better error
message ..." which I am
interpreting that the error message should be better if weaving did
not take place.
Anyway under JOnAS 5.2 it worked fine with JPA persistence provider
"eclipselink2"
but it only worked from JOnAS-5.2.0-Milestones up to 5.2.0-RC ---
the problem already appeared with 5.2.0-RELEASE version
Earlier as I reported this problem for 5.2.0 release version, you
Post by Florent BENOIT
Also, for a test, could you replace the EasyBeans core bundle
JONAS_ROOT/repositories/maven2-internal/org/ow2/easybeans/osgi/easybeans-modules-core/
Hi Florent,
meanwhile I had time to perform the test you suggested - I
replaced the EasyBeans core bundle of 5.2.0 (release)
Post by Florent BENOIT
with the EasyBeans core bundle of my working 5.2.0 M5
installation.
Post by Florent BENOIT
Now deployment of the application (EAR) works perfectly, also
persistence with EclipseLink2 works without problems again.
Post by Florent BENOIT
Seems that some change in EasyBeans core between 5.2.0 M5 and
5.2.0 release broke "weaving" ?
So the error also happened on 5.2 without changing the EclipseLink
Version - changing the EasyBeans core fixed the issue, so somehow
it has to be related to EasyBeans core which inhibits EclipseLink
JPA from weaving ?????
(you should find all this mails on the list regarding that).
For 5.2, we "worked around" this problem by sticking to 5.2.0-RC
and not using the release version of 5.2.0 :-)
But now it is required for us to upgrade to 5.3 (because we need
JSF2) and we must stick to EclipseLink2
(we have used hibernate earlier but were forced to switch JPA
provider to eclipselink because Hibernate caused severe system hangs
and crashes under heavy load ....)
So it is really a BLOCKER for us if eclipselink2 JPA persistence
provider does not work in 5.3 !!!
Could you please give it a look once again ?
Hans
Post by Florent BENOIT
Hans,
Maybe it's linked to the following
issue :https://bugs.eclipse.org/bugs/show_bug.cgi?id=323403 (as
you said on missing wawing classes)
We should upgrade EclipseLink 2 version in JOnAS
In 5.2.0-M5, what was the property set for JPA persistence
provider ? eclipselink or eclipselink2 ?
You may try to weave your classes offline, so that the runtime
org.eclipse.persistence.tools.weaving.jpa.StaticWeave needs to be used
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Static_Weaving/Static_Weaving
Also you may try with another provider like hibernate3.5
Regards,
Florent
Hi JOnAS Team!
I just downloaded and configured the new JOnAS 5.3 M4 Milestone,
and tried to deploy our EAR application.
Basically it works, but there seems to be a Problem with
contained EclipseLink (2.1.3) - seems that weaving does not take
place!
The identical EAR archive which works on 5.2.0-M5/RC produces
[EL Info]: 2011-09-08
Eclipse Persistence Services - 2.1.3.v20110304-r9073
[EL Info]: 2011-09-08
07:45:23.661--ServerSession(2018501004)--Server: EasyBeans
[EL Severe]: 2011-09-08
Exception [EclipseLink-0] (Eclipse Persistence Services -
org.eclipse.persistence.exceptions.IntegrityException
---------------------------------------------------------
Exception [EclipseLink-60] (Eclipse Persistence Services -
org.eclipse.persistence.exceptions.DescriptorException
Exception Description: The method
[_persistence_set_businessTrip_vh] or
[_persistence_get_businessTrip_vh] is not defined in the object
[com.lbslogics.ims.model.Event].
com.lbslogics.ims.model.Event._persistence_get_businessTrip_vh()
org.eclipse.persistence.mappings.ManyToOneMapping[businessTrip]
Descriptor: RelationalDescriptor(com.lbslogics.ims.model.Event
--> [DatabaseTable(EventBean_)])
Exception [EclipseLink-60] (Eclipse Persistence Services -
org.eclipse.persistence.exceptions.DescriptorException
Exception Description: The method
[_persistence_set_businessTripDay_vh] or
[_persistence_get_businessTripDay_vh] is not defined in the
object [com.lbslogics.ims.model.Event].
com.lbslogics.ims.model.Event._persistence_get_businessTripDay_vh()
org.eclipse.persistence.mappings.ManyToOneMapping[businessTripDay]
Descriptor: RelationalDescriptor(com.lbslogics.ims.model.Event
--> [DatabaseTable(EventBean_)])
---------------------------------------------------------
java.lang.NullPointerException
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:471)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:406)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConnectDatasource(DatabaseSessionImpl.java:666)
at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:615)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:228)
at
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:389)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:164)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:221)
at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:209)
at
org.ow2.easybeans.persistence.TxEntityManagerHandler.buildNewTxEntityManager(TxEntityManagerHandler.java:124)
at
org.ow2.easybeans.persistence.TxEntityManagerHandler.getCurrent(TxEntityManagerHandler.java:112)
at
org.ow2.easybeans.persistence.TxEntityManager.getCurrentEntityManager(TxEntityManager.java:74)
at
org.ow2.easybeans.persistence.TxEntityManager.createNamedQuery(TxEntityManager.java:246)
at
org.ow2.easybeans.persistence.ContainerManagedEntityManager.createNamedQuery(ContainerManagedEntityManager.java:244)
at
com.lbslogics.ims.system.objects.IMSSetting.loadFromStore(IMSSetting.java:430)
Seems very clear to me that the error occurs because the JPA
entities are not "enhanced"/weaved by EclipseLink -- what do
you think ?
regards,
HANS
Loading...