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.21 release notes


4.0.21 continues focus on bug fixes and stability. 4.0.21 includes significant reworking of the networking state machine for keepalive timing issues.

Thanks to everyone who reported bugs in 4.0.20. We encourage people to report 4.0.21 bugs at

Command Line Interface

Resin cli added error codes for specific failures e.g. authentication error, wrong argument, deployment error.

Added a new command that makes resin boot process compatible with requirements of launchd (Mac OSX). 'start-with-foreground' command is an extension of 'start' command that keeps resin boot process running.

Deprecated 'watchdog' command. 'watchdog' command will still work, however, we recommend that 'start-with-foreground' is used instead.

Resin Eclipse Plugin

Better error reporting was added to let users know of git deployment failures.

Download and install functionality updated to install into version specific directory.

Resin Admin

Threads page was tweaked to sort threads by stack trace.

Graphing enhancements continue, with improved scrolling control.


New health actions and conditions:

A Snapshot on OnAbnormalStop condition was added by default to health.xml. If upgrading we recommend you add this to your existing health.xml.

Example: <health:Snapshot> in health.xml

PDF Snapshot

The PDF has been expanded to include heap, cpu profile, thread dump, and JMX data. This additional data gives a fuller snapshot of the JVM's state.

command-line pdf-report

Example: generating a pdf report
unix> bin/ pdf-report
generated /usr/local/home/ferg/test/resin-pro-4.0.21/log/default-Summary-20110819T1434.pdf
Example: generating a pdf report with CPU profile
unix> bin/ pdf-report -profile-time 60
generated /usr/local/home/ferg/test/resin-pro-4.0.21/log/default-Summary-20110819T1434.pdf


The WebSocket implementation has been updated to the latest draft specification.

Resin's WebSocket implementation is stream based, meaning arbitrary-length messages are supported.

Messages are read in an application callback implementing WebSocketListener. The listener reads the InputStream until end of file which is the end of message, and then returns to allow the next message to be read.
package com.caucho.websocket;

public interface WebSocketListener {
  public void onReadBinary(WebSocketContext, InputStream is)
    throws IOException;
  public void onReadText(WebSocketContext, Reader is)
    throws IOException;

Messages are written using the WebSocketContext. The application starts new message with startBinaryMessage() or startTextMessage(), writes to the OutputStream and closes it on message end.
package com.caucho.websocket;

public interface WebSocketContext {
  public OutputStream startBinaryMessage()
    throws IOException;
  public PrintWriter startTextMessage()
    throws IOException;


We've been tracking the jcache specification updates. Jcache will provide a standard caching API. The latest changes include compare-and-set operations

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