SQL Zone is brought to you in partnership with:

Rob Williams is a probabilistic Lean coder of Java and Objective-C. Rob is a DZone MVB and is not an employee of DZone and has posted 170 posts at DZone. You can read more from them at their website. View Full User Profile

Spring v. RedHat v. Oracle

  • submit to reddit

Remember when monster movies jumped the shark they did that battle of all monsters movie where Gamera came flying in on Godzilla vs. Baby Kong? Was like a monster version of a Vegas drag show. The Java world is reaching that stage. Here are a few thoughts on the various parties (just did some of this, so this is more technology focused).

Red Hat

I still like these guys best of the 3, though that may be changing, we‘ll see. The experience of getting a new project going with Weld was unpleasant. First, there were maven archetypes, which is great, and they showed up in m2, which is also great. But then, the Tomcat one is pretty much useless, there‘s no JPA, and no examples of adding any (you can guess numbers though!). Read around a lot and there were a lot of people looking for something to no avail. So I downloaded Glassfish v.3 and installed that. Then regenerated the project. Then I hit a slew of insanely stupid errors. The main one was that the damned xhtml template the project includes has a typo in it. BTW, Weld has its own way of reporting errors that is seriously sucky. Also, glassfish, though it installs in eclipse, doesn‘t write to the console! ( update: I‘m an idiot: they have their own console, which is cool..) So I have to go open their stupid log file to find out what went wrong. Stoopid. Finally, the example doesn‘t work because the db is not started. There is no way to start the db from the console, so you have to go do it the old cl way. Nice.. At least it works.

Still very intrigued by Arquillian. Read a good article about finding a bug with it (see below). Even though Dan Allen and Gavin King are archetypal angry guys, there are some things that require some anger. A decade and a half with the inability to do real integration testing quickly and easily and hot deploy top my lists. (BTW, see the link below where a guy after my own heart does a retrospect of his latest project and says most of the time went to waiting around for restarts, etc. The other damage we are doing is only the lobotomized drones will remain, vs. iOS is insanely fast, the simulator does everything, now Instruments does testing… yada yada yada…


Glassfish does look kind of nice, but I hold out zero hope that Oracle‘s tutelage will be anything but a disaster.


Ok, so a few things conspired to bring some Spring love into my life for the first time in a REALLY long time. One, I was literally about to do a blog post about how it‘s time for object databases to reemerge, and I just happened to read yesterday that Spring is acquiring Gemstone. That I think is a very good move. SQL is great, my friends, but object databases make a lot of sense. And let‘s face the facts, the advent of the cloud, and CEP is changing everything. The idea that we have to see pounds of sterling laid at the db vendors‘ feet is ludicrous. Of course, since Java‘s papa is now the biggest db godfather of all time, don‘t expect to see any movement in that direction from that side. Likewise, Hibernate is still the most successful RH piece of the JEE puzzle, so I doubt they are in a hurry to give us a real OODB. Go Spring on this one!

When Weld was pissing me off, I went looking for some Spring archetypes. Didn‘t see any, but then this morning here on jroller found a link to a guy who has one. Will probably generate the same project using that archetype and A/B the two against each other. If Spring is doing CDI now, let‘s just cross off the DI crap and move on, People, this does not deserve more cycles. Time for a lean redux here.. actually, it‘s really now or never…

Spring JEE Archetype
Weld Reference Doc
Interesting Site on CEP
Good Dan Allen Post re:Using Arquillian to Find Weld Bug
JEE6 Tutorial w/Discussion
Excellent Discussion of JEE6 v. Spring
Weld Quickstart for Maven Users


From http://www.jroller.com/robwilliams/entry/spring_v_redhat_v_oracle

Published at DZone with permission of Rob Williams, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)



Andy Gibson replied on Sat, 2010/09/04 - 10:38pm

Did you see my Maven Archetypes for Weld, they are based on the Weld archetypes with a few fixes and there are even demo application archetypes for Java EE 6 containers and Weld. The servlet archetypes includes setting up JPA and a sandbox app with a demo data model (including data generation) to get you started. Just look for the knappsack archetypes, they are in central. I'm starting  to look at adding Arquillian support to the archetypes and doing some posts on it.

Right now, I'm liking Glassfish for speed and features. Hot deployment seems to be working better (or at least as well as) the servlet containers. Eclipselink isn't winning me over though, yet I can't quite put my finger on the problems.

