Die Verwaltung von threads in Grails-Services

Also ich habe einen service eingerichtet importieren eine große Menge von Daten aus einer Datei, die der Benutzer hochlädt. Ich möchte die Benutzer in der Lage sein, weiter zu arbeiten auf der Website, während die Datei verarbeitet wird. Ich erreichte dies durch die Erstellung eines Threads.

Thread.start {
 //work done here
}

Nun entsteht das problem, dass ich wollen nicht zu haben, mehrere threads gleichzeitig laufen. Hier ist, was ich versucht habe:

class SomeService {

Thread thread = new Thread()

 def serviceMethod() {
   if (!thread?.isAlive()) {
     thread.start {
        //Do work here
     }
   }
 }

}  

Aber das funktioniert nicht. thread.isAlive() immer false zurück. Irgendwelche Ideen auf, wie kann ich dies erreichen?

InformationsquelleAutor James Kleeh | 2013-05-30
Schreibe einen Kommentar