<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Activiti process variables persistence in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/activiti-process-variables-persistence/m-p/165087#M118796</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for reply! &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to clearify some moments:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3.&amp;nbsp; I want to rallback the activiti changes without throwing an exception. Is it possible?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4. I mean session-per-conversation in Hibernate. Actually it means no @Transactional annotation in methods, but manual transactions commitiong and fkushing. I' ve heard that there are some problems with manual flush mode in Hibernate with Activiti. When Activiti use the same transactional manager as Hibernate (in FlushMode.MANUAL), Activiti can invoke flush mode without session.flush. &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 22 Aug 2013 14:02:23 GMT</pubDate>
    <dc:creator>jolo_</dc:creator>
    <dc:date>2013-08-22T14:02:23Z</dc:date>
    <item>
      <title>Activiti process variables persistence</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/activiti-process-variables-persistence/m-p/165083#M118792</link>
      <description>In my project I use Activiti + Hibernate + Spring. For atomicity reasons, Activiti and Hibernate share the same database and transaction manager. I've read "Activiti in Action" book and a dozen of topics, but it is not still clear for me:1. When Activiti proceed process-variables persistence to data</description>
      <pubDate>Wed, 21 Aug 2013 09:22:09 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/activiti-process-variables-persistence/m-p/165083#M118792</guid>
      <dc:creator>jolo_</dc:creator>
      <dc:date>2013-08-21T09:22:09Z</dc:date>
    </item>
    <item>
      <title>Re: Activiti process variables persistence</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/activiti-process-variables-persistence/m-p/165084#M118793</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;1. Process variables are persisted to the database when a wait step like a user task or an async task is executed. The history variables table is also updated when a process is completed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. And why do you ask this question? Because it does save process variables in ACT_RU_VARIABLE&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Aug 2013 11:38:53 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/activiti-process-variables-persistence/m-p/165084#M118793</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2013-08-21T11:38:53Z</dc:date>
    </item>
    <item>
      <title>Re: Activiti process variables persistence</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/activiti-process-variables-persistence/m-p/165085#M118794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;First of all - thanks for fast reply.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Nope, there is another reason why I've asked this question:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What I have:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In my project I use Spring+Hibernate+PostgreSQL. And I'm just begining to integrate Activiti in my project. I concerns about integrity issues:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;My entities will be stored in both databases App &amp;amp; Activiti. So I decided to use the common database and the common transaction manager for App &amp;amp; Activiti (example I took from here &lt;/SPAN&gt;&lt;A href="http://forums.activiti.org/content/activiti-hibernate" rel="nofollow noopener noreferrer"&gt;http://forums.activiti.org/content/activiti-hibernate&lt;/A&gt;&lt;SPAN&gt;). &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Problem:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It seems that Activiti still doesn't share the same transaction as Hibernate. For example (action sequence):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1. start activiti-process&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. open hibernate session&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3. begin transaction&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4. save entity into App's DB via hibernate session //rollback correctly&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5. save entity into Activiti process context via execution.setVariable method //BUT, I want to rollback this step!!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;6. rollback transaction&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;7. end activiti-process&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;After that (step 7), Activiti save entity to ACT_GE_BYTEARRAY &amp;amp; ACT_HI_DETAIL.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Question:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Consult me, please, what is the best way to achieve data integrity in such case:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1. How to rollback activiti changes? &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Can I flush Activiti process variables manually, not before the wait state or asynch task?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3. What is the best practice to rollback? in both cases:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.a When hibernate transaction fails but activiti works fine&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.b When activiti fails but hibernate works fine&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4. What about extended conversation? What difficilties I'll face with it?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you in advance!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Aug 2013 12:46:24 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/activiti-process-variables-persistence/m-p/165085#M118794</guid>
      <dc:creator>jolo_</dc:creator>
      <dc:date>2013-08-21T12:46:24Z</dc:date>
    </item>
    <item>
      <title>Re: Activiti process variables persistence</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/activiti-process-variables-persistence/m-p/165086#M118795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1. When you want to rollback changes in Activiti you can throw an exception and everything will get rollbacked to the previous wait step.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. No you can make a service task async for example and that makes the engine flush the process instance including its variables.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3. Don't understand, when you want to rollback just rollback the transaction&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4. Don't understand the question. What do you mean with extended conversation?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Aug 2013 13:55:21 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/activiti-process-variables-persistence/m-p/165086#M118795</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2013-08-22T13:55:21Z</dc:date>
    </item>
    <item>
      <title>Re: Activiti process variables persistence</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/activiti-process-variables-persistence/m-p/165087#M118796</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for reply! &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to clearify some moments:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3.&amp;nbsp; I want to rallback the activiti changes without throwing an exception. Is it possible?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4. I mean session-per-conversation in Hibernate. Actually it means no @Transactional annotation in methods, but manual transactions commitiong and fkushing. I' ve heard that there are some problems with manual flush mode in Hibernate with Activiti. When Activiti use the same transactional manager as Hibernate (in FlushMode.MANUAL), Activiti can invoke flush mode without session.flush. &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Aug 2013 14:02:23 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/activiti-process-variables-persistence/m-p/165087#M118796</guid>
      <dc:creator>jolo_</dc:creator>
      <dc:date>2013-08-22T14:02:23Z</dc:date>
    </item>
    <item>
      <title>Re: Activiti process variables persistence</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/activiti-process-variables-persistence/m-p/165088#M118797</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;3. We are using standard transaction manager behavior, so it's not Activiti functionality but transaction manager functionality. Activiti forwards the commit behavior to the transaction manager, which is then responsible to do a commit or a rollback.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4. Ok, like said in 3 the transaction manager is responsible for commit and rollback, so yes Activiti does support manual transactions.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Aug 2013 09:28:04 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/activiti-process-variables-persistence/m-p/165088#M118797</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2013-08-23T09:28:04Z</dc:date>
    </item>
  </channel>
</rss>

