Caucho Newsletter January 2019

main caucho logo 3

“After 2 years with Resin Pro in production, Nssam has achieved 99.99% uptime and now operates with simplistic operational scalability. We saved 20% of our cost and are very satisfied with the performance of the Resin load balancer and the combination of reliable Resin web application server”

   - Nssam Technical Supervision Director – Ho-joong, Kim 

case study: Resin’s dynamic scaling & clustering eliminates downtime without major code alterations 

Newsletter at a glance – Caucho celebrates 21 years in business!

  • Resin 4.0.59 released
  • Resin in Maven Central
  • Resin supports JDK 9, JDK 10 and 11 in the works
  • Oracle introduces Java SE subscription
  • Resin tested against OpenJDK
  • Resin Cookbooks               


Resin 4.0.59 released

Check out the change list for Resin 4.0.59 – released December 10, 2018

  • database: avoid loop when shared XA connection fails allocation (#6200)
  • http-proxy: escape utf-8 urls when used in rewrite (#6198)
  • config: updated for http examples
  • cluster: cluster .war deployment issues (#6188)
  • tcp: only force socket close on shutdown in test mode to avoid threading issues (#6190)
  • jsp/embed: jsptaglib detection issues with embedded resin (#6191)
  • access.log: truncation of long url in access.log needs matching truncation headers (#6168)
  • file: redirect needs to encode with HTML encoding (#6184)
  • embed: deadlock with ResinEmbed and type introspection (#6177)
  • load-balance: cookies losing double quotes (#6181)
  • quercus: curl needs to use TLSv1.2 as default


In case you missed it, here is the change list for Resin 4.0.58 – released August 27, 2018

  • servlet: AsyncContext timing issues due to back-compat (#6168)
  • servlet: add load-on-startup-allow-fail (#6171)
  • config: add openssl_protocol and openssl_cipher_suite to (#6169)
  • quercus: exception wrapping when stack trace is missing or empty
  • network: change SocketLinkThreadLauncher to permanent (#6166)
  • servlet: immutability of getParameterValues (#6172)
  • classloading: scanning of module-info should be skipped (#6170)
  • security: invalid URL detection with filters
  • quercus: QuercusContext array extension using wrong variable
  • session: added cookie-same-site for version=0 (#6167)

We release Resin every 12-16 weeks. Possible changes include performance enhancements, bug fixes, feature requests, and security patches. Having a process in place to update your production systems frequently and reliably will optimize performance. If you’d like to discuss updating your deployment with a Caucho engineer, please email Alexandra Garmon,, to arrange a call.


Resin in Maven Central Repository

Check out Resin in the Maven Central repository:








Did you know you can easily embed Resin? Here’s one way:


ResinEmbed resin = new ResinEmbed();

resin.addPort(new HttpEmbed(8080));


WebAppEmbed webApp = new WebAppEmbed(“/”, “webapps/ROOT”);






Resin supports JDK 9. JDK 10 and JDK 11 in the works

The new Java release schedule calls for a feature release every six months, an update release every quarter, and a long-term support (LTS) release every three years.


Resin supports JDK 9 and we are currently adding support for JDK 10 and JDK 11.

Oracle introduces Java SE subscription

Oracle is introducing a new paid Java support model called Java SE Subscription.  It replaces Oracle’s old perpetual support plan and along with it comes new licensing terms for the Oracle JDK. 

In short, Oracle JDK 8 users do not need a subscription for commercial deployments 

(see the Java SE 8 license:


Oracle JDK 11 users must have a subscription for commercial deployments (see the Java SE 11 license:


This isn’t entirely bad news because going forward with version 11, the Oracle JDK build will be the same as theOracle OpenJDK build.  The only difference is that Oracle JDK comes with a paid support model, whereas Oracle OpenJDK does not.


So what does it mean to you?



  • option #1: use Oracle JDK 8 but with no more public updates
  • option #2: use Oracle JDK 8 and pay Oracle for updates with a Java SE Subscription
  • option #3: use an OpenJDK distribution that provides updates like RedHat, Azul, IBM, etc. (Caucho recommends OpenJDK over the Oracle JDK) 

JDK 9/10

  • end-of life 

JDK 11:

  • option #1: use Oracle JDK 11 with a Java SE Subscription
  • option #2: use an OpenJDK distribution that provides updates like RedHat, Azul, IBM, etc.

For more information, see:

Resin tested against OpenJDK

We recommend using OpenJDK, which is what we use to test Resin.  Interesting tidbit: internally, we do not use Oracle JDK at all.



Resin Cookbooks


Check out our 10-minute overviews of various Resin topics, available for viewing at: For new users or even users who want brief refreshers on advanced Resin topics, the cookbooks are a great place to start.


Resin Deployment

basic application deployment on Resin


Resin Debugging

useful debugging tools for Resin deployments


Resin on Amazon EC2

get setup on Amazon EC2 in minutes


Resin Security

4 ways to secure your deployment


Download the latest version of Resin today!


Facebook: Caucho Technology  Resin Twitter page