Configuration relies heavily on Spring IoC (see also #6), make it more framework-independent and use Vert.x under the bonnet. Possibly get rid of all the type-safeness as I think in a language like Java it's more trouble than it's worth it. Consider using HTTP config (available in Vert.x) as it may make your life much easier when running on a cluster. Also, worth considering: reload config without restarting the server---currently config is only read once at server startup.
Configuration relies heavily on Spring IoC (see also #6), make it more framework-independent and use Vert.x under the bonnet. Possibly get rid of all the type-safeness as I think in a language like Java it's more trouble than it's worth it. Consider using HTTP config (available in Vert.x) as it may make your life much easier when running on a cluster. Also, worth considering: reload config without restarting the server---currently config is only read once at server startup.