Adam Bien's Weblog

GlassFish Became The Killer AppServer And Then Changed The Name

GlassFish became the Killer Appserver. GlassFish was one of the favorites in green field Java EE projects--the vast majority of my clients used GlassFish in production in 2013.

Oracle dropped the commercial support for GlassFish and a mass-exodus to WildFly and TomEE started.

The C2B2 company offered commercial support in late 2013. During JavaOne 2014 a "New Fish On The Block"--Payara was announced. Payara is a GlassFish 4.1 clone maintained at https://github.com/payara/Payara, heavily patched and further developed by the community.

I'm closely watching Payara since JavaOne 2014. Some observations:
  1. Developers behind Payara are present at major conferences (JavaOne, Devoxx). C2B2 (the company behind Payara) organizes vibrant London GlassFish User Group meetings and events
  2. Payara's developers are highly skilled and focussed, but open for contributions at the same time
  3. Payara community is very responsive and reacts quickly to issues
  4. The first binary release is available http://payara.co/downloads with fixes and interesting enhancements (e.g. hazelcast integration)
  5. A few hundred commits were already contributed by the Payara's community is used since JavaOne 2014
  6. Payara is as open source as GlassFish--the same license
  7. Payara is lean, clean and easy to install
  8. Payara's branding is appealing (never underestimate marketing)
  9. Effectively Payara is Java EE 7 compliant, commercially supported, application server.

A small issue: caused by higher version number, NetBeans currently does not recognize Payara as GlassFish. The issue is already addressed and can be easily fixed by renaming a JAR in the distribution:


mv glassfish/lib/install/applications/__admingui/WEB-INF/lib/console-core-4.1.151.jar 
   glassfish/lib/install/applications/__admingui/WEB-INF/lib/console-core-4.1.jar

See you at Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting


NEW workshop: HTML 5 and JavaScript Essentials, Three days in April 2017: from Java EE 7 Architectures over Microservices to Performance, Troubleshooting and Monitoring
On demand workshops: Java EE 7: Bootstrap, Effective, Testing and Microservices available for streaming.

Newsletter: airhacks.news

A book about rethinking Java EE Patterns

Comments:

Hey Adam ,
I would like to know what would you choose if you have two app server ( TomEE And Payara) and both of them have commercial support?
Thanks,

Posted by Abdulaziz on February 03, 2015 at 10:59 AM CET #

Thanks for the heads up, there is still this big question from my customers at toward which app server they should lean to. It would be good to have a full comparison o fall the app servers in town to help them decide.

Posted by Daniel W. on February 03, 2015 at 12:55 PM CET #

We had terrible experience with GF. First, in 3.1, session replication didn't work in a cluster.

But 4.0 was the worst product we've used in production. Under high load it would inject wrong session beans. Long story short, our app was used for e-commerce, so you can only imagine what happened when customers have seen others data. We wasted days debugging it, because we never expected such bug could be present in a high-profile product like GF. 4.1 wasn't yet released (it took them one year to release it) and we didn't want to risk running a development version. We had to refactor all injected session beans into method parameters.

We weren't the only people experiencing it:
http://stackoverflow.com/questions/25017334/weld-gf4-sessionscoped-sometimes-wrong-bean
https://developer.jboss.org/thread/243401?_sscc=t
http://blog.mueller-bruehl.de/programming/cdi-issue-using-glassfish-4/

I've recently tried 4.1. Our integration tests took 3 times more time after just changing the embedded Glassfish from 4.0 to 4.1 in Arquillian. It took ages to boot our app on 4.1. I don't know what they've messed up this time, but I know I will never touch GF again.

Posted by piotrek on February 03, 2015 at 11:42 PM CET #

For those who want to try it out with IntelliJ -> Payara is recognized as Glassfish 4.1.151. (Tried it with IntelliJ 14.0.3)

Thx for the nice lineup of references and links.

Posted by Rudy De Busscher on February 04, 2015 at 09:21 AM CET #

Interesting project but I wonder is it worth to hold on to GlassFish on this way or would it be easier to give WildFly/TomEE a chance?

Why would you choose GlassFish and not one of the alternatives?

Posted by Sebastian on February 04, 2015 at 12:49 PM CET #

TomEE is good for RaspberyPi ;)

Posted by 83.28.158.253 on February 04, 2015 at 02:30 PM CET #

@piotrek - hello from Payara!

That's a lot of problems! Have you tried Payara at all with your application? If you're still seeing the same problems, we would be very interested to hear the details and be very grateful if you could raise an issue for us: https://github.com/payara/Payara/issues

Thanks everyone for the comments - good or bad, they all help us to improve!

Posted by Mike Croft on February 04, 2015 at 06:12 PM CET #

GlassFish will run on a phone or a Raspberry Pi.

http://java.dzone.com/articles/smartphone-java-ee-server

Payara Embedded Web Profile can run JAXRS microservices in a 50Mb JVM Heap

As Adam says Java EE7 is very light-weight

Posted by Steve on February 05, 2015 at 10:14 AM CET #

One thing to note is that TomEE is currently JavaEE 6 and GlassFish, Payara and WildFly are JavaEE 7.

Posted by Steve on February 05, 2015 at 10:18 AM CET #

Post a Comment:
  • HTML Syntax: NOT allowed
realworldpatterns.com
Online Workshops
...the last 150 posts
...the last 10 comments
License