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

Adam Warski (JIRA) noreply at atlassian.com
Fri Feb 3 08:24:14 EST 2012


    [ https://hibernate.onjira.com/browse/HHH-7017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45365#comment-45365 ] 

Adam Warski commented on HHH-7017:
----------------------------------

Could you try creating a test case for that? There is a test for manual flush (org.hibernate.envers.test.integration.flush.ManualFlush), and I'm curious how your usage differs.

Adam

> 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
>
> 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