|
What this is
Other links
The source code
/*
* Copyright 1997-2004 The Apache Sofware Foundation.
*
* Licensed 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
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.tomcat.util.depend;
/** How it works:
- A DependManager gets loaded with a number of Dependency
- each Dependency includes a File and a timestamp.
- If any of the Files is changed after timestamp this DependManager
will set "expired" to true
- One check at a time, but without sync
- if a check was done recently ( delay property ) - assume nothing changed
It is also possible to do the checks in background, but for big
servers ( with many contexts) it have scalability problems.
*/
public class DependManager {
static org.apache.commons.logging.Log logger =
org.apache.commons.logging.LogFactory.getLog(DependManager.class);
int delay=4000;
Dependency deps[];
int depsCount=0;
long lastCheck=0;
boolean checking=false;
long checkTime=0;
int checkCount=0;
private boolean expired=false;
static final int INITIAL_DEP_SIZE=32;
public DependManager() {
this( INITIAL_DEP_SIZE );
}
public DependManager(int initial_size) {
deps=new Dependency[initial_size];
}
/** Reset the depend manager - all dependencies are reset too.
This will be called after a reload
*/
public void reset() {
expired=false;
for( int i=0; i
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
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.