<access-log>

<access-log> configures a HTTP access log for all virtual hosts
in the cluster.
See access-log
in the <host> tag for more information.

<cache>

child of <cluster>

<cache> configures the proxy cache (requires Resin Professional). The
proxy cache improves performance by caching the output of servlets,
jsp and php pages. For database-heavy pages, this caching can improve
performance and reduce database load by several orders of magnitude.

The proxy cache uses a combination of a memory cache and a disk-based
cache to save large amounts of data with little overhead.

rewrite-vary-as-private

Because not all browsers understand the Vary header, Resin can rewrite
Vary to a Cache-Control: private. This rewriting will cache the page
with the Vary in Resin's proxy cache, and also cache the page in the browser.
Any other proxy caches, however, will not be able to cache the page.

The underlying issue is a limitation of browsers such as IE. When IE
sees a Vary header it doesn't understand, it marks the page as uncacheable.
Since IE only understands "Vary: User-Agent", this would mean IE would
refuse to cache gzipped pages or "Vary: Cookie" pages.

With the <rewrite-vary-as-private> tag, IE will cache the page
since it's rewritten as "Cache-Control: private" with no Vary at all.
Resin will continue to cache the page as normal.

<cluster-default>

child of <resin>

<cluster-default> defines default cluster configuration for all clusters in the <resin> server.

<ear-default>

<error-page>

child of <cluster>

<error-page> defines a web page to be displayed when an error occurs
outside of a virtual host or web-app.
Note, this is not a default error-page, i.e. if
an error occurs inside a <host> or <web-app>, the error-page for
that host or web-app will be used instead.

It is recommended that any <host> using a regexp include
a <host-name> to set the canonical name for the host.

<host-default>

child of <cluster>

Defaults for a virtual host.

The host-default can contain any of the host configuration tags.
It will be used as defaults for any virtual host.

<host-deploy>

child of <cluster>

Configures a deploy directory for virtual host.

The host-deploy will add an EL variable ${name}, referring to
the name of the host jar file.

ATTRIBUTE

DESCRIPTION

DEFAULT

path

path to the deploy directory

required

expand-path

path to the expansion directory

path

host-default

defaults for the expanded host

host-name

the host name to match

${name}

<ignore-client-disconnect>

child of <cluster>

default true

ignore-client-disconnect configures whether Resin should ignore
disconnection exceptions from the client, or if it should send those
exceptions to the application.

<ignore-client-disconnect> schema

element ignore-client-disconnect {
r_boolean-Type
}

<invocation-cache-size>

child of <cluster>

default 8192

Configures the number of entries in the invocation cache.
The invocation cache is used to store pre-calculated servlet and filter
chains from the URLs. It's also used as the basis for proxy caching.

<invocation-cache-size> schema

element invocation-cache-size {
r_int-Type
}

<invocation-cache-max-url-length>

child of <cluster>

default 256

Configures the longest entry cacheable in the invocation cache.
It is used to avoid certain types of denial-of-service attacks.

<invocation-cache-max-url-length> schema

element invocation-cache-max-url-length {
r_int-Type
}

<persistent-store>

child of <cluster>

Defines the cluster-aware persistent store used for
sharing distributed sessions. The allowed types are "jdbc", "cluster"
and "file". The "file" type is only recommended in single-server
configurations.

The <persistent-store> configuration is in the <server> level
because it needs to share update information across the
active cluster and the <cluster> definition is at the <server> level.
Sessions activate the persistent store with the <use-persistent-store>
tag of the <session-config>.

cluster store

The cluster store shares copies of the sessions on multiple servers.
The original server is used as the primary, and is always more efficient
than the backup servers. In general, the cluster store is preferred because
it is more scalable, and with the "triplicate" attribute, the
most reliable..

cluster tags

ATTRIBUTE

DESCRIPTION

DEFAULT

always-load

Always load the value

false

always-save

Always save the value

false

max-idle-time

How long idle objects are stored (session-timeout will invalidate
items earlier)

file store

The file store is a persistent store for development and testing or
for single servers. Since it is not aware of the clusters, it cannot
implement true distributed objects.

file tags

ATTRIBUTE

DESCRIPTION

DEFAULT

always-load

Always load the value

false

always-save

Always save the value

false

max-idle-time

How long idle objects are stored

24h

path

Directory to store the sessions

required

<ping>

child of <cluster>

Starts a thread that periodically makes a request to the server, and
restarts Resin if it fails. This facility is used to increase server
reliability - if there is a problem with the server (perhaps from a deadlock or
an exhaustion of resources), the server is restarted.

A failure occurs if a request to the url returns an HTTP status that is
not 200.

Since the local process is restarted, it does not make sense to specify a
url that does not get serviced by the instance of Resin that has the ping
configuration. Most configurations use url's that specify 'localhost' as
the host.

This pinging only catches some problems because it's running in the
same process as Resin itself. If the entire JDK freezes, this
thread will freeze as well. Assuming the JDK doesn't freeze, the
PingThread will catch errors like deadlocks.

<ping> Attributes

ATTRIBUTE

DESCRIPTION

DEFAULT

url

A url to ping.

required

sleep-time

Time to wait between pings. The first ping is always 15m after the server starts, this is for subsequent pings.

15m

try-count

If a ping fails, number of times to retry before giving up and restarting

required

retry-time

time between retries

1s

socket-timeout

time to wait for server to start responding to the tcp connection before giving up

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.