<?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: How do two service method TaskService in a one transaction? in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120207#M84718</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Do you explicitly state transactions should be annotation-based?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt; &amp;lt;tx:annotation-driven/&amp;gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 28 Mar 2013 13:11:45 GMT</pubDate>
    <dc:creator>frederikherema1</dc:creator>
    <dc:date>2013-03-28T13:11:45Z</dc:date>
    <item>
      <title>How do two service method TaskService in a one transaction?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120206#M84717</link>
      <description>I wrote a simple test that calls a service that creates a task and stores variables. Between conservation task and variables raises an exception, the task saved, and the variables do not. What do I need to call these methods executed in a single transaction?junit test&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Test&amp;nbsp;&amp;nbsp;&amp;nbsp;@Rollback(value</description>
      <pubDate>Thu, 28 Mar 2013 13:09:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120206#M84717</guid>
      <dc:creator>kolmogorov_dikm</dc:creator>
      <dc:date>2013-03-28T13:09:00Z</dc:date>
    </item>
    <item>
      <title>Re: How do two service method TaskService in a one transaction?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120207#M84718</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Do you explicitly state transactions should be annotation-based?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt; &amp;lt;tx:annotation-driven/&amp;gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Mar 2013 13:11:45 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120207#M84718</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2013-03-28T13:11:45Z</dc:date>
    </item>
    <item>
      <title>Re: How do two service method TaskService in a one transaction?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120208#M84719</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I changed the appication context to this, but as usual methods in different transactions.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;context:component-scan base-package="ru.nti.siu.bpm.test" /&amp;gt;&lt;BR /&gt;&lt;BR /&gt; &amp;lt;bean id="myDataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource"&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;property name="driverClass" value="org.postgresql.Driver" /&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;property name="url" value="jdbc:smileytongue:ostgresql://192.168.1.1/mydatabase" /&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;property name="username" value="postgres" /&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;property name="password" value="postgres" /&amp;gt;&lt;BR /&gt; &amp;lt;/bean&amp;gt;&lt;BR /&gt;&lt;BR /&gt; &amp;lt;bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;property name="dataSource" ref="myDataSource" /&amp;gt;&lt;BR /&gt; &amp;lt;/bean&amp;gt;&lt;BR /&gt;&lt;BR /&gt; &amp;lt;tx:annotation-driven transaction-manager="transactionManager" /&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt; &amp;lt;bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;property name="databaseType" value="postgres" /&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;property name="dataSource" ref="myDataSource" /&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;property name="transactionManager" ref="transactionManager" /&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;property name="databaseSchemaUpdate" value="false" /&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;property name="history" value="full" /&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;property name="jobExecutorActivate" value="false" /&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;property name="idGenerator"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;bean class="org.activiti.engine.impl.persistence.StrongUuidGenerator" /&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;/property&amp;gt;&lt;BR /&gt; &amp;lt;/bean&amp;gt;&lt;BR /&gt;&lt;BR /&gt; &amp;lt;bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean"&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;property name="processEngineConfiguration" ref="processEngineConfiguration" /&amp;gt;&lt;BR /&gt; &amp;lt;/bean&amp;gt;&lt;BR /&gt;&lt;BR /&gt; &amp;lt;bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" /&amp;gt;&lt;BR /&gt; &amp;lt;bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" /&amp;gt;&lt;BR /&gt; &amp;lt;bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" /&amp;gt;&lt;BR /&gt; &amp;lt;bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" /&amp;gt;&lt;BR /&gt; &amp;lt;bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" /&amp;gt;&lt;BR /&gt; &amp;lt;bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService" /&amp;gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Mar 2013 14:12:32 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120208#M84719</guid>
      <dc:creator>kolmogorov_dikm</dc:creator>
      <dc:date>2013-03-28T14:12:32Z</dc:date>
    </item>
    <item>
      <title>Re: How do two service method TaskService in a one transaction?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120209#M84720</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;When using the spring process engine configuration, the datasource is wrapped (if not already of this type) in a TransactionAwareDataSourceProxy. This makes sure all connections requested from activiti are 'aware' of the underlying spring-transactions and therefore won't do an actual 'commit' when the connection is committed. On top of that, the "transactionsExternallyManaged = true;" property is set, so the transaction-interceptors in activiti won't kick in and assume the underlying platform will manage transaction demarcation and committing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The only time activiti won't participate in an already running transaction (and uses REQUIRES_NEW) is when the ID-generator aquires a new block, but this is independent of any running transactions.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm not really sure what the issue is with your setup, it seems fine to me. Can you perhaps create a simple unit-test based on the template you can find in the sticky in this forum and share it?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Mar 2013 14:22:05 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120209#M84720</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2013-03-28T14:22:05Z</dc:date>
    </item>
    <item>
      <title>Re: How do two service method TaskService in a one transaction?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120210#M84721</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Sorry for the late reply, posted the draft on DropBox.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://www.dropbox.com/s/bzinnmgm26g0loo/test.rar" rel="nofollow noopener noreferrer"&gt;https://www.dropbox.com/s/bzinnmgm26g0loo/test.rar&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Mar 2013 13:30:18 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120210#M84721</guid>
      <dc:creator>kolmogorov_dikm</dc:creator>
      <dc:date>2013-03-29T13:30:18Z</dc:date>
    </item>
    <item>
      <title>Re: How do two service method TaskService in a one transaction?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120211#M84722</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Sorry for the late reply, posted the draft on DropBox.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;are you no more troubles with that problem solution? Are exceptions thrown or not?&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="https://www.dropbox.com/s/bzinnmgm26g0loo/test.rar" rel="nofollow noopener noreferrer"&gt;https://www.dropbox.com/s/bzinnmgm26g0loo/test.rar&lt;/A&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;package ru.dikma;&lt;BR /&gt;&lt;BR /&gt;import java.util.Map;&lt;BR /&gt;&lt;BR /&gt;import org.activiti.engine.TaskService;&lt;BR /&gt;import org.activiti.engine.impl.persistence.entity.TaskEntity;&lt;BR /&gt;import org.activiti.engine.task.Task;&lt;BR /&gt;import org.springframework.beans.factory.annotation.Autowired;&lt;BR /&gt;import org.springframework.stereotype.Service;&lt;BR /&gt;import org.springframework.transaction.annotation.Propagation;&lt;BR /&gt;import org.springframework.transaction.annotation.Transactional;&lt;BR /&gt;&lt;BR /&gt;@Service("TestTaskService")&lt;BR /&gt;public class TestTaskService {&lt;BR /&gt;&lt;BR /&gt; @Autowired&lt;BR /&gt; private TaskService taskService;&lt;BR /&gt;&lt;BR /&gt; @Transactional(propagation = Propagation.REQUIRES_NEW)&lt;BR /&gt; public void createTask(TaskEntity taskEntity, Map&amp;lt;String, Object&amp;gt; vars)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; throws Exception {&lt;BR /&gt;&amp;nbsp; Task task = taskService.newTask();&lt;BR /&gt;&amp;nbsp; task.setName(taskEntity.getName());&lt;BR /&gt;&amp;nbsp; task.setDescription(taskEntity.getDescription());&lt;BR /&gt;&amp;nbsp; task.setPriority(taskEntity.getPriority());&lt;BR /&gt;&amp;nbsp; task.setDueDate(taskEntity.getDueDate());&lt;BR /&gt;&amp;nbsp; task.setOwner(taskEntity.getOwner());&lt;BR /&gt;&amp;nbsp; task.setAssignee(taskEntity.getAssignee());&lt;BR /&gt;&amp;nbsp; taskService.saveTask(task);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; if (vars != null) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; throw new Exception("boom!");&lt;BR /&gt;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; taskService.setVariables(task.getId(), vars);&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt; }&lt;BR /&gt;}&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Mar 2013 17:45:10 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120211#M84722</guid>
      <dc:creator>udoderk</dc:creator>
      <dc:date>2013-03-29T17:45:10Z</dc:date>
    </item>
    <item>
      <title>Re: How do two service method TaskService in a one transaction?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120212#M84723</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You do not understand my question, it is expected that if between a call to save the task and save the variables exception occurs then the problem will not be saved, but it is not, although the method is declared as transactional. Check it out, they are two different transactions. How to configure the service, these two methods were in the same transaction?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Apr 2013 08:58:06 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120212#M84723</guid>
      <dc:creator>kolmogorov_dikm</dc:creator>
      <dc:date>2013-04-01T08:58:06Z</dc:date>
    </item>
    <item>
      <title>Re: How do two service method TaskService in a one transaction?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120213#M84724</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;You do not understand my question, it is expected that if between a call to save the task and save the variables exception occurs then the problem will not be saved, but it is not, although the method is declared as transactional. Check it out, they are two different transactions. How to configure the service, these two methods were in the same transaction?&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;i well understand your problem, in your case is simpler to avoid exception throwing between save of task and "save" the variables :twisted: (i assume, that mybatis + own activiti implementation would be root of problem)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;P.S In your test &lt;/SPAN&gt;&lt;STRONG&gt;only "setter" &lt;/STRONG&gt;&lt;SPAN&gt;method was called for variables &lt;/SPAN&gt;&lt;STRONG&gt;after &lt;/STRONG&gt;&lt;SPAN&gt;save operation for the created task. Look at &lt;/SPAN&gt;&lt;BR /&gt;&lt;EM&gt;org.activiti.engine.impl.cmd.SetTaskVariablesCmd&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;org.activiti.engine.impl.persistence.entity.TaskEntity&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;org.activiti.engine.impl.persistence.entity.VariableScopeImpl.java&lt;/EM&gt;&lt;BR /&gt;&lt;SPAN&gt;The call of this method not make persistent the variables.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;P.P.S Your Test has no methods, that test, wether task were saved correctly or not.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;P.P.P.S Your Test has no methods, that test, wether variables were saved or not.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Apr 2013 20:35:37 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-do-two-service-method-taskservice-in-a-one-transaction/m-p/120213#M84724</guid>
      <dc:creator>udoderk</dc:creator>
      <dc:date>2013-04-01T20:35:37Z</dc:date>
    </item>
  </channel>
</rss>

