These are the CDI related bugs. The first is a memory leak which makes 3.0.1 completely unusable for us. I've provided a detailed analysis and a test case.
https://glassfish.dev.java.net/issues/show_bug.cgi?id=12368
https://glassfish.dev.java.net/issues/show_bug.cgi?id=12599
JPA is a different story. In theory, you should be able to use any JPA 2.0 persistence provider on any Java EE 6 app server. In practice, the spec leaves so many details open to the implementation that it is virtually impossible to switch from Hibernate to Eclipselink or vice versa without breaking your application. In addition, both of these have not fully implemented the spec, so you have to work around the omissions of your provider. On the other hand, important features (like user defined types, custom JDBC types, spatial extensions) are not part of JPA 2.0 so you have to use the proprietary extensions of your provider.
Since we work with Hibernate in our project, there is probably no point in addressing any JPA related bugs to the Glassfish community, except in cases where the container/JPA provider contract is broken.
I'm not too happy about Hibernate either (especially about some RTFM tendencies in the discussion forums and about bugs reports not being responded to or hanging around for years even though users provided patches). But we found it even harder to fit Eclipselink to our needs, so we stick with Hibernate - better the devil you know...
I'm inclined to agree that Glassfish v3 is the best open source Java EE 6 server. That means, it's better than the competitors, but the whole lot does not yet appear to be production ready. And this is what I find rather alarming, more than 6 months after the spec release.
@Laird: Thanks for the hint about 3.1b9 - I'll have a look and see how it works for us.
I'm not in principle opposed to working with stable builds (in fact 3.0.1b21 is the one that works for us currently, while 3.0 and 3.0.1 simply don't, i.e. there has been a regression before the 3.0.1 release). On the other hand, nobody trying to build a Java EE 6 application has the time to upgrade their app server once a week and act as beta testers for the server.
Are there any documented quality gates for "stable" builds? If so, people might be more inclined to give them a try. But then it shouldn't be too much extra effort for Oracle to provide official dot releases 3.0.x every two months or so.
Best regards,
Harald
[Message sent by forum member 'hwellmann']
http://forums.java.net/jive/thread.jspa?messageID=477386