title: Transaction Propagation in EJBs methods
body: <p>I want to make sure to understand corrsctly transaction propagation,please help.  </p>
  
  <p>Let's suppose we have a stateless <strong>EJB_A</strong> wich exposes the services of the application tier.  </p>
  
  <p>it uses local stateless <strong>EJB_B</strong> , <strong>EJB_C</strong> ,
  both of them use a container managed <strong>EntityManager</strong>.<br>
  <strong>EJB_B</strong> and <strong>EJB_C</strong> use eachother methods.</p>
  
  <p>If I understand things correctly each EJB gets it own intsance of an EntityManager to the manage same persistence unit.  </p>
  
  <p>Let's suppose <strong>EJB_A</strong>, on a client request, uses methods of bot EJB_B and EJB_C to create a transaction for example: </p>
  
  <pre><code>@Stateless(name = "myejb")
  
      public class EJB_A implements Interface_EJB_A
      {
          @EJB
          private EJB_B ejb_b;
  
          @EJB
          private EJB_C ejb_c;
  
      public String method()
      {
  
      ejb_b.call();
      ejb_c.call();
  
      }
  
      ...
      }
  </code></pre>
  
  <p>How does entity manager injected in EJB_C knows there's is a transaction ongoing<br>
  if it knows nothing about the exsistence of the EntityManager injected in EJB_B ?</p>
  
  <p>It's this king of container added magic I'm having hard time to grasp...</p>