| Modifier and Type | Field and Description |
|---|---|
private long |
dateDelta
Time zone difference between local machine and rundeck server to correctly detect late execution.
|
private Set<Long> |
knownFailedExecutionIds
Set for all known failed execution identifiers.
|
private Set<Long> |
knownLateExecutionIds
Set for all known late execution identifiers.
|
private static org.slf4j.ext.XLogger |
LOG
SLF4J XLogger.
|
private static long |
ONE_SECOND
One second in mille-seconds.
|
private RundeckClient |
rundeckClient
Rundeck client API used to interact with rundeck rest API.
|
private RundeckMonitorConfiguration |
rundeckMonitorConfiguration
Configuration of the rundeck monitor with default values if some properties are missing or are empty.
|
private RundeckMonitorState |
rundeckMonitorState
Current state (failed job/long process/disconnected) of the rundeck monitor.
|
private RundeckMonitorTrayIcon |
rundeckMonitorTrayIcon
Tray icon and his menu for updating jobs and state displayed.
|
private VersionChecker |
versionChecker
Version checker instance.
|
| Constructor and Description |
|---|
RundeckMonitor(RundeckMonitorConfiguration rundeckMonitorConfigurationArg,
VersionChecker versionCheckerArg)
Initialize the rundeck monitor, load configuration and try to connect to the configured rundeck.
|
| Modifier and Type | Method and Description |
|---|---|
private boolean |
checkNewConfiguration(Date lastConfigurationUpdateDate)
Check if the configuration file has been modified and reload it if needed.
|
private static boolean |
handleStartupException(Exception exception,
boolean initialization)
Rundeck launcher exception handler, display an error message based on the argument exception.
|
private void |
initRundeckClient()
Check the configuration and initialize a new rundeck client.
|
static void |
main(String[] args)
RundeckMonitor main method.
|
void |
reloadConfiguration()
Reload the configuration file and update the RunDeck Moinitor with new datas.
|
void |
run()
RundeckMonitor background process method executing the main loop.
|
private void |
updateRundeckHistory(boolean init)
Call Rundeck rest API and update the monitor state and displayed jobs if there are new failed/late jobs.
|
private static final org.slf4j.ext.XLogger LOG
private static final long ONE_SECOND
private final VersionChecker versionChecker
private final RundeckMonitorConfiguration rundeckMonitorConfiguration
private long dateDelta
private RundeckClient rundeckClient
private final RundeckMonitorTrayIcon rundeckMonitorTrayIcon
private final RundeckMonitorState rundeckMonitorState
private final Set<Long> knownLateExecutionIds
public RundeckMonitor(RundeckMonitorConfiguration rundeckMonitorConfigurationArg, VersionChecker versionCheckerArg) throws IOException, MissingPropertyException, InvalidPropertyException, UnknownProjectException, InvalidRundeckVersion
rundeckMonitorConfigurationArg - rundeck monitor loaded configurationversionCheckerArg - optionaly launched automatic version checkerIOException - in case of loading configuration errorInvalidPropertyException - in case of loading configuration property errorMissingPropertyException - in case of loading configuration property errorUnknownProjectException - in case of unknown RunDeck projectInvalidRundeckVersion - if the Rundeck version is not supportedpublic void reloadConfiguration()
throws IOException,
MissingPropertyException,
InvalidPropertyException,
UnknownProjectException,
InvalidRundeckVersion
IOException - in case of loading configuration errorMissingPropertyException - in case of loading configuration property errorInvalidPropertyException - in case of loading configuration property errorUnknownProjectException - in case of unknown RunDeck projectInvalidRundeckVersion - if the Rundeck version is not supportedprivate void initRundeckClient()
throws MissingPropertyException,
InvalidPropertyException,
UnknownProjectException,
InvalidRundeckVersion
MissingPropertyException - when check configurationInvalidPropertyException - when check configurationUnknownProjectException - if the configured project is unknownInvalidRundeckVersion - if the Rundeck version is not supportedprivate boolean checkNewConfiguration(Date lastConfigurationUpdateDate)
lastConfigurationUpdateDate - last configuration update datepublic void run()
private void updateRundeckHistory(boolean init)
init - boolean to indicate if it's the first call to this method for the monitor initializationprivate static boolean handleStartupException(Exception exception, boolean initialization)
exception - exception to analyzeinitialization - indicate if the tray icon is not loaded yetpublic static void main(String[] args)
args - program arguments: none is expected and usedCopyright © 2013–2015. All rights reserved.