I have the following scenario:
- An EJB 3.1 project;
- A first EAR Project (AlfaEAR) which includes the EJB project
- A second EAR Project (BetaEAR) which includes the EJB project as well.
When deploying B and C on my appserver, I can see in the log / trace that each EJB contained in B is resolved and installed in EJBs container, with different JNDI names which, of course, have a "reference" to the EAR app which exposes them; for example I have ejblocal:AlfaEAR/AlfaEJB.jar/SameBean#test.view.SameBeanLocal and ejblocal:BetaEAR/AlfaEJB.jar/SameBean#test.view.SameBeanLocal
Now I'm wondering what happens in EJB container: the same ejb SameBean is treated as two distinct entities ? What happens if I change SameBean and its interfaces and I update only one of the projects, lets say AlfaEAR ? What about if SampleBean is declared as singleton ?