Plan/Plan
Risto Lahtela 16e6ef1dc7
[#769, #928] Session save on server shutdown (#927)
* ShutdownHook: No sessions to save check

ShutdownHook now checks if it needs to save any sessions and does not
start the database if no sessions are unsaved.

* SessionCache.getActiveSessions() now immutable

* [#769] Bukkit and Sponge server shutdown save

Implemented following save procedure for Bukkit:
- On plugin disable check if server is shutting down and save sessions
- Shutdown hook triggered on JVM shutdown calls the same session save
- Save clears sessions from cache, so the sessions are not saved twice

Implemented following save procedure for Sponge:
- Listen for GameStoppingServerEvent
- On plugin disable ask listener if shutting down and save sessions
- Shutdown hook triggered on JVM shutdown calls the same session save
- Save clears sessions from cache, so the sessions are not saved twice

Test:
- Tests ShutdownSave on reload
- Tests ShutdownSave on shutdown
- Tests ShutdownSave on JVM shutdown
2019-02-24 12:28:58 +02:00
..
bukkit [#769, #928] Session save on server shutdown (#927) 2019-02-24 12:28:58 +02:00
bungeecord [#769, #928] Session save on server shutdown (#927) 2019-02-24 12:28:58 +02:00
common [#769, #928] Session save on server shutdown (#927) 2019-02-24 12:28:58 +02:00
config/checkstyle +2 rules to checkstyle: 2019-01-03 14:43:33 +02:00
gradle/wrapper Miclebrick Added gradle wrapper (#890) 2019-01-19 09:29:36 +02:00
plugin Set up maven-publish plugin 2019-02-16 14:28:23 +02:00
sponge [#769, #928] Session save on server shutdown (#927) 2019-02-24 12:28:58 +02:00
velocity [#769, #928] Session save on server shutdown (#927) 2019-02-24 12:28:58 +02:00
build.gradle Merge branch 'development' into db-refactoring 2019-02-19 17:45:24 +02:00
checkstyle.xml Revamped Locale #219 2017-08-10 14:55:18 +03:00
Class Diagram.xml Reformatted code 2017-07-26 15:46:20 +02:00
Database.jpg Fixed Database.jpg 2017-10-09 11:11:10 +03:00
Database.xml Revert "Reformat code" 2017-11-19 12:35:19 +02:00
gradlew Miclebrick Added gradle wrapper (#890) 2019-01-19 09:29:36 +02:00
gradlew.bat Miclebrick Added gradle wrapper (#890) 2019-01-19 09:29:36 +02:00
nbactions.xml Reformatted code 2017-07-26 15:46:20 +02:00
PlanEnable.jpg Added PlanEnable.jpg 2017-11-19 16:00:44 +02:00
settings.gradle Add WIP gradle build scripts (#833) by Miclebrick 2018-12-18 21:13:05 +02:00