2012-04-24 21 views
8

Alguien me dijeron que no se debe iniciar sus propios hilos de una aplicación web se ejecuta en Tomcat (o cualquier otro recipiente, es de suponer)hilos de inicio bajo Tomcat

Runnable myRunnable = new Runnable() { 
    public void run() { 
    System.out.println("I'm running"); 
    } 
} 

new Thread(myRunnable).start(); 

O parecida:

ScheduledThreadPoolExecutor retrySchedulerService = new ScheduledThreadPoolExecutor(3); 
retrySchedulerService.schedule(dlrRetryTask, 120, TimeUnit.SECONDS); 

En lugar de cualquiera de los anteriores, se supone que debes solicitar un hilo de algún conjunto de hilos que Tomcat conoce. ¿Hay algo de cierto en esto, o es completo poppycock?

Respuesta

8

Siéntase libre de iniciar sus propios hilos, pero recuerde detenerlos cuando se detenga la aplicación. Tomcat tiene su propio conjunto de temas, que se utiliza para gestionar solicitudes entrantes. No creo que sea una buena idea usarlo, incluso si logra acceder a él.

En general, no es una buena práctica iniciar subprocesos en un entorno Java EE, pero nada malo al iniciar subprocesos en un contenedor de servlet como Tomcat.

Cuestiones relacionadas