I'd recommend managing transactions declaratively with TransactionProxyFactoryBean. Look at the PetClinic and PetStore sample applications for examples. You can specify interceptors that run within the transaction--for example, to call your stored proc and clear the session--as follows:
Code:
<property name="postInterceptors">
<list>
<ref local="storedProcInterceptor"/>
</list>
</property>
Where "storedProcInterceptor" is the bean name of an AOP Advisor or Advice (probably MethodInterceptor) that invokes your stored procedure. You can parameterize that interceptor bean with DataSource etc. to allow it to get to the database.[/quote][/code]