anchor.diff:  to bind it to the transaction use `@TransactionalEventListener`. When you do so, the listener
   will be bound to the commit phase of the transaction by default.
   
  -Let's take an example to illustrate this concept. Assume that a component publish an order
  +Let's take an example to illustrate this concept. Assume that a component publishes an order
   created event and we want to define a listener that should only handle that event once the
  -transaction in which it has been published as committed successfully:
  +transaction in which it has been published has committed successfully:
   
   [source,java,indent=0]
   [subs="verbatim,quotes"]
  
positive.code: 	}
  ----
  
  The `TransactionalEventListener` annotation exposes a `phase` attribute  that allows to customize
  to which phase of the transaction the listener should be bound to. The valid phases are `BEFORE_COMMIT`,
  `AFTER_COMMIT` (default), `AFTER_ROLLBACK` and `AFTER_COMPLETION` that aggregates the transaction
  completion (be it a commit or a rollback).
  
  
negative.code: 	</tx:advice>
  ----
  
  When the Spring Framework's transaction infrastructure catches an exception and it
  consults configured rollback rules to determine whether to mark the transaction for
  rollback, the __strongest__ matching rule wins. So in the case of the following
  configuration, any exception other than an `InstrumentNotFoundException` results in a
  