<?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: MultiSchemaMultiTenantProcessEngineConfiguration transactionality in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/multischemamultitenantprocessengineconfiguration/m-p/219431#M172561</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;&amp;gt; if an exception is thrown in an ActivitiEventListener the transaction is not committed while in the current version the transaction is committed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would expect it always to roll back when an exception happens.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Can you post your listener code so I can understand what you're trying to do?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 29 Jul 2016 07:13:51 GMT</pubDate>
    <dc:creator>jbarrez</dc:creator>
    <dc:date>2016-07-29T07:13:51Z</dc:date>
    <item>
      <title>MultiSchemaMultiTenantProcessEngineConfiguration transactionality</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/multischemamultitenantprocessengineconfiguration/m-p/219430#M172560</link>
      <description>Hello guys,I'm adding the muti-tenancy support to an existing application. To do this I'm using the MultiSchemaMultiTenantProcessEngineConfiguration. The migration works fine except for the transactionality. In the previous version, using the SpringProcessEngineConfiguration, if an exception is thro</description>
      <pubDate>Thu, 28 Jul 2016 12:37:53 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/multischemamultitenantprocessengineconfiguration/m-p/219430#M172560</guid>
      <dc:creator>lucapinelli</dc:creator>
      <dc:date>2016-07-28T12:37:53Z</dc:date>
    </item>
    <item>
      <title>Re: MultiSchemaMultiTenantProcessEngineConfiguration transactionality</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/multischemamultitenantprocessengineconfiguration/m-p/219431#M172561</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;&amp;gt; if an exception is thrown in an ActivitiEventListener the transaction is not committed while in the current version the transaction is committed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would expect it always to roll back when an exception happens.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Can you post your listener code so I can understand what you're trying to do?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Jul 2016 07:13:51 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/multischemamultitenantprocessengineconfiguration/m-p/219431#M172561</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2016-07-29T07:13:51Z</dc:date>
    </item>
    <item>
      <title>Re: MultiSchemaMultiTenantProcessEngineConfiguration transactionality</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/multischemamultitenantprocessengineconfiguration/m-p/219432#M172562</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;SPAN&gt;thanks for asking! Following a simplified version of the listener:&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;package com.activiti.transaction;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import java.sql.Connection;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import java.sql.Statement;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.ActivitiException;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.delegate.event.ActivitiEntityEvent;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.delegate.event.ActivitiEvent;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.delegate.event.ActivitiEventListener;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.impl.context.Context;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.task.Task;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;public class TaskCreatedEventListener implements ActivitiEventListener {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; @Override&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; public void onEvent(ActivitiEvent event) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; try {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Task task = (Task) ((ActivitiEntityEvent) event).getEntity();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // save your custom data&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Connection conn = Context.getCommandContext().getDbSqlSession().getSqlSession().getConnection();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; try (Statement st = conn.createStatement()) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; st.executeUpdate("insert into custom_table (task_id) values ('" + task.getId() + "')");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // do some check and raise an exception if something is wrong&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if (task.getName().startsWith("error_")) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new ActivitiException("Task creation blocked");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; } catch (Exception e) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; throw new RuntimeException(e);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; @Override&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; public boolean isFailOnException() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/java&amp;gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Jul 2016 08:27:37 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/multischemamultitenantprocessengineconfiguration/m-p/219432#M172562</guid>
      <dc:creator>lucapinelli</dc:creator>
      <dc:date>2016-07-29T08:27:37Z</dc:date>
    </item>
  </channel>
</rss>

