tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leonardo K. Shikida" <shik...@gmail.com>
Subject Re: @Auditable not working
Date Fri, 11 Oct 2013 15:10:36 GMT
Hi Romain

I can't think on anything simpler that this :-)

I am using java7, eclipse indigo and tomee+ 1.5.2

TIA

Leo

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>MyAuditTest>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
package ejb;

import javax.ejb.Schedule;
import javax.ejb.Startup;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import entities.SomePersistentEntity;

@Stateless
@Startup
public class MyAuditTest {

    @PersistenceContext(unitName = "poc")
    private EntityManager entityManager;

    @Schedule(minute = "*", hour = "*")
    public void save(){
        System.out.println("Saving...");
        SomePersistentEntity entity = new SomePersistentEntity();
        entity.setS(String.valueOf(System.currentTimeMillis()));
        entityManager.persist(entity);
    }
}

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>SomePersistentEntity>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
package entities;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

import org.apache.openjpa.audit.Auditable;

@Entity
@Auditable
public class SomePersistentEntity implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 6119051520445701552L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private String s;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getS() {
        return s;
    }

    public void setS(String s) {
        this.s = s;
    }


}

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>persistence.xml>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="poc">
    <jta-data-source>poc1</jta-data-source>
    <non-jta-data-source>poc2</non-jta-data-source>
    <properties>
        <property name="openjpa.jdbc.DBDictionary"
value="oracle(maxEmbeddedBlobSize=-1,maxEmbeddedClobSize=-1)"/>
        <property name="openjpa.jdbc.SynchronizeMappings"
value="buildSchema(ForeignKeys=true)"/>
        <property name="openjpa.Auditor" value="default"/>
    </properties>
  </persistence-unit>
</persistence>


[]

Leo


On Fri, Oct 11, 2013 at 1:52 AM, Romain Manni-Bucau
<rmannibucau@gmail.com>wrote:

> Hi
>
> Do you care putting it in a easily runnable project (mvn/ant on github/code
> google for instance)?
> Le 11 oct. 2013 04:22, "Leonardo K. Shikida" <shikida@gmail.com> a écrit :
>
> > Hi
> >
> > I am trying to use OpenJPA @Auditable with tomee+ 1.5.2 but something
> > strange is happening.
> >
> > persistence.xml has
> >
> > <property name="openjpa.Auditor" value="xxx.Auditor"/>
> >
> > my class xxx.Auditor
> >
> > public class Auditor implements org.apache.openjpa.audit.Auditor {
> >
> >     @Override
> >     public void endConfiguration() {
> >         // TODO Auto-generated method stub
> >         System.out.println("works");
> >     }
> >
> >     @Override
> >     public void setConfiguration(Configuration arg0) {
> >         // TODO Auto-generated method stub
> >         System.out.println("works");
> >     }
> >
> >     @Override
> >     public void startConfiguration() {
> >         // TODO Auto-generated method stub
> >         System.out.println("works");
> >     }
> >
> >     @Override
> >     public void close() throws Exception {
> >         // TODO Auto-generated method stub
> >     }
> >
> >     @Override
> >     public void audit(Broker arg0, Collection<Audited> arg1,
> >             Collection<Audited> arg2, Collection<Audited> arg3) {
> >         System.out.println("?");
> >         System.out.println(arg1);
> >         System.out.println(arg2);
> >         System.out.println(arg3);
> >
> >     }
> >
> >     @Override
> >     public boolean isRollbackOnError() {
> >         // TODO Auto-generated method stub
> >         return false;
> >     }
> >
> > }
> >
> > and the auditable class
> >
> > @Entity
> > @Auditable
> > @Table(uniqueConstraints=@UniqueConstraint(columnNames={"description"}))
> > public class Application implements Serializable {
> >     /**
> >      *
> >      */
> >     private static final long serialVersionUID = 6119051520445701552L;
> >
> >     @Id
> >     @GeneratedValue(strategy = GenerationType.AUTO)
> >     private Long id;
> >
> > (...)
> >
> >
> > I am deleting/inserting/editing the Application class but it seems the
> > audit() method is not being called, while endConfiguration(),
> > setConfiguration(), and startConfiguration() are.
> >
> > I am running from inside eclipse, no stacktrace detected. Entity classes
> > are being enhanced on build.
> >
> > TIA
> >
> > Leo
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message