Use spring SmartLifeCycle instead of ServletContextListener