# Class TLSCertificateReloadListener

java.lang.Object
org.apache.catalina.security.TLSCertificateReloadListener

All Implemented Interfaces:
  `LifecycleListener`

public class TLSCertificateReloadListener extends Object implements LifecycleListener
A `LifecycleListener` that may be used to monitor the expiration dates of TLS certificates and trigger automatic reloading of the TLS configuration a set number of days before the TLS certificate expires.

This listener assumes there is some other process (certbot, cloud infrastructure, etc) that renews the certificate on a regular basis and replaces the current certificate with the new one.

This listener does NOT re-read the Tomcat configuration from server.xml. If you make changes to server.xml you must restart the Tomcat process to pick up those changes.

## Constructor Summary

Constructors
Constructor
Description
`TLSCertificateReloadListener()`
Constructs a new TLSCertificateReloadListener.

## Method Summary

Modifier and Type
Method
Description
`int`
`getCheckPeriod()`
Get the time, in seconds, between reloading checks.
`int`
`getDaysBefore()`
Get the number of days before the expiry of a TLS certificate that it is expected that the new certificate will be in place and the reloading can be triggered.
`void`
`lifecycleEvent(LifecycleEvent event)`
Acknowledge the occurrence of the specified event.
`void`
`setCheckPeriod(int checkPeriod)`
Set the time, in seconds, between reloading checks.
`void`
`setDaysBefore(int daysBefore)`
Set the number of days before the expiry of a TLS certificate that it is expected that the new certificate will be in place and the reloading can be triggered.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### TLSCertificateReloadListener

public TLSCertificateReloadListener()
Constructs a new TLSCertificateReloadListener.

## Method Details

### getCheckPeriod

public int getCheckPeriod()
Get the time, in seconds, between reloading checks.

The periodic process for `LifecycleListener` typically runs much more frequently than this listener requires. This attribute controls the period between checks.

If not specified, a default of 86,400 seconds (24 hours) is used.

Returns:
  The time, in seconds, between reloading checks

### setCheckPeriod

public void setCheckPeriod(int checkPeriod)
Set the time, in seconds, between reloading checks.

Parameters:
  `checkPeriod` - The new time, in seconds, between reloading checks

### getDaysBefore

public int getDaysBefore()
Get the number of days before the expiry of a TLS certificate that it is expected that the new certificate will be in place and the reloading can be triggered.

If not specified, a default of 14 days is used.

Returns:
  The number of days before the expiry of a TLS certificate that the reloading will be triggered

### setDaysBefore

public void setDaysBefore(int daysBefore)
Set the number of days before the expiry of a TLS certificate that it is expected that the new certificate will be in place and the reloading can be triggered.

Parameters:
  `daysBefore` - the number of days before the expiry of the current certificate that reloading will be triggered

### lifecycleEvent

public void lifecycleEvent(LifecycleEvent event)
Description copied from interface: `LifecycleListener`
Acknowledge the occurrence of the specified event.

Specified by:
  `lifecycleEvent` in interface `LifecycleListener`
Parameters:
  `event` - LifecycleEvent that has occurred