Resin 3.1 Upgrade

From Resin 3.0

(Difference between revisions)
Jump to: navigation, search
(New page: * Use java -jar lib/resin.jar start instead of wrapper.pl * resin.conf <cluster> and <server> reorganization * jvm-arg arg configuration [[http://caucho.com/resin/doc/resin-watchdog...)
 
 
(One intermediate revision by one user not shown)
Line 3: Line 3:
 
* jvm-arg arg configuration
 
* jvm-arg arg configuration
  
[[http://caucho.com/resin/doc/resin-watchdog.xtp]]
+
[[http://caucho.com/resin/doc/resin-watchdog.xtp resin.watchdog.xtp]]
 +
 
 +
== steps ==
 +
 
 +
To convert a Resin 3.0 config to Resin 3.1 or later, use the following steps:
 +
 
 +
# change &lt;server> to &lt;cluster>
 +
# change &lt;srun> to &lt;server>
 +
# put any &lt;http> inside the &lt;server> or &lt;server-default>
 +
# put JVM arguments inside &lt;jvm-arg> inside &lt;server>
 +
# add explicit &lt;host> or &lt;web-app> for any default web-app or host
 +
# put default configuration in &lt;web-app-default>, &lt;host-default>, or &lt;server-default> as appropriate
 +
# if you use multiple resin.conf for 3.0, merge them into a single resin.conf with separate <cluster> items.
 +
# change any scripts calling wrapper.pl to call java -jar lib/resin.jar start
 +
 
 +
== cluster and server ==
 +
 
 +
In Resin 3.1, we've adopted a consistent definition of the following terms to reduce ambiguity:
 +
 
 +
* [[server]] - a single JVM instance
 +
* [[machine]] - a physical (or virtualized) machine, i.e. a single operating system copy
 +
* [[cluster]] - a set of identically-configured servers.  The jvm-args may differ, but the content served is identical
 +
 
 +
The Resin 3.1 configuration matches these definitions and follows a strict hierarchy:
 +
 
 +
* <resin> - domain containing of all clusters
 +
* <cluster> - a collection of identical serveres, e.g. load-balancer tier vs app-tier vs JMS queue tier
 +
* <host> - a virtual host
 +
* <web-app> - a web-application
 +
 
 +
Even if you have a single server, that server belongs to a <cluster> with one server.
  
 
== jvm-arg configuration in Resin 3.1 ==
 
== jvm-arg configuration in Resin 3.1 ==
Line 29: Line 59:
 
   </cluster>
 
   </cluster>
 
  </resin>
 
  </resin>
 +
 +
The ${HEAP} expression is a JSP EL expression that uses a -DHEAP=128 passed to the command-line, like
 +
 +
  resin-3.1.x> java -DHEAP=128 -jar lib/resin.jar start
 +
 +
== watchdog vs wrapper.pl ==
 +
 +
Resin 3.1 replaces the old wrapper.pl with a Java [[watchdog]] process.  The watchdog reads the resin.conf and uses the <server> and <jvm-arg> to start the child Resin process.
 +
 +
To start the watchdog (and Resin), use
 +
 +
  resin-3.1.x> java -jar lib/resin.jar start
 +
 +
To stop it, use
 +
 +
  resin-3.1.x> java -jar lib/resin.jar stop

Latest revision as of 17:27, 19 February 2009

  • Use java -jar lib/resin.jar start instead of wrapper.pl
  • resin.conf <cluster> and <server> reorganization
  • jvm-arg arg configuration

[resin.watchdog.xtp]

Contents

steps

To convert a Resin 3.0 config to Resin 3.1 or later, use the following steps:

  1. change <server> to <cluster>
  2. change <srun> to <server>
  3. put any <http> inside the <server> or <server-default>
  4. put JVM arguments inside <jvm-arg> inside <server>
  5. add explicit <host> or <web-app> for any default web-app or host
  6. put default configuration in <web-app-default>, <host-default>, or <server-default> as appropriate
  7. if you use multiple resin.conf for 3.0, merge them into a single resin.conf with separate <cluster> items.
  8. change any scripts calling wrapper.pl to call java -jar lib/resin.jar start

cluster and server

In Resin 3.1, we've adopted a consistent definition of the following terms to reduce ambiguity:

  • server - a single JVM instance
  • machine - a physical (or virtualized) machine, i.e. a single operating system copy
  • cluster - a set of identically-configured servers. The jvm-args may differ, but the content served is identical

The Resin 3.1 configuration matches these definitions and follows a strict hierarchy:

  • <resin> - domain containing of all clusters
  • <cluster> - a collection of identical serveres, e.g. load-balancer tier vs app-tier vs JMS queue tier
  • <host> - a virtual host
  • <web-app> - a web-application

Even if you have a single server, that server belongs to a <cluster> with one server.

jvm-arg configuration in Resin 3.1

Resin 3.1 configures JVM arguments in the resin.conf using a <jvm-arg> so all configuration can be in one place, instead of split between the resin.conf and any shell scripts.

The <jvm-arg> is contained in the <server> tag because the JVM arguments apply to a single JVM, i.e. a Resin server.

A sample configuration might look like:

<resin xmlns="http://caucho.com/ns/resin">
   <cluster id="app">
      <server id="a" port="6800">
         <http port="8080"/>

         <jvm-arg>-d64</jvm-arg>
         <jvm-arg>-Xms${HEAP}m</jvm-arg>
         <jvm-arg>-XX:MaxPermSize=512m</jvm-arg>
         <jvm-arg>-Dcom.sun.management.jmxremote.port=999</jvm-arg>
     </server>

     <host id=">
         ...
     </host>
  </cluster>
</resin>

The ${HEAP} expression is a JSP EL expression that uses a -DHEAP=128 passed to the command-line, like

 resin-3.1.x> java -DHEAP=128 -jar lib/resin.jar start

watchdog vs wrapper.pl

Resin 3.1 replaces the old wrapper.pl with a Java watchdog process. The watchdog reads the resin.conf and uses the <server> and <jvm-arg> to start the child Resin process.

To start the watchdog (and Resin), use

 resin-3.1.x> java -jar lib/resin.jar start

To stop it, use

 resin-3.1.x> java -jar lib/resin.jar stop
Personal tools