title: Spring Transactional Rollback does not work
body: <p>I have following Thread and  transactional method,  I have get thrown an exception to test rollback of insertion of DB but notthing is changed. What am I missing?</p>
  
  <pre><code>public class CleaningThread extends Thread {
  
     public void run() {
          try {
              doJob();
          } catch (Exception e) {
              e.printStackTrace();
          }
      }
  
       @Transactional(rollbackFor=Exception.class)
      private void doJob() throws Exception {
  
      //INSERT OPERATION
       final BatchSqlUpdate bs = new BatchSqlUpdate
       bs.flush()
  
       throw new Exception("Custom exception")
  
      //UPDATE
  
      }
  
      }
  </code></pre>
  
  <p><strong>Application Context:</strong></p>
  
  <pre><code> &lt;tx:annotation-driven transaction-manager="txManager" proxy-target-class="true"/&gt;
  
  &lt;bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"&gt;
      &lt;property name="locations"&gt;
          &lt;list&gt;
              &lt;value&gt;file:conf/offclear.properties&lt;/value&gt;
          &lt;/list&gt;
      &lt;/property&gt;
  &lt;/bean&gt;
  
  &lt;bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"&gt;
  &lt;/bean&gt;
  
  &lt;bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"&gt;
      &lt;property name="dataSource" ref="dataSource"/&gt;
  &lt;/bean&gt;
  
  &lt;bean id="cleaningThread" class="CleaningThread" scope="prototype"/&gt;
  </code></pre>
  
  <p>Using Spring 3.1</p>