Caucho maker of Resin Server | Application Server (Java EE Certified) and Web Server


Resin Documentation

home company docs 
app server 
 Resin Server | Application Server (Java EE Certified) and Web Server

resin 3.1.3 release notes

Resin 3.1.x

Resin 3.1.x is a development branch. New capabilities will be added along with bug fixes for future versions of the Resin 3.1.x branch.

Deployments which need a Resin version with only bug fixes should use the Resin 3.0.x branch.

Startup Time

Resin 3.1.3 has improved the startup time by enhancing the .jar processing.


Added fail-recover-time and connection load balancing for HttpProxyServlet.


Hessian debugging has been improved. The HessianServlet now has a debugging attribute. If true, and if the java.util.logging level is "fine", the HessianServlet will log the input and output of the servlet.

Hessian debugging has also added HessianDebugInputStream and HessianDebugOutputStream which wrap any InputStream or OutputStream and print a debuggable version of the Hessian data.

Hessian has also added streaming capabilities for asynchronous comet-style applications. Each written object is enclosed in a packet which allows the receiving end to asynchronously detect the end of the object.


The file servlet now uses CRC-64 to generate the ETag for files. The new ETag improves caching in clustered environments.


<web-app-deploy> now supports a "versioning" attribute. If true, multiple .war files with version numbers will be resolved to the most recent version, e.g. the url /foo would choose webapps/foo-1.1 over webapps/foo-1.0.

After deployment, old sessions will stay with the old version for a period of time. New sessions will migrate to the new version. This will simplify application version upgrades.

Jdbc Pooling

Added max-idle-count to limit the idle connection size (default 1024).


Added JdbcDriverMXBean with start()/stop() to allow control of load-balanced database drivers.


Resin 3.1.3 introduces our JSF 1.2 implementation. The implementation includes fast JSP code generation. The JSP generation can be configured like:

  <jsp fast-jsf="true"/>

Comet/Streaming Servlets

Resin 3.1.3 introduces a Comet API for streaming servlet. Application with long-lived connections implementing server-push will use CometController and CometServlet

We've also added a Comet example.


Added keepalive-connection-time-max, limiting the total time connections can live with keepalives.

Session Generation

Applications can now give a hint to the SessionManager about which server should own the session. Applications which use distributed caches like EhCache can use this capability to improve locality.

The "caucho.session-server-id" attribute of the request object sets the value. It can either be a number (the index) or the server-id of the target server.

request.setAttribute("caucho.session-server-id", "app-a");

session = request.getSession(true);


The administration pages at /resin-admin have been updated to add clustering and database pooling capabilities.


The performance of Amber (JPA) has been improved for loads and cached queries.


<rewrite-dispatch> now allows <resin:import> in its rules. The imported file will not force a Resin restart when it's modified, making common rewrite updtes faster.


Quercus for 3.1.3 has implemented the PHP 6 unicode.semantics, which defaults to false like PHP 6. Many PHP application will now run on Quercus with no extra configuration required.

Quercus 3.1.3 has also fixed a significant number of bugs, improviding compatibility with PHP 6.

Copyright © 1998-2015 Caucho Technology, Inc. All rights reserved. Resin ® is a registered trademark. Quercustm, and Hessiantm are trademarks of Caucho Technology.

Cloud-optimized Resin Server is a Java EE certified Java Application Server, and Web Server, and Distributed Cache Server (Memcached).
Leading companies worldwide with demand for reliability and high performance web applications including, CNET, DZone and many more are powered by Resin.

home company docs 
app server