Apache Tomcat :: Apache Software Foundation

Links

Common HowTo

Web Server HowTo

Reference Guide

AJP Protocol Reference

Miscellaneous Documentation

News

The Apache Tomcat Connectors - Miscellaneous Documentation

Status Worker Ant Tasks

Printer Friendly Version
print-friendly
version
Introduction

Since version 1.2.19 the JK release contains additional ant tasks. They can be used to manage the JK web server plugins via the special status worker.

Manage JK with remote Ant Tasks
Simple antlib integration

<?xml version="1.0" encoding="UTF-8"?>

<project name="modjk-status" 
         xmlns:jk="urn:org-apache-jk-status"
         default="status" basedir=".">

	<property name="profile" value=""/>
	<property file="jkstatus${profile}.properties"/>
	<property file="jkstatus.properties.default"/>

    <path id="jkstatus.classpath">
      <fileset dir="${catalina.home}/bin">
          <include name="commons-logging-api-*.jar"/>
      </fileset>
      <pathelement location="${catalina.home}/server/lib/catalina-ant.jar"/>
      <pathelement location="../dist/tomcat-jkstatus-ant.jar"/>
      <pathelement location="${catalina.home}/server/lib/tomcat-util.jar"/>
    </path>

    <typedef resource="org/apache/jk/status/antlib.xml"       
           uri="urn:org-apache-jk-status" classpathref="jkstatus.classpath"/> 
           
    <target name="status" >       
 	    <jk:status url="${jkstatus.url}" 
	                username="${jkstatus.username}"
	                password="${jkstatus.password}"
	                resultproperty="worker"
	      	        echo="off"
	                failOnError="off"/>
	    <echoproperties prefix="worker" />
    </target>
</project>    

Test Result

[echoproperties] #Ant properties
[echoproperties] #Sun Dec 10 20:40:21 CET 2006
[echoproperties] worker.node01.lbmult=1
[echoproperties] worker.loadbalancer.lock=Optimistic
[echoproperties] worker.node02.transferred=0
[echoproperties] worker.loadbalancer.sticky_session=false
[echoproperties] worker.node01.distance=0
[echoproperties] worker.node01.client_errors=0
[echoproperties] worker.node02.lbmult=1
[echoproperties] worker.node01.port=7309
[echoproperties] worker.node01.elected=0
[echoproperties] worker.loadbalancer.good=2
[echoproperties] worker.loadbalancer.method=Sessions
[echoproperties] worker.server.port=2090
[echoproperties] worker.loadbalancer.map.2.type=Wildchar
[echoproperties] worker.node02.route=node02
[echoproperties] worker.node01.route=node01
[echoproperties] worker.node01.lbvalue=0
[echoproperties] worker.node01.lbfactor=1
[echoproperties] worker.node01.max_busy=0
[echoproperties] worker.node01.busy=0
[echoproperties] worker.node01.redirect=
[echoproperties] worker.node02.distance=0
[echoproperties] worker.loadbalancer.name=loadbalancer
[echoproperties] worker.loadbalancer.sticky_session_force=false
[echoproperties] worker.node02.state=N/A
[echoproperties] worker.node01.state=N/A
[echoproperties] worker.node01.transferred=0
[echoproperties] worker.loadbalancer.map.length=2
[echoproperties] worker.node01.type=ajp13
[echoproperties] worker.node01.address=127.0.0.1\:7309
[echoproperties] worker.result.type=OK
[echoproperties] worker.loadbalancer.member_count=2
[echoproperties] worker.loadbalancer.map_count=2
[echoproperties] worker.loadbalancer.mtime_to_maintenance_min=12
[echoproperties] worker.loadbalancer.mtime_to_maintenance_max=75
[echoproperties] worker.node02.lbfactor=1
[echoproperties] worker.node02.max_busy=0
[echoproperties] worker.jk_version=mod_jk/1.2.21-dev
[echoproperties] worker.loadbalancer.bad=0
[echoproperties] worker.node02.redirect=
[echoproperties] worker.node01.host=localhost
[echoproperties] worker.node02.activation=ACT
[echoproperties] worker.loadbalancer.map.1.source=JkMount
[echoproperties] worker.loadbalancer.retries=2
[echoproperties] worker.node02.elected=0
[echoproperties] worker.loadbalancer.map.2.source=JkMount
[echoproperties] worker.node02.port=7409
[echoproperties] worker.loadbalancer.length=2
[echoproperties] worker.node02.lbvalue=0
[echoproperties] worker.loadbalancer.degraded=0
[echoproperties] worker.loadbalancer.map.1.type=Wildchar
[echoproperties] worker.loadbalancer.map.2.uri=/myapps*
[echoproperties] worker.node02.client_errors=0
[echoproperties] worker.length=1
[echoproperties] worker.node01.domain=d20
[echoproperties] worker.loadbalancer.recover_time=60
[echoproperties] worker.server.name=localhost
[echoproperties] worker.node02.domain=
[echoproperties] worker.result.message=Action finished
[echoproperties] worker.node02.busy=0
[echoproperties] worker.node01.readed=0
[echoproperties] worker.node01.errors=0
[echoproperties] worker.node02.address=127.0.0.1\:7409
[echoproperties] worker.node02.readed=0
[echoproperties] worker.loadbalancer.busy=0
[echoproperties] worker.web_server=Apache/2.0.59 (Unix) mod_jk/1.2.21-dev
[echoproperties] worker.node02.errors=0
[echoproperties] worker.node02.type=ajp13
[echoproperties] worker.loadbalancer.map.1.uri=/ClusterTest*
[echoproperties] worker.node01.activation=ACT
[echoproperties] worker.loadbalancer.max_busy=0
[echoproperties] worker.loadbalancer.type=lb
[echoproperties] worker.node02.host=localhost

Update Load Balancer

     <target name="updatelb" >       
 	    <jk:updateloadbalancer url="${jkstatus.url}" 
	                username="${jkstatus.username}"
	                password="${jkstatus.password}"
	                loadbalancer="loadbalancer"
	                method="Busyness"
	                retries="2"
	                recoverWaitTime="60"
	                lock="Optimistic"
	                forceStickySession="false"
	                stickySession="false"/>
     </target>

Update Worker

     <target name="updatew" >       
 	    <jk:updateworker url="${jkstatus.url}" 
	                username="${jkstatus.username}"
	                password="${jkstatus.password}"
	                loadbalancer="loadbalancer"
	      	        worker="node01"
	                lbfactor="2"
	                activation="Active"
	                redirect=""
	                domain=""
	                route="node01"
	                distance="0"/>
     </target>

Reset Worker

     <target name="reset" >       
 	    <jk:reset url="${jkstatus.url}" 
	                username="${jkstatus.username}"
	                password="${jkstatus.password}"
	                loadbalancer="loadbalancer"
	      	        worker="node01"
	                />
     </target>


Copyright © 1999-2018, Apache Software Foundation