I use Oracle JDK 1.7 update 71 with Netbeans 7.4 under Windows when I'm at 
work. I use OpenJDK 1.7 under Mageia Linux 4 at home. My original problem isn't 
fixed yet. I enabled PostLoadOnMerge but it doesn't change anything.

My patch is here:
# This patch file was generated by NetBeans IDE
# Following Index: paths are relative to: C:\Users\jgouesse\Documents\trunk
# This patch can be applied using context Tools: Patch action on respective 
folder.
# It uses platform neutral UTF-8 encoding and \n newlines.
# Above lines and this line are ignored by the patching process.
Index: 
openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java
--- 
openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java
 Base (BASE)
+++ 
openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java
 Locally Modified (Based On LOCAL)
@@ -1560,9 +1560,10 @@

// cache the JAXB XmlRootElement class if it is present so we do not
// have a hard-wired dependency on JAXB here
- Class xmlRootElementClass = null;
+ Class<? extends Annotation> xmlRootElementClass = null;
try {
- xmlRootElementClass = 
Class.forName("javax.xml.bind.annotation.XmlRootElement");
+ xmlRootElementClass = (Class<? extends Annotation>)
+ Class.forName("javax.xml.bind.annotation.XmlRootElement");
} catch (Exception e) {
}

Index: 
openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceXMLMetaDataParser.java
--- 
openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceXMLMetaDataParser.java
 Base (BASE)
+++ 
openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceXMLMetaDataParser.java
 Locally Modified (Based On LOCAL)
@@ -18,6 +18,7 @@
*/
package org.apache.openjpa.persistence;

+import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Field;
import java.lang.reflect.Member;
@@ -53,8 +54,8 @@

