Which Java EE server should I use?

OK, this is a little unusual, because any Java EE container can do the simple things I want to do (XML processing, JPA, Hibernate, SOAP / REST web services, etc.). This is for personal use, more for gaining skills than for performing the necessary functions. I have my own Linux server (Ubuntu Jaunty x86_64) with business-class internet, so I can install almost everything.

Now I use Tomcat a lot, however, recently I came across several situations when they were looking for experience in a specific Java EE container (which defeats the whole purpose of having a standard), and, of course, not the same one every time.

So, I am looking for a Java EE server that:

  • Currently in demand in the market.
  • Is free (or
  • Not too scary (disk space, time) to install and deploy applications on
  • Powered by Ubuntu x86_64

I managed to gather some information by searching for the Indeed keyword , and that tells me to stay away from Jetty / Glassfish, even though they are β€œlight” and β€œfree”. I also see from this SO post that WebSphere is a steaming pantload of viruses that are hard to deploy / configure, but I don't know if it is accurate or current. I like Tomcat (completely FOSS, small, easy to deploy, many documents / users), but it is less in demand than some of the larger boys.

So, what would you recommend me to install? Thanks in advance.

+4
source share
6 answers

Too often, I have seen servers like JBoss and WebSphere (which I have been working with for the last 5 years) rush into the market with broken implementations. Unfortunately, the part that is broken can be very small, but it will be exactly what you will puzzle over.

Oracle Weblogic has just hit me due to an unsuccessful implementation of MDB (annotation).

If you want the server, which is the most compatible with Java EE 5, to give you the least heartache and pretty much worth the production, go to Glassfish and yes ... use Netbeans as your developer IDE.

+4
source

My personal recommendation is JBoss . Not only is this a reliable server, but there are other and JBoss platforms that integrate seamlessly into JBoss. One example is the JBoss ESB.

+8
source

+1 on JBoss, this is basically what I use for personal use and work. I also used OC4J and found it harder to use, and more sophisticated with its class loading mechanism, maybe I'm just used to JBoss. But definitely more and easier to find community support for JBoss. Thus, it is reasonable enough if you do it for personal use and do not get a support license, there will be many more users who want to help if / when you encounter problems.

+2
source

I just used Tomcat myself, professionally. I used it for most of my (so far) three-year career, and I did not have many problems setting up or deploying applications. I use Eclipse WTP for Java EE 3.4 developers (Europa) at work and mainly develop JSF applications using ICEFaces. We use the Tomcat web manager for most of our small projects, and also through Hudson for some of our wider applications.

Please note some reservations:

  • We host about 20 separate web applications, mainly JSFs with a few older JSP applications.
  • The web applications served by my office are very narrow in scope. Our department currently supports about 20 unique users, so most of our applications do not receive much traffic.
  • Most of our web applications work very intensively with processors (i.e. here a 2GB CSV file ... write a program to calculate the total number of people who live in houses with 3 or more children ...) who usually run only one-time works either weekly or daily (or even annually). In other words: "Give me all your resources for 2 hours ... then I'm going to have lunch."
  • Our main web server is the Solaris 10 core with a dual-core sparc processor (I believe that it is clocked at 1.8 GHz if the memory works correctly), with 2 GB of RAM (do not remember if it is DDR or DDR2) .

As I said, I definitely noticed problems over time with respect to our application environment, which probably has more in common with our application code, rather than with Tomcat itself. I bet that the problems are related to poor memory management within our data processing and distribution logic than with anything else. The reason I believe it is because with a new Tomcat reboot, our applications usually run in an incredibly responsive way, but within just one or two days, the user interface gets worse.

Take it for what you want. We probably have some problems that we are dealing with with our goal, but Tomcat itself seems to be quite effective in a localized environment.

+2
source

Recently, I came across several hunting situations, where they were looking for experience with a specific J2EE container (which defeats the whole purpose of having a standard) and of course, not the same every time.

Well, I think that you (half) answered the question yourself! If your main goal is to help you find a job, you need to take a look at what a Java EE container requires recruiters in your geographic area . Go to your favorite recruiting sites, drag out Java / Java EE jobs for your area over the last couple of months, and count every kind of web container. (And also count jobs that don't specify a specific web container.)

If the results of your research suggest that you need to learn WebSphere, you have my sympathy :-)

Do not forget that a mandatory requirement may not be truly mandatory if you are good enough in other areas. It all depends on what other candidates may find a recruiter. Do not be afraid to say, "you asked for X, but I have Y and Z, which demonstrates that I have wider experience using this technology."

+1
source

Oracle officially stopped supporting Glassfish. All errors found there (and there are quite a lot of them) will never be fixed.

Payara is now the best option since it is a Glassfish clone, but it continues to evolve by the Java community,

0
source

All Articles