jkstatustask.java
来自「精通tomcat书籍原代码,希望大家共同学习」· Java 代码 · 共 499 行 · 第 1/2 页
JAVA
499 行
+ mapping.getContext());
}
}
if (resultproperty != null && mappings.size() > 0) {
getProject().setNewProperty(
resultproperty + ".balancer."
+ balancerIndex + ".map.length",
Integer.toString(mappings.size()));
}
}
}
}
if (!isWorkerOnly && !isLoadbalancerOnly) {
if (resultproperty != null && balancers.size() > 0) {
getProject().setNewProperty(
resultproperty + ".balancer.length",
Integer.toString(balancers.size()));
}
}
} catch (Throwable t) {
error.append(t.getMessage());
if (getErrorProperty() != null) {
getProject().setNewProperty(errorProperty, error.toString());
}
if (isFailOnError()) {
throw new BuildException(t);
} else {
handleErrorOutput(t.getMessage());
return;
}
}
if (error.length() != 0) {
if (getErrorProperty() != null) {
getProject().setNewProperty(errorProperty, error.toString());
}
if (isFailOnError()) {
// exception should be thrown only if failOnError == true
// or error line will be logged twice
throw new BuildException(error.toString());
}
}
}
/**
* @param member
*/
private void echoWorker(JkBalancerMember member) {
if (isEcho()) {
handleOutput("worker name=" + member.getName() + " status="
+ member.getStatus() + " host=" + member.getAddress());
}
}
/**
* @param balancer
*/
private void echoBalancer(JkBalancer balancer) {
if (isEcho()) {
handleOutput("balancer name=" + balancer.getName() + " type="
+ balancer.getType());
}
}
/**
* @param balancer
*/
private void setPropertyBalancerOnly(JkBalancer balancer) {
String prefix = resultproperty + "." + balancer.getName();
getProject().setNewProperty(prefix + ".id",
Integer.toString(balancer.getId()));
getProject().setNewProperty(prefix + ".type", balancer.getType());
getProject().setNewProperty(prefix + ".sticky",
Boolean.toString(balancer.isSticky()));
getProject().setNewProperty(prefix + ".stickyforce",
Boolean.toString(balancer.isStickyforce()));
getProject().setNewProperty(prefix + ".retries",
Integer.toString(balancer.getRetries()));
getProject().setNewProperty(prefix + ".recover",
Integer.toString(balancer.getRecover()));
}
/**
* @param balancer
* @return
*/
private void setPropertyBalancer(JkBalancer balancer,String balancerIndex) {
createProperty(balancer, balancerIndex, "id");
createProperty(balancer, balancerIndex, "name");
createProperty(balancer, balancerIndex, "type");
createProperty(balancer, balancerIndex, "sticky");
createProperty(balancer, balancerIndex, "stickyforce");
createProperty(balancer, balancerIndex, "retries");
createProperty(balancer, balancerIndex, "recover");
}
/**
* @param balancerIndex
* @param member
*/
private void setPropertyWorker(String balancerIndex, JkBalancerMember member) {
String workerIndex = Integer.toString(member.getId());
createProperty(member, balancerIndex, workerIndex, "id");
createProperty(member, balancerIndex, workerIndex, "name");
createProperty(member, balancerIndex, workerIndex, "type");
createProperty(member, balancerIndex, workerIndex, "host");
createProperty(member, balancerIndex, workerIndex, "port");
createProperty(member, balancerIndex, workerIndex, "address");
createProperty(member, balancerIndex, workerIndex, "status");
createProperty(member, balancerIndex, workerIndex, "lbfactor");
createProperty(member, balancerIndex, workerIndex, "lbvalue");
createProperty(member, balancerIndex, workerIndex, "elected");
createProperty(member, balancerIndex, workerIndex, "readed");
createProperty(member, balancerIndex, workerIndex, "busy");
createProperty(member, balancerIndex, workerIndex, "transferred");
createProperty(member, balancerIndex, workerIndex, "errors");
if (member.getDomain() != null)
createProperty(member, balancerIndex, workerIndex, "domain");
else
getProject().setNewProperty(resultproperty + ".balancer." + balancerIndex + ".member." + workerIndex +
".domain", "");
if (member.getRedirect() != null)
createProperty(member, balancerIndex, workerIndex, "redirect");
else
getProject().setNewProperty(resultproperty + ".balancer." + balancerIndex + ".member." + workerIndex +
".redirect", "");
}
/**
* @param balancer
* @param member
*/
private void setPropertyWorkerOnly(JkBalancer balancer,
JkBalancerMember member) {
String prefix = resultproperty + "." + member.getName();
getProject().setNewProperty(prefix + ".lb.id",
Integer.toString(balancer.getId()));
getProject().setNewProperty(prefix + ".lb.name", balancer.getName());
getProject().setNewProperty(prefix + ".id",
Integer.toString(member.getId()));
getProject().setNewProperty(prefix + ".type", member.getType());
getProject().setNewProperty(prefix + ".status", member.getStatus());
getProject().setNewProperty(prefix + ".host", member.getHost());
getProject().setNewProperty(prefix + ".address", member.getAddress());
getProject().setNewProperty(prefix + ".port",
Integer.toString(member.getPort()));
getProject().setNewProperty(prefix + ".lbfactor",
Integer.toString(member.getLbfactor()));
getProject().setNewProperty(prefix + ".lbvalue",
Long.toString(member.getLbvalue()));
getProject().setNewProperty(prefix + ".elected",
Long.toString(member.getElected()));
getProject().setNewProperty(prefix + ".readed",
Long.toString(member.getReaded()));
getProject().setNewProperty(prefix + ".transferred",
Long.toString(member.getTransferred()));
getProject().setNewProperty(prefix + ".busy",
Integer.toString(member.getBusy()));
getProject().setNewProperty(prefix + ".errors",
Long.toString(member.getErrors()));
if (member.getDomain() != null)
getProject().setNewProperty(prefix + ".domain", member.getDomain());
else
getProject().setNewProperty(prefix + ".domain", "");
if (member.getRedirect() != null)
getProject().setNewProperty(prefix + ".redirect",
member.getRedirect());
else
getProject().setNewProperty(prefix + ".redirect", "");
}
/*
* (non-Javadoc)
*
* @see org.apache.catalina.ant.BaseRedirectorHelperTask#setErrorProperty(java.lang.String)
*/
public void setErrorProperty(String arg0) {
errorProperty = arg0;
super.setErrorProperty(arg0);
}
/**
* @return Returns the errorProperty.
*/
public String getErrorProperty() {
return errorProperty;
}
protected void createProperty(Object result, String attribute) {
createProperty(result, null, null, attribute);
}
protected void createProperty(Object result, String arraymark,
String attribute) {
createProperty(result, arraymark, null, attribute);
}
/**
* create result as property with name from attribute resultproperty
*/
protected void createProperty(Object result, String arraymark,
String arraymark2, String attribute) {
if (resultproperty != null) {
Object value = IntrospectionUtils.getProperty(result, attribute);
if (value != null) {
StringBuffer propertyname = new StringBuffer(resultproperty);
if (result instanceof JkServer) {
propertyname.append(".server");
} else if (result instanceof JkBalancer) {
propertyname.append(".balancer");
if (arraymark != null) {
propertyname.append(".");
propertyname.append(arraymark);
}
} else if (result instanceof JkBalancerMember) {
propertyname.append(".balancer");
if (arraymark != null) {
propertyname.append(".");
propertyname.append(arraymark);
}
propertyname.append(".member");
if (arraymark2 != null) {
propertyname.append(".");
propertyname.append(arraymark2);
}
} else if (result instanceof JkBalancerMapping) {
propertyname.append(".balancer");
if (arraymark != null) {
propertyname.append(".");
propertyname.append(arraymark);
}
propertyname.append(".map");
if (arraymark2 != null) {
propertyname.append(".");
propertyname.append(arraymark2);
}
}
propertyname.append(".");
propertyname.append(attribute);
getProject().setNewProperty(propertyname.toString(),
value.toString());
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?