// cache the JAXB Xml... classes if they are present so we do not
// have a hard-wired dependency on JAXB here
- private Class xmlTypeClass = null;
- private Class xmlRootElementClass = null;
+ private Class<? extends Annotation> xmlTypeClass = null;
+ private Class<? extends Annotation> xmlRootElementClass = null;
private Class xmlAccessorTypeClass = null;
private Class xmlAttributeClass = null;
private Class xmlElementClass = null;
@@ -75,11 +76,11 @@
_conf = conf;
_log = conf.getLog(OpenJPAConfiguration.LOG_METADATA);
try {
- xmlTypeClass = Class.forName(
+ xmlTypeClass = (Class<? extends Annotation>) Class.forName(
"javax.xml.bind.annotation.XmlType");
xmlTypeName = xmlTypeClass.getMethod("name", null);
xmlTypeNamespace = xmlTypeClass.getMethod("namespace", null);
- xmlRootElementClass = Class.forName(
+ xmlRootElementClass = (Class<? extends Annotation>) Class.forName(
"javax.xml.bind.annotation.XmlRootElement");
xmlRootName = xmlRootElementClass.getMethod("name", null);
xmlRootNamespace = xmlRootElementClass.getMethod("namespace", null);







> Message du 17/10/14 17:02
> De : "Rick Curtis" 
> A : "users" , goues...@orange.fr
> Copie à : 
> Objet : Re: javax.persistence.EntityListeners is never called
> 
>
I don't see your patch... and I also don't see this same problem when running 
in Eclipse. 

>
What vendor / version of java are you running? I remember seeing similar 
problems when running with early version of java 7 (or maybe it was 8.. I don't 
really remember)

>
Is your original problem resolved?


>
On Fri, Oct 17, 2014 at 9:22 AM,  wrote:
>
Please find enclosed my patch. It fixes the compile errors and it is better 
than a useless cast.
> 
> > Message du 16/10/14 18:32
> > De : "Rick Curtis"
> > A : "users" , goues...@orange.fr
> > Copie à :
> > Objet : Re: javax.persistence.EntityListeners is never called
> >
> > > I had to disable checkstyle and to fix a compile error to build OpenJPA.
> > The test passes.
> > Yes, sorry I just committed a fix for that. Please do an update and let me
> > know if you're still having compile problems.
> >
> > I think that you should have a separate listener class and have the
> > singleton bean injected into it.
> >
> 

> On Thu, Oct 16, 2014 at 11:08 AM,  wrote:
> >
> > > I had to disable checkstyle and to fix a compile error to build OpenJPA.
> > > The test passes.
> > >
> > > However, the contract of the annotation javax.ejb.Singleton isn't
> > > respected by OpenEJB whereas it is respected by Hibernate. This is the 
> > > only
> > > difference that I have found. I just put a log message into the 
> > > constructor
> > > of the annotated class.
> > >
> > >
> > >
> > >
> > > > Message du 15/10/14 17:25
> > > > De : "Rick Curtis"
> > > > A : "users" , goues...@orange.fr
> > > > Copie à :
> > > > Objet : Re: javax.persistence.EntityListeners is never called
> > > >
> > > > Yes, there are numerous unit tests, please take a look at the one that
> > > I've
> > > > noted below.
> > > >
> > > >
> > > https://svn.apache.org/repos/asf/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/callbacks/TestEntityListeners.java
> > > >
> > > > On Wed, Oct 15, 2014 at 10:00 AM, wrote:
> > > >
> > > > > Are there any unit tests that I can run and modify to reproduce my
> > > > > problem? This is typically what I do with JogAmp.
> > > > >
> > > > > > Message du 15/10/14 16:42
> > > > > > De : "Rick Curtis"
> > > > > > A : "users" , goues...@orange.fr
> > > > > > Copie à :
> > > > > > Objet : Re: javax.persistence.EntityListeners is never called
> > > > > >
> > > > > > >Getting rid of this property doesn't solve my problem.
> > > > > > Sorry about muddying the waters. As I stated, that suggestion isn't
> > > > > related
> > > > > > to the current problem... it is a best practice. That property is
> > > busted
> > > > > > and you can fairly easily get into deadlocks.
> > > > > >
> > > > > > I am still confused The reason @PostLoad isn't called is because 
> > > > > > your
> > > > > > snippets look good. Can I have you put together some sort of a
> > > > > recreatable
> > > > > > test? That will help speed up diagnosis.
> > > > > >
> > > > > > Thanks,
> > > > > > Rick
> > > > > >
> > > > > > On Wed, Oct 15, 2014 at 4:35 AM, wrote:
> > > > > >
> > > > > > > Getting rid of this property doesn't solve my problem.
> > > > > > >
> > > > > > > My listener:
> > > > > > >
> > > > > > > @Singleton
> > > > > > > public class MultiLangStringEntityListener {
> > > > > > >
> > > > > > > @PostLoad
> > > > > > > @SuppressWarnings("UseSpecificCatch")
> > > > > > > public void postLoad(Object entity) {
> > > > > > >
> > > > > > >
> > > > > > > An entity:
> > > > > > > @Entity
> > > > > > > @EntityListeners({MultiLangStringEntityListener.class})
> > > > > > > @Table(name = "THEME")
> > > > > > > @XmlRootElement(name = "Theme")
> > > > > > > @NamedQueries({
> > > > > > > @NamedQuery(name = "DmTheme.findAll", query = "SELECT d FROM
> > > DmTheme
> > > > > d")})
> > > > > > > public class Theme implements Serializable {
> > > > > > > private static final long serialVersionUID = 1L;
> > > > > > > // @Max(value=?) @Min(value=?)//if you know range of your decimal
> > > > > fields
> > > > > > > consider using these annotations to enforce field validation
> > > > > > > @Id
> > > > > > > @Basic(optional = false)
> > > > > > > @GeneratedValue(strategy = GenerationType.SEQUENCE, generator =
> > > > > > > "SEQ_THEME")
> > > > > > > @SequenceGenerator(name = "SEQ_THEME", sequenceName = "SEQ_THEME",
> > > > > > > allocationSize = 1)
> > > > > > > @Column(name = "ID")
> > > > > > > private BigInteger id;
> > > > > > > @Embedded
> > > > > > > @AttributeOverrides({
> > > > > > > @AttributeOverride(name = "id", column = @Column(name = "DESCR",
> > > > > > > nullable=false)),
> > > > > > > @AttributeOverride(name = "lang", column = @Column(insertable =
> > > false,
> > > > > > > updatable = false, name = "DESCR")),
> > > > > > > @AttributeOverride(name = "text", column = @Column(insertable =
> > > false,
> > > > > > > updatable = false, name = "DESCR"))
> > > > > > > })
> > > > > > > private MultiLangString descr;
> > > > > > >
> > > > > > >
> > > > > > > The embeddable class:
> > > > > > >
> > > > > > > @Embeddable
> > > > > > > public class MultiLangString implements Serializable {
> > > > > > >
> > > > > > > private static final long serialVersionUID = 1L;
> > > > > > > private String id;
> > > > > > > private String lang;
> > > > > > > private String text;
> > > > > > >
> > > > > > > public MultiLangString() {
> > > > > > > }
> > > > > > >
> > > > > > >
> > > > > > > Some of my entity classes use both @Embedded and @EmbeddedId but
> > > not on
> > > > > > > the same field. I don't know what is wrong as it still works with
> > > > > Hibernate
> > > > > > > whereas I try to stay far from its specific features as you can
> > > see in
> > > > > this
> > > > > > > bug report:
> > > > > > > https://hibernate.atlassian.net/browse/HHH-9437
> > > > > > >
> > > > > > >
> > > > > > > > Message du 14/10/14 17:45
> > > > > > > > De : "Rick Curtis"
> > > > > > > > A : "users" , goues...@orange.fr
> > > > > > > > Copie à :
> > > > > > > > Objet : Re: javax.persistence.EntityListeners is never called
> > > > > > > >
> > > > > > > > One thing that jumps out of your p.xml is the
> > > openjpa.Multithreaded
> > > > > > > > property. I suggest you get rid of that property and ensure that
> > > you
> > > > > > > aren't
> > > > > > > > sharing EntityManager's across threads... but I don't think that
> > > is
> > > > > > > related
> > > > > > > > to the problem you are currently having.
> > > > > > > >
> > > > > > > > Can you post relevant snippets of your Entity?
> > > > > > > >
> > > > > > > > On Tue, Oct 14, 2014 at 10:39 AM, wrote:
> > > > > > > >
> > > > > > > > > Sorry for the confusion. No I'm not using those callbacks on 
> > > > > > > > > an
> > > > > > > Embeddable
> > > > > > > > > but when I switched to OpenJPA, I remember that I had to add
> > > the
> > > > > > > classes
> > > > > > > > > with @Embeddable into persistence.xml whereas it wasn't
> > > necessary
> > > > > with
> > > > > > > > > Hibernate.
> > > > > > > > >
> > > > > > > > > The class that uses those callbacks uses the annotation
> > > @Singleton,
> > > > > > > > > removing it doesn't solve my problem.
> > > > > > > > >
> > > > > > > > > Please find enclosed the file.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > Message du 14/10/14 17:31
> > > > > > > > > > De : "Rick Curtis"
> > > > > > > > > > A : "users" , goues...@orange.fr
> > > > > > > > > > Copie à :
> > > > > > > > > > Objet : Re: javax.persistence.EntityListeners is never 
> > > > > > > > > > called
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > 2.4.x is the latest.
> > > > > > > > >
> > > > > > > > > >
> > > > > > > > > If I understand your previous posts, are you using
> > > > > callbacks(@Preload,
> > > > > > > > > @Postload, etc, etc) on an Embeddable? If that is the case,
> > > I'm not
> > > > > > > sure if
> > > > > > > > > it is suppose to work? Can I have you post some
> > > Entity/embeddable
> > > > > > > snippets
> > > > > > > > > so we can better understand what you want to do?
> > > > > > > > >
> > > > > > > > > >
> > > > > > > > > Thanks,
> > > > > > > > > Rick
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > >
> > > > > > > > > On Tue, Oct 14, 2014 at 8:20 AM, wrote:
> > > > > > > > > >
> > > > > > > > > I use OpenJPA 2.4.0. I'm going to try with a more recent
> > > version if
> > > > > > > any.
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > > Message du 14/10/14 00:14
> > > > > > > > > > > De : "Kevin Sutter"
> > > > > > > > > > > A : users@openjpa.apache.org, goues...@orange.fr
> > > > > > > > > > > Copie à :
> > > > > > > > > > > Objet : Re: javax.persistence.EntityListeners is never
> > > called
> > > > > > > > > > >
> > > > > > > > > > > Hi,
> > > > > > > > > > > The complete trace can be turned on via this property in
> > > your
> > > > > > > p.xml:
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Good luck,
> > > > > > > > > > > Kevin
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > > On Mon, Oct 13, 2014 at 1:01 PM, wrote:
> > > > > > > > > > >
> > > > > > > > > > > > Hi
> > > > > > > > > > > >
> > > > > > > > > > > > I use Apache OpenEJB 4.7.1 (probably OpenJPA 2.2 or
> > > 2.3). I
> > > > > have
> > > > > > > > > looked at
> > > > > > > > > > > > the logs and I have already done my best to force the
> > > > > > > persistence of
> > > > > > > > > all
> > > > > > > > > > > > entity classes including those Hibernate was able to
> > > discover
> > > > > > > alone,
> > > > > > > > > for
> > > > > > > > > > > > example the class using @Embeddable. As I'm currently
> > > not at
> > > > > > > work, I
> > > > > > > > > can't
> > > > > > > > > > > > post the persistence.xml but I'll do it tomorrow. What
> > > > > should I
> > > > > > > turn
> > > > > > > > > on to
> > > > > > > > > > > > get some more trace? Thank you for your help.
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > > Message du 13/10/14 19:07
> > > > > > > > > > > > > De : "Kevin Sutter"
> > > > > > > > > > > > > A : users@openjpa.apache.org, goues...@orange.fr
> > > > > > > > > > > > > Copie à :
> > > > > > > > > > > > > Objet : Re: javax.persistence.EntityListeners is never
> > > > > called
> > > > > > > > > > > > >
> > > > > > > > > > > > > Hi,
> > > > > > > > > > > > > EntityListeners should work just fine with OpenJPA.
> > > What
> > > > > > > version of
> > > > > > > > > > > > > OpenJPA are you using? The basic support is documented
> > > > > here:
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > >
> > > > > > >
> > > > >
> > > http://ci.apache.org/projects/openjpa/trunk/docbook/manual.html#jpa_overview_pc_callbacks
> > > > > > > > > > > > >
> > > > > > > > > > > > > Are there any other messages in the logs that indicate
> > > an
> > > > > > > issue?
> > > > > > > > > Have you
> > > > > > > > > > > > > tried turning on Trace to ensure that normal
> > > persistence
> > > > > > > > > processing is
> > > > > > > > > > > > > happening? Can you post your p.xml? Like I mentioned,
> > > this
> > > > > > > should
> > > > > > > > > all
> > > > > > > > > > > > > just work. We'll need a bit more context to help 
> > > > > > > > > > > > > figure
> > > > > out the
> > > > > > > > > problem.
> > > > > > > > > > > > >
> > > > > > > > > > > > > Kevin
> > > > > > > > > > > > >
> > > > > > > > > > > > > On Mon, Oct 13, 2014 at 10:56 AM, wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > > Hello
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > I use javax.persistence.EntityListeners. The
> > > persistent
> > > > > > > classes
> > > > > > > > > of the
> > > > > > > > > > > > > > entities are correctly added into persistence.xml. 
> > > > > > > > > > > > > > My
> > > > > test
> > > > > > > case
> > > > > > > > > works
> > > > > > > > > > > > > > correctly with Hibernate and OpenJPA except that the
> > > > > > > annotated
> > > > > > > > > methods
> > > > > > > > > > > > > > (with @PostLoad, @PreUpdate, @PrePersist and
> > > > > @PostRemove) are
> > > > > > > > > never
> > > > > > > > > > > > called
> > > > > > > > > > > > > > by OpenJPA whereas they are called by Hibernate. Am 
> > > > > > > > > > > > > > I
> > > > > missing
> > > > > > > > > anything
> > > > > > > > > > > > > > obvious? Best regards.
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > >
> > > > > > > > > --
> > > > > > > > > > Rick Curtis
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > *Rick Curtis*
> > > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > *Rick Curtis*
> > > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > *Rick Curtis*
> > > >
> > >
> >
> >
> >
> > --
>

> *Rick Curtis*
> >
>


> 

>
-- 
> Rick Curtis
>

Reply via email to