title: Listener on transaction start
body: <p>I am looking for a clean solution to have a listener for transaction start. That means I would like the listener to be a bean (component) in the spring context that would receive an event on transaction start from TransactionPlatformManager or Hibernate Session or something similar, at the point where a new transaction is started.</p>
  
  <p>Something along:</p>
  
  <pre><code>@Component
  class TransactionListener implements ?? {
  
      @Autowired
      private Something x;
  
      public void onTransactionBegin(...) {
          x.doSomething()
      }
  
  }
  </code></pre>
  
  <p>To be concrete, I am mitigating a system wide problem and I need to set a thread local when transaction starts, so I can access that thread local further in the processing of hibernate entities to retrieve info.</p>
  
  <p>I looked into sources and found no traces for such listener to be achievable. The only solution I found was to subclass HibernateTransactionManager and its doBegin() method, which I don't find particularly nice.</p>