The guys at Caucho have an interesting write up about their decision to aim for EE 6 Web Profile compliance. It's worth hearing their take on the new platform.
Tags: Java EE 6
Created: 18. Feb 2010, 07:23 CET (Gavin King)
Last Modified: 18. Feb 2010, 07:24 CET (Gavin King)
This paragraph caught my eye. Is not possible to mix EJB and CDI annotations with containers implementing Weld?
Yes, with all CDI containers you can use CDI services in EJBs and managed beans. For example
@Stateless @TransactionAttribute(REQUIRES_NEW) class DvdRentalManager { @Inject RentalCostCalculator calc; public void hireOutDvd(Dvd dvd) { ... } public void returnDvd(@Obsevers @Returned Dvd dvd) { ... } }However, what Resin allows you to do is omit the @Stateless annotation, and use annotations like @RunAs on a managed bean.
Ok. Is this notion of ubiquitous EJB services in Resin's implementation ground breaking? It seems nice and straightforwad to be able to use one set of transaction and security annotations throughout instead of one set for EJB managed and another for CDI managed. Or is this just simple convenience by allowing the omission of @Stateless, etc.?
Well, it's something that plenty of folks, myself included, have advocated for a long time. But yes, Resin is the first server to actually get it implemented. Kudos.
Well, that's also true :-)
hmmm. vendor lockin? the inevitable dilemma, should I or should I not use non-standard (i.e. APIs not in the RI/spec) APIs from this particular vendor application server/product? Aren't they essentially extending the EE6 web profile to EE6 full profile or similar? Then why not implement the full profile as well?