Application Server: Parameterized Web Server Cluster

From Resin 4.0 Wiki

Jump to: navigation, search


Resin application server configuration can use a properties file with EL expressions to parameterize values, like http ports or cluster addresses. You might use the same resin.xml configuration for QA, staging and deployment and just change the ports or IP addresses to match the configuration.

The example is a complete web server configuration, with applications deployed in webapps/, the health system activated (requires Resin Pro), and clustering enabled (also requires Resin Pro.) The configuration will also work with Resin Open Source if you use a single server.

  • complete web-server cluster example
  • to parameterized values
  • http port parameterized with EL ${http}
  • cluster local IP parameterized with EL ${web_servers}
  • server-multi expands into multiple servers by its parameters
  • applications deploys with webapps/foo.war
  • root application in webapps/ROOT
  • sample shows a 3-server configuration but can use 1 to n servers.
  • includes health system


 unix> resinctl start

Resin will find the server configuration belonging to it by looking at the IP interfaces.


 http : 8080
 web_servers :

If you are using Resin Open Source, you can use a single web_server (like More than one web_server in the cluster requires Resin Professional.


<resin xmlns=""

   <resin:properties path="${__DIR__}/" optional="true"/>
   <log-handler name="" level="all" path="stdout:"/>

   <resin:import path="${__DIR__}/health.xml"/>
   <cluster id="web">
     <resin:import path="classpath:META-INF/caucho/app-default.xml"/>

     <server-multi id-prefix="web-" address-list="${web_servers}" port="6800">
       <http port="${http}"/>

     <host id="">
       <web-app-deploy path="webapps"/>

Personal tools