/*
* 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
*
* 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 jakarta.servlet;
/**
* Defines an exception that a servlet or filter throws to indicate that it is permanently or temporarily unavailable .
* < p >
* When a servlet or filter is permanently unavailable , something is wrong with it , and it cannot handle requests until
* some action is taken . For example , a servlet might be configured incorrectly , or a filter ' s state may be corrupted .
* The component should log both the error and the corrective action that is needed .
* < p >
* A servlet or filter is temporarily unavailable if it cannot handle requests momentarily due to some system - wide
* problem . For example , a third - tier server might not be accessible , or there may be insufficient memory or disk
* storage to handle requests . A system administrator may need to take corrective action .
* < p >
* Servlet containers can safely treat both types of unavailable exceptions in the same way . However , treating temporary
* unavailability effectively makes the servlet container more robust . Specifically , the servlet container might block
* requests to the servlet or filter for a period of time suggested by the exception , rather than rejecting them until
* the servlet container restarts .
*/
public class UnavailableException extends ServletException {
private static final long serialVersionUID = 1 L;
/**
* Is the issue permanent - i . e . is administrator action required ?
*/
private final boolean permanent;
/**
* The estimate of how long the Servlet will be unavailable .
*/
private final int seconds;
/**
* Constructs a new exception with a descriptive message indicating that the servlet is permanently unavailable .
*
* @ param msg a < code > String < / code > specifying the descriptive message
*/
public UnavailableException(String msg) {
super (msg);
seconds = 0 ;
permanent = true ;
}
/**
* Constructs a new exception with a descriptive message indicating that the servlet is temporarily unavailable and
* giving an estimate of how long it will be unavailable .
* < p >
* In some cases , the servlet cannot make an estimate . For example , the servlet might know that a server it needs is
* not running , but not be able to report how long it will take to be restored to functionality . This can be
* indicated with a negative or zero value for the < code > seconds < / code > argument .
*
* @ param msg a < code > String < / code > specifying the descriptive message , which can be written to a log file or
* displayed for the user .
* @ param seconds an integer specifying the number of seconds the servlet expects to be unavailable ; if zero or
* negative , indicates that the servlet can ' t make an estimate
*/
public UnavailableException(String msg, int seconds) {
super (msg);
if (seconds <= 0 ) {
this .seconds = -1 ;
} else {
this .seconds = seconds;
}
permanent = false ;
}
/**
* Returns a < code > boolean < / code > indicating whether the servlet is permanently unavailable . If so , something is
* wrong with the servlet , and the system administrator must take some corrective action .
*
* @ return < code > true < / code > if the servlet is permanently unavailable ; < code > false < / code > if the servlet is
* available or temporarily unavailable
*/
public boolean isPermanent() {
return permanent;
}
/**
* Returns the number of seconds the servlet expects to be temporarily unavailable .
* < p >
* If this method returns a negative number , the servlet is permanently unavailable or cannot provide an estimate of
* how long it will be unavailable . No effort is made to correct for the time elapsed since the exception was first
* reported .
*
* @ return an integer specifying the number of seconds the servlet will be temporarily unavailable , or a negative
* number if the servlet is permanently unavailable or cannot make an estimate
*/
public int getUnavailableSeconds() {
return permanent ? -1 : seconds;
}
}
Messung V0.5 in Prozent C=93 H=100 G=96
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet am 2026-09-27)
¤
*© Formatika GbR, Deutschland