tree 86e93ddad734b12e5d7a2f031bb847ecd30578f5
parent c43f39c254a5552e14dbb4ac587d6ba8b8a2e4a8
author Thomas Draebing <thomas.draebing@sap.com> 1554989385 +0200
committer Thomas Draebing <thomas.draebing@sap.com> 1556010477 +0200

Apply changes to file-based websession cache from HA-plugin

The HA-plugin contains a modified version of the websession-flatfile
plugin. The version used in the HA-plugin was updated since it was
forked, but those changes were not applied to the websession-flatfile
plugin itself.

This change applies some minor changes made to the corresponding code
in the HA-plugin to the websession-flatfile plugin. This includes:

- Variable renaming
  - `dir` -> `websessionsDir`
  - `flatFileWebSessionCache` -> `cache`
  - `cleanupInterval` -> `cleanupIntervalMillis`
- Removing `final` from parameters in `FlatFileWebSession`
- Using `SECONDS.toMillis(1)` inline as initial delay for cleanup tasks
  instead of a class field (`INITIAL_DELAY_MS = 1000`)
- Using `path.toFile().exists()` instead of `Files.exists(path)`.

While minor changes, they bring the code closer to what is used in the
HA-plugin, making it easier to port future changes.

Change-Id: I38da3e9fc7dc2dcbada82b63d51acd595f7b93a8
