Re: Re: Re: Eclipselink2 "weaving" does not take place on JOnAS 5.3.0 M4

Florent BENOIT <[email protected]> Thu, 08 Sep 2011 16:56:29 +0200
Newsgroups gmane.comp.java.objectweb.jonas
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------070005010207000906080903
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

     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



On 09/08/2011 04:34 PM, Hans J. Prueller wrote:
> 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 
> suggested:
>
> >> Also, for a test, could you replace the EasyBeans core bundle 5.2.0 
> and replace it with the bundle of 5.2.0-M5 :
> >>JONAS_ROOT/repositories/maven2-internal/org/ow2/easybeans/osgi/easybeans-modules-core/
>
>
> I did that and sent the result via mailinglist:
>
> >> Hi Florent,
> >>
> >> meanwhile I had time to perform the test you suggested - I replaced 
> the EasyBeans core bundle of 5.2.0 (release)
> >> 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.
> >>
> >> 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
>
>
>
> Am Donnerstag, den 08.09.2011, 16:20 +0200 schrieb 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 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
>>
>>
>> On 09/08/2011 07:52 AM, Hans J. Prueller wrote:
>>> 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
>>>
>>
>


--------------070005010207000906080903
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<html>
  <head>
    <meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Ty=
pe">
  </head>
  <body bgcolor=3D"#FFFFFF" text=3D"#000000">
    =C2=A0=C2=A0=C2=A0 Hi,<br>
    <br>
    Could you send me an archive reproducing the problem ?<br>
    Because we don't have this issue in our tests<br>
    Also, could you try the offline weaving ant task ?<br>
    <br>
    About EasyBeans change this was to get bytecode compliant with JDK 7
    runtime<br>
    I remember your mails but I wasn't able to reproduce your test case.<=
br>
    <br>
    Regards,<br>
    <br>
    Florent<br>
    <br>
    <br>
    <br>
    On 09/08/2011 04:34 PM, Hans J. Prueller wrote:
    <blockquote cite=3D"mid:1315492464.2049.8.camel@kodos" type=3D"cite">
      <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DU=
TF-8">
      <meta name=3D"GENERATOR" content=3D"GtkHTML/3.32.2">
      Florent,<br>
      <br>
      thank you for your message.<br>
      <br>
      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<br>
      interpreting that the error message should be better if weaving
      did not take place.<br>
      <br>
      Anyway under JOnAS 5.2 it worked fine with JPA persistence
      provider "eclipselink2"<br>
      <br>
      but it only worked from JOnAS-5.2.0-Milestones up to 5.2.0-RC=C2=A0=
 ---
      the problem already appeared with 5.2.0-RELEASE=C2=A0 version<br>
      <br>
      Earlier as I reported this problem for 5.2.0 release version, you
      suggested:<br>
      <br>
      &gt;&gt; Also, for a test, could you replace the EasyBeans core
      bundle 5.2.0 and replace it with the bundle of 5.2.0-M5 :<br>
&gt;&gt;JONAS_ROOT/repositories/maven2-internal/org/ow2/easybeans/osgi/ea=
sybeans-modules-core/<br>
      <br>
      <br>
      I did that and sent the result via mailinglist:<br>
      <br>
      &gt;&gt; Hi Florent,<br>
      &gt;&gt; <br>
      &gt;&gt; meanwhile I had time to perform the test you suggested -
      I replaced the EasyBeans core bundle of 5.2.0 (release) <br>
      &gt;&gt; with the EasyBeans core bundle of my working 5.2.0 M5
      installation.<br>
      &gt;&gt;<br>
      &gt;&gt;Now deployment of the application (EAR) works perfectly,
      also persistence with <b><font color=3D"#a020f0">EclipseLink</font>=
</b>2
      works without problems again.<br>
      &gt;&gt;<br>
      &gt;&gt; Seems that some change in EasyBeans core between 5.2.0 M5
      and 5.2.0 release broke "weaving" ?<br>
      <br>
      So the error also happened on 5.2 without changing the EclipseLink
      Version - changing the EasyBeans core fixed the issue, so somehow<b=
r>
      it has to be related to EasyBeans core which inhibits EclipseLink
      JPA from weaving ?????<br>
      <br>
      (you should find all this mails on the list regarding that).<br>
      <br>
      For 5.2, we "worked around" this problem by sticking to 5.2.0-RC=C2=
=A0
      and not using the release version of 5.2.0 :-)<br>
      <br>
      But now it is required for us to upgrade to 5.3 (because we need
      JSF2)=C2=A0=C2=A0 and we must stick to EclipseLink2 <br>
      <br>
      (we have used hibernate earlier but were forced to switch JPA
      provider to eclipselink because Hibernate caused severe system
      hangs<br>
      and crashes under heavy load ....)<br>
      <br>
      So it is really a BLOCKER for us if eclipselink2 JPA persistence
      provider does not work in 5.3=C2=A0 !!! <br>
      <br>
      <br>
      Could you please give it a look once again ?<br>
      <br>
      <br>
      Hans<br>
      <br>
      <br>
      <br>
      Am Donnerstag, den 08.09.2011, 16:20 +0200 schrieb Florent BENOIT:<=
br>
      <blockquote type=3D"CITE"> =C2=A0=C2=A0=C2=A0 Hans,<br>
        <br>
        Maybe it's linked to the following issue :<a
          moz-do-not-send=3D"true"
          href=3D"https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D323403"=
>https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D323403</a>
        (as you said on missing wawing classes)<br>
        We should upgrade EclipseLink 2 version in JOnAS<br>
        In 5.2.0-M5, what was the property set for JPA persistence
        provider ? eclipselink or eclipselink2 ?<br>
        <br>
        You may try to weave your classes offline, so that the runtime
        weawing won't occur :<br>
        org.eclipse.persistence.tools.weaving.jpa.StaticWeave needs to
        be used<br>
        As you're using if I remember well, here is a link : <a
          moz-do-not-send=3D"true"
