title: Spring @Transactional commits at the end of each service method
body: <p>I have configured a usual declarative transaction management in a Vaadin, Spring project. I have added <code>&lt;tx:annotation-driven transaction-manager="transactionManager" /&gt;</code> in my root-context.xml and all other required maven dependencies in the pom.
  My Service methods are annotated with <code>@Transactional</code> with default propagation.</p>
  
  <p>I want to call two service methods from a method in UI side expecting those two service method to partcipate in a single transaction as the default propagation is <code>PROPAGATION_REQUIRED</code>. But those two methods are committed to the db independantly. That means if the second method fails, the first one has anyway committed to the db. I have not used <code>try{}catch{{</code> blocks so any RuntimeException will be bubbled up. </p>
  
  <p>The spring logs are attached. Some lines are removed to reduce the #of lines</p>
  
  <pre><code>[qtp187048467-48] DEBUG o.s.j.d.DataSourceTransactionManager/getTransaction Creating new transaction with name [...UserServiceImpl.turnOnPwdResetFlag]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; [qtp187048467-48] DEBUG o.s.j.d.DataSourceTransactionManager/doBegin Switching JDBC Connection [com.jolbox.bonecp.ConnectionHandle@42398a05] to manual commit [qtp187048467-48] DEBUG o.s.j.d.DataSourceTransactionManager/handleExistingTransaction Participating in existing transaction [qtp187048467-48] DEBUG o.s.jdbc.core.JdbcTemplate/doInStatement SQL update affected 1 rows [qtp187048467-48] DEBUG o.s.j.d.DataSourceTransactionManager/processCommit Initiating transaction commit [qtp187048467-48] DEBUG o.s.j.d.DataSourceTransactionManager/doCommit Committing JDBC transaction on Connection [com.jolbox.bonecp.ConnectionHandle@42398a05] [qtp187048467-48] DEBUG o.s.jdbc.datasource.DataSourceUtils/doReleaseConnection Returning JDBC Connection to DataSource ` ` [qtp187048467-48] DEBUG o.s.j.d.DataSourceTransactionManager/getTransaction Creating new transaction with name [...UserServiceImpl.turnOffPwdResetFlag]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT;  [qtp187048467-48] DEBUG o.s.j.d.DataSourceTransactionManager/handleExistingTransaction Participating in existing transaction [qtp187048467-48] DEBUG o.s.jdbc.datasource.DataSourceUtils/doReleaseConnection Returning JDBC Connection to DataSource 
  </code></pre>