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 4.0.25 release notes


Thanks to everyone who reported bugs in 4.0.24. We encourage people to report 4.0.25 bugs at

4.0.25 includes an update of the WebSocket support for the final RFC 6455 release.

It includes several changes to improve the cloud support to make Resin PAAS ready without needing additional PAAS-provider support. The specific changes include dynamic server updates and cloud configuration.


Snapshot and Watchdog PDF reports have been reformed and updated to include more information including Resin paths, ports, licenses, and health status.

PDF reports can be generated on-demand from the Summary and Watchdog pages in resin-admin, automatically in health.xml, or from the command line as follows:

Example: generating PDF reports from the command-line
# report on the last restart
bin/ pdf-report -user admin -password secret -watchdog 
# report on the last 24 hours
bin/ pdf-report -user admin -password secret -shapshot 

POST parameter limit: DOS Protection

The form-parameter-max element in the <web-app> restricts the maximum number of parameters in a form. The default value is 10,000.


Resin's WebSocket implementations now passes the protocol tests for the final RFC version of WebSockets.

Config Password

Passwords for databases and custom configuration can now be scrambled using the <resin:Password> tag in the config file.

database in resin-web.xml
<web-app xmlns=""

  <database jndi-name="jdbc/mysql">
    <driver type="com.mysql.jdbc.Driver">
        <resin:Password value="{RESIN}zZEEvYw4uxuyJotZf39bBw=="/>

The encrypted password can be generated on the command line with the password-encrypt command:

resinctl password-encrypt
unix> resinctl password-encrypt changeme
password: {RESIN}zZEEvYw4uxuyJotZf39bBw==

CLI: added $HOME/.resin and --mode

The command-line resinctl will now look in $HOME/.resin for properties to launch the watchdog with. The --mode option selects groups of properties.

The purpose of the $HOME/.resin is to allow remote CLI administration of Resin (by setting the server addresses) without needing to change the /etc/

Config: /etc/resin/resin-inf

Local configuration and jars can now be placed in /etc/resin/resin-inf without needing to change the resin.xml itself. A jar placed in /etc/resin/resin-inf/lib/mysql.jar will be available to the entire server.

Config: EL/rvar merging

EL variables in the resin.xml will now lookup properties without needing the "rvar" function. For a server id "app-0", ${http} will look for "app-0.http" in the and if that's missing, use "http".

Config: sample resin.xml updated

The sample resin.xml has been updated and split into a sample "cluster-default.xml" to better show the base configuration.

Config: cloud configuration

Cloud configuration support has been added to Resin. When a new Resin server spins up, it will ask the triad hub for the cloud configuration updates, which will include any shared database drivers and configuration.

The cloud configuration is structured like the /etc/resin directory, and is imported by the resin.xml. (You can look at /etc/resin/resin.xml to see how this is done.)

The command-line "config-deploy" will deploy the cloud configuration. "config-ls" and "config-cat" will show the configuration for debugging.

cloud config example

The configuration can be bundled into a .jar or deployed as a directory with the "config-deploy"

resinctl config-deploy with directory
unix> resinctl config-deploy my-cloud-conf
resinctl config-deploy with jar
unix> resinctl config-deploy my-cloud-conf.jar

When the configuration is deployed, it is parsed just like any other resin configuration file or jar file.

Cloud: dynamic servers and home-cluster

When your configuration has more than the three servers in the triad hub, you can use the <home-cluster> configuration to automatically configure the additional spoke servers. The <home-cluster> tells Resin which cluster your new server should belong to. When you start the new server, it will contact the triad hub and connect itself, becoming a new cloud server.

Once the cloud server is connected, it will download any cloud configuration changes like a new database driver, and any application deployments.

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