openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "C N Davies" <...@cndavies.com>
Subject RE: how to use openjpa event listener ?
Date Tue, 11 Aug 2009 16:35:30 GMT
I'm no expert, but for audit purposes I write my code such that it always
accesses the entity manager via a service class, that way I can log all
persist/merge/delete etc operations and I have added a log viewer to my app
so administrators or finance auditors can check what operations have been
performed.

-----Original Message-----
From: illhan [mailto:quzheng911@yahoo.com.cn] 
Sent: Wednesday, 12 August 2009 1:19 AM
To: users@openjpa.apache.org
Subject: Re: how to use openjpa event listener ?


hi Rick,
Because of the audit logging,I used the openJPA LifeCycleListener(maybe
other openjpa listerners) for audit logging.
I have try to record the audit logging by JPA lifecycle callbacks,but in the
callbacks method's I can not get the old state,I only get the new method.
The document 
http://webspherepersistence.blogspot.com/2009/01/auditing-with-openjpa.html
http://webspherepersistence.blogspot.com/2009/01/auditing-with-openjpa.html 
shows one method to record audit logging,but  the audit method must be added

in my all entites ,it is too complex for developers.
in my opinion,the openJPA LifeCycleListener maybe the best way to reduse the
developers workload,if it can be used here.I can use event descriptor in
eclipselink(toplink),I only to register the event descriptor in
persistence.xml.So I would like to found the similar way in openJPA
environment.

Thanks Rick.
illhan

Michael Dick wrote:
> 
> Hi Illhan,
> The method you want to use is part of OpenJPA's SPI layer, and isn't
> intended to be used by most applications. As a result the interface may be
> a
> bit more fluid than our 'normal' API methods.
> 
> Could you elaborate on why you want to add a LifeCycleListener? We might
> be
> able to suggest an alternative that accomplishes the same goal..
> 
> Best Regards,
> -mike
> 
> On Mon, Aug 10, 2009 at 9:05 PM, illhan <quzheng911@yahoo.com.cn> wrote:
> 
>>
>> hi Rick,
>> You means the JPA lifecycle Callbacks,But I want to know the openjpa's
>> listener,in package org.apache.openjpa.event,the interface
>> LifecycleListener
>> and the class LifecycleEvents.
>> From the javadoc,the LifecycleListener  can be registered by the method
>> addLifecycleListener(Object listener, Class... classes) from class
>> org.apache.openjpa.persistence.EntityManagerImpl,but in JEE container the
>> EntityManager is inited by the container itself.How can I registere the
>> LifecycleListener and process the LifecycleEvents.I have reviewed the
>> openjpa user's guide,but no part can be found there.
>> Thanks Rick.
>> illhan
>>
>> Rick Curtis wrote:
>> >
>> > Illhan -
>> >
>> > Did you read the section in the user manual detailing the usage of
>> > Lifecycle Callbacks [1]?
>> >
>> > -Rick
>> >
>> > [1]
>>
http://openjpa.apache.org/builds/latest/docs/manual/manual.html#jpa_overview
_pc_callbacks
>> >
>> >
>> > illhan wrote:
>> >>
>> >> hi Rick,
>> >> The EntityManager and the EntityManagerFactory are initializated by
>> the
>> >> JEE contianer.I think the LifecycleListener could be set in
>> >> persistent.xml,not only used by java code.
>> >> Thanks Rick.
>> >>
>> >> illhan
>> >>
>> >> Rick Curtis wrote:
>> >>>
>> >>> Illhan -
>> >>> In your application initialization I believe you could do something
>> like
>> >>> this to get a reference to the EntityManagerFactory....
>> >>>
>> >>>             OpenJPAEntityManager oem = OpenJPAPersistence.cast(em);
>> >>>             OpenJPAEntityManagerFactory oemf =
>> >>> OpenJPAPersistence.cast(oem.getEntityManagerFactory());
>> >>>
>> >>> - Rick
>> >>>
>> >>> illhan wrote:
>> >>>>
>> >>>> In the javadoc there are many event and listener.I want to use the
>> >>>> event and the listener in jee enviroment,the emf.add**Listener()
>> method
>> >>>> can't not called because in jee enviroment the entitymanagerfacetory
>> is
>> >>>> created by jee contianer.i only use ejb3 injection in my session
>> bean
>> >>>> use   @PersistenceContext
>> >>>>     private EntityManager em;
>> >>>> so i don't know how to register the Listener(such as
>> LifecycleListener)
>> >>>> in JEE enviroment.
>> >>>>
>> >>>> illhan
>> >>>>
>> >>>
>> >>>
>> >>
>> >>
>> >
>> >
>>
>> --
>> View this message in context:
>>
http://n2.nabble.com/how-to-use-openjpa-event-listener---tp3397042p3421303.h
tml
>> Sent from the OpenJPA Users mailing list archive at Nabble.com.
>>
> 
> 

-- 
View this message in context:
http://n2.nabble.com/how-to-use-openjpa-event-listener---tp3397042p3424516.h
tml
Sent from the OpenJPA Users mailing list archive at Nabble.com.


Mime
View raw message