HMTP/BAM API changes

The HMTP/JMTP messaging APIs continue to change as we work on simplifying
the model. Resin uses HMTP/BAM as its internal clustered
messaging framework.

We now have 5 base classes:

MessageStream - the underlying stream for the unidirectional and request/response messages

Actor - the actor/service interface for an application service.

Mailbox - the queue receiving messages for the actor.

Broker - the router to dispatch messages to other actors' mailboxes.

BamManager - manages adding and removing actors from a broker system.

rewrite-dispatch

The rewrite-dispatch order has been normalized. This should be invisible
for most users, Resin now has a better-defined order for dispatching.

All requests now go through the following order (basically a servlet filter chain order.)

rewrite-dispatch order

security (checked first)
rewrite-dispatch
filters
servlet

Since dispatch actions like <resin:LoadBalance> and
<resin:HttpProxy> are rewrite-dispatch rules, this means
that security will be applied, but servlet filters will not be applied.

proxy cache

The proxy cache has been refactored internally to better handle exceptions
and disconnects while filling the cache. The decision to make a request a
cache-fill thread now happens at the top filter call, which allows the
cleanup logic to be a simple "finally" block.

{SSHA} authentication passwords

Resin's authenticators now support LDAP-style {SSHA} passwords for
all the built-in authenticators, or anyone extending
from AbstractAuthenticator.

load-balance/cluster pools split

The load-balance and cluster TCP socket pools are now split and
using different timeouts. The cluster socket pool is used for HMTP/BAM
messages for heartbeat, dist-cache, repository, etc. The load balance
pool is used for <resin:LoadBalance>, <resin:HttpProxy> and
<resin:FastCgiProxy.

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 SalesForce.com, CNET, DZone and many more are powered by Resin.