title: AOP, Spring and transaction scoping
body: <p>imagine a transactional, multithreaded java application using spring, jdbc and aop with n classes in m packages all taking part in database transations. Now let's say there is the need to scope an arbitrary set of classes within one transaction. Furthermore there is always one class T within the scope that commits the transaction when called. </p>
  
  <p>Let me give an example for clarity:
  Given the packages A,B,Z and classes A.Foo, B.Bar and Z.T. 
  The following instances of the respective classes are called (possibly by different callers with other classes in between): A.Foo,B.Bar,A.Foo,Z.T
  The transactions will be committed only after Z.T is called. Should the application shut down for whatever reason the transaction will never be committed unless Z.T gets involved. </p>
  
  <p>Instances can call each other and, as already mentioned, there is no common entry point calling all instances from a single point of entry (like a service layer) which would make an easy target for spring's transactional tag.</p>
  
  <p>Now the question: can this problem be solved using aspects ? If so, what could be the basic approach ? 
  Thanks. </p>