<?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: Externalizing Transaction Management for Activiti in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/externalizing-transaction-management-for-activiti/m-p/164292#M118040</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Joram, will try to implement and let you know how it goes. Alternatively, will let you know in case I get stuck &lt;img id="smileywink" class="emoticon emoticon-smileywink" src="https://connect.hyland.com/i/smilies/16x16_smiley-wink.png" alt="Smiley Wink" title="Smiley Wink" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 01 Apr 2014 21:30:47 GMT</pubDate>
    <dc:creator>aseem</dc:creator>
    <dc:date>2014-04-01T21:30:47Z</dc:date>
    <item>
      <title>Externalizing Transaction Management for Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/externalizing-transaction-management-for-activiti/m-p/164290#M118038</link>
      <description>Hi,Is there a way to tell Activiti to use an external transaction manager for managing transactions within a bean? I've gone through the documentation and other posts on this forum and it seems like if we mark our UserBean with @Transactional (Spring annotation) and set transactionsExternallyManaged</description>
      <pubDate>Tue, 25 Mar 2014 14:58:26 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/externalizing-transaction-management-for-activiti/m-p/164290#M118038</guid>
      <dc:creator>aseem</dc:creator>
      <dc:date>2014-03-25T14:58:26Z</dc:date>
    </item>
    <item>
      <title>Re: Externalizing Transaction Management for Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/externalizing-transaction-management-for-activiti/m-p/164291#M118039</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;That is indeed the way to do it: create a custom config and let you be inspired by the the SpringEngineConfiguration.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The bulk of the work will probably be the interceptor responsible for starting/committing the transaction.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Apr 2014 17:40:15 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/externalizing-transaction-management-for-activiti/m-p/164291#M118039</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2014-04-01T17:40:15Z</dc:date>
    </item>
    <item>
      <title>Re: Externalizing Transaction Management for Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/externalizing-transaction-management-for-activiti/m-p/164292#M118040</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Joram, will try to implement and let you know how it goes. Alternatively, will let you know in case I get stuck &lt;img id="smileywink" class="emoticon emoticon-smileywink" src="https://connect.hyland.com/i/smilies/16x16_smiley-wink.png" alt="Smiley Wink" title="Smiley Wink" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Apr 2014 21:30:47 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/externalizing-transaction-management-for-activiti/m-p/164292#M118040</guid>
      <dc:creator>aseem</dc:creator>
      <dc:date>2014-04-01T21:30:47Z</dc:date>
    </item>
    <item>
      <title>Re: Externalizing Transaction Management for Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/externalizing-transaction-management-for-activiti/m-p/164293#M118041</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I was successful in doing this (which was a while ago) and sharing the solution in case someone else runs into this kind of a problem. Its a bit late, especially since 5.16 was released which handles this in a very graceful manner.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Had to create a CustomProcessEngineConfiguration class that extends ProcessEngineConfigurationImpl and overrides createTransactionInterceptor() and buildProcessEngine() methods.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;@Singleton&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;public class CustomProcessEngineConfiguration extends ProcessEngineConfigurationImpl&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected CommandInterceptor createTransactionInterceptor()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new TransactionInterceptor(this.getDataSource());&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ProcessEngine buildProcessEngine()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return super.buildProcessEngine();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The TransactionInterceptor class extends AbstractCommandInterceptor (for 'next' variable to execute the transaction chain) and implements org.aopalliance.intercept.MethodInterceptor. The overridden invoke(MethodInvocation invocation) method is what manages the starting and committing of transactions or rolling back in case of failure. In my case, it was as easy as looking at methods which have @com.google.inject.persist.Transactional annotation on them and wrapping them up in one transaction in the invoke() method.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;On definition side, setting transactionsExternallyManaged to true in activiti.cfg.xml and creating process engine as:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ProcessEngine processEngine = CustomProcessEngineConfiguration&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .createProcessEngineConfigurationFromResource("activiti.cfg.xml")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .setDataSource(dataSource)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .buildProcessEngine();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;did the trick.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Oct 2014 18:00:47 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/externalizing-transaction-management-for-activiti/m-p/164293#M118041</guid>
      <dc:creator>aseem</dc:creator>
      <dc:date>2014-10-28T18:00:47Z</dc:date>
    </item>
    <item>
      <title>Re: Externalizing Transaction Management for Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/externalizing-transaction-management-for-activiti/m-p/164294#M118042</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for posting back, even after this time &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 31 Oct 2014 15:13:44 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/externalizing-transaction-management-for-activiti/m-p/164294#M118042</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2014-10-31T15:13:44Z</dc:date>
    </item>
  </channel>
</rss>

