activeweb

Which version of tomcat should I be running on production


I have Jetty 9 deployed on production right now. I was working, but then recently I pushed some change and now my production database jndi connection doesn't work anymore. ActiveWeb complains

There are no connection specs in 'production' environment

At this point of the process, I'm over trying to configure everything to work. I wasted days trying to get Jetty and AW to run on Elastic Beanstalk and I ended up going with my own deploy (I've deployed dozens of my own production server setups over the years). With Jetty there are multiple configs along with my web.xml and I just need to get it working on move on.

I've seen Tomcat mentioned in some AW posts for production, so I'm just gonna go with that.

I'm sticking with AW because we're building something that needs to handle a decent load (we already have the customers) and AW will give me better performance for the price than Rails will. However, there is little to no documentation on best practices to deploying AW to production.

So, my question now is, what version of Tomcat should I use? 8.x or 9.x? I see Servlet 3.x spec thrown around in the AW docs, so I'm guessing Tomcat 8, but will I be ok running that on 9? Are there any pros / cons?

I usually go with the latest rev of anything and just want to check before I deploy.


Solution

  • We have switched to Tomcat 8.5.32.0 a few months ago, and it is working well. JavaLite indeed performs a lot better than Rails (will have to pay ~10x for Rails infrastructure).

    We have not tried Tomcat 9 yet, but I see no reason it would not work. ActiveWeb is based on the the older Servlet 2.3 specification, so any Servlet container should just run JavaLite.