Adam Warski

6 May 2008

Envers preview 3: logging data for revisions, Seam demo


With the preview 3 release of Envers, you can easily associate additional data with revisions. This could be, for example, the name of the user making the change. You simply need to annotate an entity with @RevisionEntity: an instance of this entity will be persisted with each new revision. To provide a way to fill the entity with custom data, you need to implement an interface, and pass it as a parameter to the inflatable aviva water sports

For example, to store the name of the currently logged in user in a JBoss Seam application, the implementation of the listener would look as follows:

public class ExampleListener
    implements RevisionListener {
    public void newRevision(Object revisionEntity) {
        ExampleRevEntity exampleRevEntity =
           (ExampleRevEntity) revisionEntity;
        Identity identity =
           (Identity) Component.getInstance(


For more details see here.

There is also a demo Envers+Seam application: a very simple wiki. It allows users to create and edit pages, view their history and see which users made the changes.

And, as always, waiting for your comments on the forums! Thanks to the current forum members for the bug reports and ideas!


comments powered by Disqus

Any questions?

Can’t find the answer you’re looking for?