I’m learning about Java EE (EE 6 specifically) and find the differences between EJB and EJB Lite a little confusing.
Java EE6 web profile only supports EJB Lite.
My understanding of “EJB Lite” is that it is a simpler subset of EJB (I can find those differences documented easily enough) and you package your EJB classes in a WAR.
So will I only able to access those EJB classes from the webapp contained in the same WAR (or another webapp if I put both of them in the same EAR) ?
I assume that this means that the EJB Lite classes are deployed to the web container. Does this mean that there is no EJB container in the EE6 web profile ?
(also do we need a web-profile tag?)
Note that EJB lite is shared by both the web profile and the EJB embeddable container.
1.
Section 20.4.3 of the EJB 3.1 spec:
Note, the spec allows vendor extensions so that other modules can use the EJBs, but relying on that won’t be portable.
2.
This is implementation specific, but given the existence of an embeddable EJB container, I suspect most implementations will ship either the full EJB container or a subset.
3.
No.