| career | drupal | java | mac | mysql | perl | scala | uml | unix  

Tomcat example source code file (balancer-howto.xml)

This example Tomcat source code file (balancer-howto.xml) is included in the "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Tomcat tags/keywords

apache, apache, http, http, jk, license, please, rules, server, the, the, using, using, you

The Tomcat balancer-howto.xml source code

<?xml version="1.0"?>
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  See the License for the specific language governing permissions and
  limitations under the License.
<!DOCTYPE document [
  <!ENTITY project SYSTEM "project.xml">
<document url="balancer-howto.html">


        <author email="">Yoav Shapira
        <author>Remy Maucherat
        <author>Andy Oliver
        <title>Load Balancer HOW-TO


<section name="Table of Contents">
<a href="#Using the JK 1.2.x native connector">
Using the JK native connector</a>
<a href="#Using Apache HTTP Server 2.x with mod_proxy"> Using Apache HTTP Server 2.x and mod_proxy</a>
<!-- <a href="#Using the balancer webapp">Using the balancer webapp
--> </p> </section> <section name="Using the JK 1.2.x native connector"> Please refer to the JK 1.2.x documentation. </section> <section name="Using Apache HTTP Server 2.x with mod_proxy"> Please refer to the mod_proxy documentation for Apache HTTP Server 2.2. This supports either HTTP or AJP load balancing. This new version of mod_proxy is also useable with Apache HTTP Server 2.0, but mod_proxy will have to be compiled separately using the code from Apache HTTP Server 2.2. </section> <!-- <section name="Using the balancer webapp"> <subsection name="Overview"> <p> Tomcat 5.0.15 and later ships with a webapp named balancer. This is a simple implemention of a rules-based load balancer. It was not designed as a replacement for other load-balancing mechanisms used for high traffic environments. Rather, it is a simple, pure Java, easily extensible, and fast way to direct traffic among multiple servers. </p> <p> Although balancer ships with Tomcat, it is not Tomcat-specific and runs on other containers without any modification. The balancer webapp requires a Servlet Specification 2.3 or later container if you wish to use a filter to redirect traffic. If you wish to redirect traffic using a servlet, you may use any servlet container. </p> </subsection> <subsection name="Sample Configuration"> <p> The default balancer installation uses a single filter, BalancerFilter, mapped to all requests (url-pattern /*). The filter reads its rules from the location specified in the balancer deployment descriptor (web.xml file). The default rules are: <ul> <li>Redirect requests with News in the URL to <li>Redirect requests with a parameter named paramName whose value is paramValue to</li> <li>Redirect all other requests to </ul> Therefore, when you install tomcat, start it, and point your browser to http://localhost:8080/balancer, you will be redirected to If you point your browser to http://localhost:8080/balancer/News you will be redirected to The request for http://localhost:8080/balancer/BlahBlah?paramName=paramValue will be redirected to </p> </subsection> <subsection name="Balancer Rules"> <p> A <i>Rule in the balancer system is a combination of a request matching criterion and a redirection URL for matching requests. Rules implement the org.apache.webapp.balancer.Rule interface. </p> <p> The balancer distribution contains a number of useful rules. The framework is also designed for easy extensibility so that you can write your own rules quickly. Rules should be JavaBeans (public no-args constructor, public setter method setXXX for property xxx), as they are instantiated by Jakarta Commons Digester. Feel free to inquire on the tomcat-user mailing list regarding the availability of rules or the inclusion of your rules in the distribution. </p> <p> Rules are assembled into RuleChains. Each BalancerFilter (or Servlet/JSP) refers to one RuleChain when making its redirection decisions. Note that you are not restricted to having one filter mapped to /* as done in the sample configuration. You can configure as many filters as desired, using the full filter mapping possibilities defined in the Servlet Specification. Each filter will have its own RuleChain. </p> </subsection> <subsection name="How it Works"> <p> <ol> <li>You write a rules configuration file containing various rules and redirection locations.</li> <li>You define the balancer filter in your web.xml, mapping it as desired (/* is a common use-case) and configuring it with your rules configuration file.</li> <li>The server is started, initializing the filter. <li>A request comes into the server. The filter consults its rule chain to determine where to redirect the request. Rules are consulted in the order in which they are defined in the rules configuration file. The first matching rule will stop the evaluation and cause the request to be redirected.</li> </ol> </p> </subsection> <subsection name="Comments"> <p> Please direct questions, comments, suggestions, etc. to the tomcat-user mailing list. Thank you. </p> </subsection> </section> --> </body> </document>

Other Tomcat examples (source code examples)

Here is a short list of links related to this Tomcat balancer-howto.xml source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller


new blog posts


Copyright 1998-2021 Alvin Alexander,
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.