Spring Boot - Beste Methode zum Starten eines Hintergrundthreads bei der Bereitstellung

Ich habe eine Spring Boot-Anwendung in Tomcat 8 implementiert. Wenn die Anwendung gestartet wird, möchte ich einen Arbeitsthread im Hintergrund starten, der Spring Autowires mit einigen Abhängigkeiten ausführt. Zur Zeit habe ich folgendes:

@SpringBootApplication
@EnableAutoConfiguration
@ComponentScan
public class MyServer extends SpringBootServletInitializer {   

    public static void main(String[] args) {
        log.info("Starting application");
        ApplicationContext ctx = SpringApplication.run(MyServer.class, args);
        Thread subscriber = new Thread(ctx.getBean(EventSubscriber.class));
        log.info("Starting Subscriber Thread");
        subscriber.start();
    }

In meiner Docker-Testumgebung funktioniert dies einwandfrei - aber wenn ich dies auf meinem Linux-Host (Debian Jessie, Java 8) in Tomcat 8 bereitstelle, wird nie die Meldung "Starting Subscriber Thread" angezeigt (und der Thread wird nicht gestartet).

Antworten auf die Frage(4)

Ihre Antwort auf die Frage