Regarding Spring,  they are really coming out of the gate running with vFabric as a total stack for the cloud, and very different from the Java EE route which is great. The nice thing about the single company stack is that everything works together (at least its supposed to). In that respect, its very much JBoss/Red Hat vs Spring.



Andrew McVeigh replied on Sun, 2010/09/05 - 6:30am

unfortunately, in much of the commercial world it is IBM Websphere versus the others.

Reza Rahman replied on Sun, 2010/09/05 - 4:30pm


I respect your opinion, but if you are implying that there is some special animosity between Oracle and Red Hat beyond healthy competetion, I have not seen any concrete evidence of it. As a matter of fact, GlassFish and JBoss share a lot of common code and development efforts.

I also beg to differ that Oracle tutelage is necessarily a "disaster" - at best I think it is way too early to tell. Not to speak ill of the dead, but the truth is that Sun is not really that tough of an act to follow. For my part, I am expecting less emotional baggage, more pragmatism, faster development pace and greater resources from Oracle perhaps with a little less "openness" in the immediate short term. I think the openness part is what all major vendors and the Java community should work with Oracle construtively to maintain or expand (within reason; after all "openness" did not save Sun from becoming a zombie corporation).



Rob Williams replied on Sun, 2010/09/05 - 6:28pm in response to: Andy Gibson

I did, Andy, I am using them. I was stupid and started with the minimal one and could not figure out why it wasn't working in Tomcat, then got the servlet one, then, per the post, went to the ee one and switched to Glassfish. Thanks, the archetypes are awesome! Arquillian support would be great. JEE6 definitely has a lot to offer. In this post I was saying that it doesn't jump out at you as quickly as JEE5 did, but as I am going deeper into the woods, the benefits are there, probably in greater numbers. Already used implicit navigation, ajax, new validation stuff, and have been reading about the new event stuff. I hit your blog today when I was trying to figure out if my old Seam code that was outjecting stuff should now be using @Produces instead (my first guess). Anyway, thanks for all the good content you have put out there.

Rob Williams replied on Sun, 2010/09/05 - 6:31pm in response to: Reza Rahman

Good to hear, Reza. I hope you are right about Oracle. I think we should all voice some of our opinions about a bunch of this stuff. Maybe I come off as too harsh or cynical, I will try and lighten it up, but seriously, look back at the last 15 years. If there had been more open debate about some of this stuff, maybe we would have gotten where we needed to go faster. Thanks for your post.

Andy Gibson replied on Mon, 2010/09/06 - 1:25am

Hey Rob,

Glad you go it up and running. Yes,since there is no outjection, you'll need to use a @Produces method which is similar to a @Factory method in Seam 2. I'm planning on getting out a post about transitioning from Seam 2 to CDI together fairly soon as I had a couple of emails about it also.


 Andy Gibson

Charlie Mordant replied on Mon, 2010/09/06 - 4:21am


I made a jpa/spring archetype, including flex integration or jsf.

I also added M2T templates and class diagram to generate hibernate dao, persistence services and dto

Take a look  at the two archetypes: http://nexus.helloworld.is-an-engineer.com/content/repositories/snapshots/com/helloworld/

Reza Rahman replied on Mon, 2010/09/06 - 11:47am in response to: Rob Williams


I agree :-). I would say keep up the good work and feel free to call Oracle's mistakes and offer suggested alternatives to them where apparent. From my own personal experince things seems to be flexible, at least on the engineering side...



Dan Allen replied on Tue, 2010/10/12 - 5:24pm

Honestly, I'm really not an angry guy :) I do hold high expectations for software to be of good quality and approachable for the same reasons as you, it respects our productivity. But I don't take any satisfaction out of being angry in the eyes of the community.

I appreciate your feedback about the archetypes. We definitely want to make them meet the expectations of developers using them to get started quickly. Hopefully we'll have some new releases out soon.

Jessie Mear replied on Wed, 2011/09/07 - 6:41am

Red Hat had a prominent position at Hewlett-Packard’s recent HP Americas Partner Conference. The Red Hat-HP combo is looking to gang up against Oracle-Sun. java programmers

King Sam replied on Fri, 2012/02/24 - 9:47am

It's a pity that you don't concentrate that much in fixing bugs, which make: 3.0.1 practically unusable.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.