Wow, this is hands down the best article there is on Java EE 6 that I‘ve seen. It‘s a good read and covers a lot of great stuff, from OpenSessionInView through the new extended persistence context and the relationship to lazy.
Java EE 6 from Spring
I still have some gripes about Java EE 6, e.g. why aren‘t scopes logical? But Arqillian makes that matter less because if you have a session bean, you don‘t have to worry about not having a session in your tests.
The examples in here of making beans from the container are great. I happen to be working on a piece that includes discovery. As we all know, configured injections and discovery models don‘t generally go together very well, as we are not sure what we are going to find or what the actual structure is that we will end up building.
This does not really take up the issue of how to structure data access. It mentions DAO (time machine please), and shows crud for an entity inside a bean called Service.. ? Look elsewhere for thoughts on this stuff, but it does show how quickly you can get persistence into your beans.
Two sidelights from this read: 1. Lincoln reminds us that the configuration mania that was Spring definitely contributed to the convention over reaction and 2. there is an interesting comment from someone saying that they use Spring with Jetty. And I thought that maybe the jBoss team had finally come to realize the importance of a lightweight container deploy cycle; maybe they just saw the writing on the wall.
The biggest things that account for my preference for 6 v. Spring:
- Standards are important.
- Spring has become a treatise in hubris. Maybe things have calmed down a bit, but one more refrain of that ‘we‘re the EJB saviors‘ rattletrap, I‘d have salted my drives.
- Spring really looks silly on the ui side. Spring MVC instead of JSF 2? Yeah, I don‘t think so. (NIH/NIMBY)
- The Spring test classes were a mess.
The JBoss team is really starting to deliver some good stuff.. I have been thinking about a post about how the coming PaaS smackdown is going to finally slam the door shut on the dream of open: you‘re going to end up in someone‘s walled garden.. one of the main decisions is whether you want to be there with Jim Jones or someone who has a more balanced view of reality..