[hibernate-issues] [Hibernate-JIRA] Updated: (HHH-7017) Envers does not work in case of resource-local transactions and manual session flush mode

Vladimir Velikiy (JIRA) noreply at atlassian.com
Sat Feb 4 08:18:12 EST 2012


     [ https://hibernate.onjira.com/browse/HHH-7017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vladimir Velikiy updated HHH-7017:
----------------------------------

    Attachment: ManualFlushAutoCommitDisabled.java

Test case for issue

> Envers does not work in case of resource-local transactions and manual session flush mode
> -----------------------------------------------------------------------------------------
>
>                 Key: HHH-7017
>                 URL: https://hibernate.onjira.com/browse/HHH-7017
>             Project: Hibernate ORM
>          Issue Type: Bug
>          Components: envers
>    Affects Versions: 3.6.9
>         Environment: Hibernate 3.6.9, MySQL 5.1.44-community, mysql-connector-java-5.1.6, Inno DB tables
>            Reporter: Vladimir Velikiy
>            Assignee: Adam Warski
>              Labels: auditing
>         Attachments: ManualFlushAutoCommitDisabled.java
>
>
> When I set a manual hibernate session flush mode envers does not write data in database. With FlushMode.AUTO all works ok. I think the problem in in a method doBeforeTransactionCompletion of the AuditProcess.java:
>       if (FlushMode.isManualFlushMode(session.getFlushMode())) {
>             Session temporarySession = null;
>             try {
>                 temporarySession = session.getFactory().openTemporarySession();
>                 executeInSession(temporarySession);
>                 temporarySession.flush();
>             } finally {
>                 if (temporarySession != null) {
>                     temporarySession.close();
>                 }
>             }
>         } else {
>             executeInSession((Session) session);
>             // Explicity flushing the session, as the auto-flush may have already happened.
>             session.flush();
>         }
> In non-jta environment temporary session connection transaction is not commited.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list