href=3D"http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_De=
velopment/Performance/Weaving/Static_Weaving/Static_Weaving">http://wiki.=
eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performanc=
e/Weaving/Static_Weaving/Static_Weaving</a><br>
        <br>
        <br>
        Also you may try with another provider like hibernate3.5<br>
        <br>
        Regards,<br>
        <br>
        Florent<br>
        <br>
        <br>
        On 09/08/2011 07:52 AM, Hans J. Prueller wrote: <br>
        <blockquote type=3D"CITE"> Hi JOnAS Team!<br>
          <br>
          I just downloaded and configured the new JOnAS 5.3 M4
          Milestone,=C2=A0 and tried to deploy our EAR application.<br>
          <br>
          Basically it works, but there seems to be a Problem with
          contained EclipseLink (2.1.3) -<u> seems that weaving does not
            take place!</u><br>
          <br>
          The identical EAR archive which works on 5.2.0-M5/RC produces
          the following error on 5.3.0 M4:<br>
          <br>
          <br>
          [EL Info]: 2011-09-08
          07:45:23.633--ServerSession(2018501004)--<b>EclipseLink,
            version: Eclipse Persistence Services -
            2.1.3.v20110304-r9073</b><br>
          [EL Info]: 2011-09-08
          07:45:23.661--ServerSession(2018501004)--Server: EasyBeans<br>
          [EL Severe]: 2011-09-08
          07:45:24.343--ServerSession(2018501004)--Local Exception
          Stack: <br>
          Exception [EclipseLink-0] (Eclipse Persistence Services -
          2.1.3.v20110304-r9073):
          org.eclipse.persistence.exceptions.IntegrityException<br>
          Descriptor Exceptions: <br>
          ---------------------------------------------------------<br>
          <br>
          <b>Exception [EclipseLink-60] (Eclipse Persistence Services -
            2.1.3.v20110304-r9073):
            org.eclipse.persistence.exceptions.DescriptorException</b><br=
>
          <b>Exception Description: The method
            [_persistence_set_businessTrip_vh] or
            [_persistence_get_businessTrip_vh] is not defined in the
            object [com.lbslogics.ims.model.Event].</b><br>
          <b>Internal Exception: java.lang.NoSuchMethodException:
            com.lbslogics.ims.model.Event._persistence_get_businessTrip_v=
h()</b><br>
          <b>Mapping:
            org.eclipse.persistence.mappings.ManyToOneMapping[businessTri=
p]</b><br>
          <b>Descriptor:
            RelationalDescriptor(com.lbslogics.ims.model.Event --&gt;
            [DatabaseTable(EventBean_)])</b><br>
          <br>
          Exception [EclipseLink-60] (Eclipse Persistence Services -
          2.1.3.v20110304-r9073):
          org.eclipse.persistence.exceptions.DescriptorException<br>
          Exception Description: The method
          [_persistence_set_businessTripDay_vh] or
          [_persistence_get_businessTripDay_vh] is not defined in the
          object [com.lbslogics.ims.model.Event].<br>
          Internal Exception: java.lang.NoSuchMethodException:
          com.lbslogics.ims.model.Event._persistence_get_businessTripDay_=
vh()<br>
          Mapping:
          org.eclipse.persistence.mappings.ManyToOneMapping[businessTripD=
ay]<br>
          Descriptor: RelationalDescriptor(com.lbslogics.ims.model.Event
          --&gt; [DatabaseTable(EventBean_)])<br>
          <br>
          Runtime Exceptions: <br>
          ---------------------------------------------------------<br>
          <br>
          java.lang.NullPointerException<br>
          <br>
          at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeD=
escriptors(DatabaseSessionImpl.java:471)<br>
          at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeD=
escriptors(DatabaseSessionImpl.java:406)<br>
          at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConnect=
Datasource(DatabaseSessionImpl.java:666)<br>
          at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDet=
ectDatasource(DatabaseSessionImpl.java:615)<br>
          at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(E=
ntityManagerFactoryProvider.java:228)<br>
          at
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(Entity=
ManagerSetupImpl.java:389)<br>
          at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSe=
ssion(EntityManagerFactoryImpl.java:164)<br>
          at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntit=
yManagerImpl(EntityManagerFactoryImpl.java:221)<br>
          at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntit=
yManager(EntityManagerFactoryImpl.java:209)<br>
          at
org.ow2.easybeans.persistence.TxEntityManagerHandler.buildNewTxEntityMana=
ger(TxEntityManagerHandler.java:124)<br>
          at
org.ow2.easybeans.persistence.TxEntityManagerHandler.getCurrent(TxEntityM=
anagerHandler.java:112)<br>
          at
org.ow2.easybeans.persistence.TxEntityManager.getCurrentEntityManager(TxE=
ntityManager.java:74)<br>
          at
org.ow2.easybeans.persistence.TxEntityManager.createNamedQuery(TxEntityMa=
nager.java:246)<br>
          at
org.ow2.easybeans.persistence.ContainerManagedEntityManager.createNamedQu=
ery(ContainerManagedEntityManager.java:244)<br>
          at
com.lbslogics.ims.system.objects.IMSSetting.loadFromStore(IMSSetting.java=
:430)<br>
          <br>
          <br>
          <br>
          Seems very clear to me that the error occurs because the JPA
          entities are not "enhanced"/weaved by EclipseLink=C2=A0 -- what=
 do
          you think ?<br>
          <br>
          regards,<br>
          HANS<br>
          <br>
        </blockquote>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>

--------------070005010207000906080903--