Hi,
I'd like to know whether it is possible to configure an SQL Datasource to perform its fetch operation using the same database connection/transaction as a Service and a Dao that are configured using Spring transaction manager.
Below is a pseudo code that describes what I tried but it didn't work.
The Dao has to insert some rows into a temporary table (without committing them) and those rows should be visible by the SQL Datasource fetch query.
	I'm using Spring 3 and SmartGWT 2.5.2011-05-14-EVAL.
							
						
					I'd like to know whether it is possible to configure an SQL Datasource to perform its fetch operation using the same database connection/transaction as a Service and a Dao that are configured using Spring transaction manager.
Below is a pseudo code that describes what I tried but it didn't work.
The Dao has to insert some rows into a temporary table (without committing them) and those rows should be visible by the SQL Datasource fetch query.
Code:
	
	<context:annotation-config />
	<tx:annotation-driven transaction-manager="transactionManager" />
<context:component-scan base-package="xxx" />
	
package xxx;	
public class MyDatasourceDMI { 
	private MyDao dao;	
    @Transactional(propagation = Propagation.REQUIRED)    
	public DSResponse fetch(DSRequest dsRequest) throws Exception {
		dao.insertDataInTempTable(params);
		return dsRequest.execute();
	}
}	
		
<DataSource ID="myDatasource" serverType="sql" dbName="db" tableName="db-table">
	<fields>field1...	</fields>
  <operationBindings>
    <operationBinding operationType="fetch" serverMethod="fetch" autoJoinTransactions="true">
      <serverObject lookupStyle="spring" bean="MyDatasourceDMI"/>
      <tableClause>..</tableClause>
      <selectClause>...</selectClause>
      <whereClause>...and exists (select 1 from temp_table where field1=col1)</whereClause>	  
    </operationBinding>
  </operationBindings>
</DataSource>
Comment