<?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 transactions work in Activiti in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/how-transactions-work-in-activiti/m-p/189907#M143037</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;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; User secondUser = identityService.newUser("testuser2");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (true)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new RuntimeException();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; identityService.saveUser(secondUser);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fail("Exception should have been thrown");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (RuntimeException re) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assertEquals(0, identityService.createUserQuery().userId("testuser2").count());&lt;BR /&gt;&lt;/CODE&gt;&lt;BR /&gt;&lt;CODE&gt;identityService.newUser("testuser2");&lt;/CODE&gt;&lt;SPAN&gt; creates user object with Id set. &lt;/SPAN&gt;&lt;BR /&gt;&lt;CODE&gt;identityService.saveUser(secondUser);&lt;/CODE&gt;&lt;SPAN&gt; persists object into the DB.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Martin&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 14 Jul 2014 05:31:40 GMT</pubDate>
    <dc:creator>martin_grofcik</dc:creator>
    <dc:date>2014-07-14T05:31:40Z</dc:date>
    <item>
      <title>How transactions work in Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-transactions-work-in-activiti/m-p/189904#M143034</link>
      <description>looking at someone legacy code. If transaction is configured into a config file &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="dataSource" ref="dataSource" /&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/bean&amp;gt;And one of the APIs has f</description>
      <pubDate>Thu, 10 Jul 2014 23:06:40 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-transactions-work-in-activiti/m-p/189904#M143034</guid>
      <dc:creator>birju</dc:creator>
      <dc:date>2014-07-10T23:06:40Z</dc:date>
    </item>
    <item>
      <title>Re: How transactions work in Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-transactions-work-in-activiti/m-p/189905#M143035</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;it depends on transaction propagation level set in CommandConfig. e.g. for spring&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp; @Override&lt;BR /&gt;&amp;nbsp; protected void initDefaultCommandConfig() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (defaultCommandConfig == null) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; defaultCommandConfig = new CommandConfig().setContextReusePossible(true);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&lt;/CODE&gt;&lt;BR /&gt;&lt;SPAN&gt;By default TransactionPropagation.REQUIRED&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;More info:&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://www.activiti.org/userguide/#N1094F" rel="nofollow noopener noreferrer"&gt;http://www.activiti.org/userguide/#N1094F&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Martin&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Jul 2014 04:31:01 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-transactions-work-in-activiti/m-p/189905#M143035</guid>
      <dc:creator>martin_grofcik</dc:creator>
      <dc:date>2014-07-11T04:31:01Z</dc:date>
    </item>
    <item>
      <title>Re: How transactions work in Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-transactions-work-in-activiti/m-p/189906#M143036</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Since it's using default which like you said is TransactionPropogation.REQUIRED still don't following two calls run into separate transactions? &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;def insertUser(user:User) = {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; val user = identityService.newUser(user.id.toString)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; identityService.saveUser(user)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &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;SPAN&gt;The way I understand Propogation.REQUIRED is that if let's say identityService.newUser was calling another transactional method within itself, then it'll use the same transaction. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;particular usage of calling two separate methods in above code has no knowledge about combining the two into one transaction given they are distinct calls? Isn't that right? &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Jul 2014 14:13:24 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-transactions-work-in-activiti/m-p/189906#M143036</guid>
      <dc:creator>birju</dc:creator>
      <dc:date>2014-07-11T14:13:24Z</dc:date>
    </item>
    <item>
      <title>Re: How transactions work in Activiti</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-transactions-work-in-activiti/m-p/189907#M143037</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;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; User secondUser = identityService.newUser("testuser2");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (true)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new RuntimeException();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; identityService.saveUser(secondUser);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fail("Exception should have been thrown");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (RuntimeException re) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assertEquals(0, identityService.createUserQuery().userId("testuser2").count());&lt;BR /&gt;&lt;/CODE&gt;&lt;BR /&gt;&lt;CODE&gt;identityService.newUser("testuser2");&lt;/CODE&gt;&lt;SPAN&gt; creates user object with Id set. &lt;/SPAN&gt;&lt;BR /&gt;&lt;CODE&gt;identityService.saveUser(secondUser);&lt;/CODE&gt;&lt;SPAN&gt; persists object into the DB.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Martin&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Jul 2014 05:31:40 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-transactions-work-in-activiti/m-p/189907#M143037</guid>
      <dc:creator>martin_grofcik</dc:creator>
      <dc:date>2014-07-14T05:31:40Z</dc:date>
    </item>
  </channel>
</rss>

