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


 

Resin Documentation

Aug 2012: Resin outscales C-based web server nginx in AutoBench benchmark
Feb 2012: NetCraft survey says Resin experiencing strong growth in last year and used in number of the Million Busiest Sites.
home company blog wiki docs 
app server web server 
health cloud java ee pro 
 Resin Server | Application Server (Java EE Certified) and Web Server
 

resin 4.0.25 release notes


Summary

Thanks to everyone who reported bugs in 4.0.24. We encourage people to report 4.0.25 bugs at http://bugs.caucho.com.

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.

PDF

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/resin.sh pdf-report -user admin -password secret -watchdog 
# report on the last 24 hours
bin/resin.sh 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.

WebSocket

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="http://caucho.com/ns/resin"
      xmlns:resin="urn:java:com.caucho.resin">

  <database jndi-name="jdbc/mysql">
    <driver type="com.mysql.jdbc.Driver">
      <url>jdbc:mysql://localhost:3306/test</url>
      <user>resin</user>
      <password>
        <resin:Password value="{RESIN}zZEEvYw4uxuyJotZf39bBw=="/>
      </password>
    </driver>
  </database>
</web-app>

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/resin.properties.

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 resin.properties 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
my-cloud-conf/admin-users.xml
my-cloud-conf/resin-inf/mysql.xml
my-cloud-conf/resin-inf/lib/mysql.jar

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-2012 Caucho Technology, Inc. All rights reserved. Resin ® is a registered trademark. Quercustm, and Hessiantm are trademarks of Caucho Technology.