2012-04-24 17 views
8

Qualcuno mi ha detto che non si dovrebbe iniziare la propria connessione da una webapp in esecuzione sotto Tomcat (o qualsiasi altro contenitore, presumibilmente)le discussioni che iniziano sotto Tomcat

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

new Thread(myRunnable).start(); 

O simile:

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

Invece di uno dei due precedenti, dovresti richiedere un thread da un pool di thread che Tomcat conosce. C'è qualche verità in questo, o è poppycock totale?

risposta

8

Sentiti libero di iniziare i tuoi thread, ma ricorda di fermarli quando l'applicazione si interrompe. Tomcat ha il proprio pool di gioco, che viene utilizzato per gestire le richieste in arrivo. Non penso che sia una buona idea usarlo, anche se riesci ad accedervi.

Generalmente, non è una buona pratica avviare i thread in un ambiente Java EE, ma niente di male nell'iniziare i thread in un contenitore di servlet come Tomcat.

Problemi correlati