2009-05-19 5 views
8

Ist es möglich, Java FutureTask mit einem Spring TaskExecutor zu verwenden, um ein Future Objekt zu erhalten?Können Sie Future/Futuretask-Objekte mit Spring TaskExecutors verwenden?

Ich suche nach einem TaskExecutor, der die Java ExecutorService Schnittstelle implementiert, insbesondere die Methode submit(). Ein Blick durch die Spring Javadocs zeigt keine Klassen wie diese. Gibt es eine alternative Methode zur Behandlung von Futures durch Spring TaskExecutors, von denen ich nichts weiß?

Wenn es möglich ist, könnten Sie auch ein Beispiel hinzufügen?

Antwort

4

Spring 3 hat Submit-Methoden mit Unterstützung für Future-Objekte zu AsyncTaskExecutor hinzugefügt. Bis dahin, wenn Sie Zugriff auf Future-Objekte haben wollen, müssen Sie den zugrunde liegenden JDK-Executor (z. B. mit getThreadPoolExecutor) abrufen und Aufgaben direkt darauf übertragen.

+0

Danke Mark. Irgendwelche Vorbehalte bei der Verwendung von getThreadPoolExecutor? –

+0

Nicht, dass ich weiß, wie die Spring-Klasse einfach ihre Aufrufe an den zugrunde liegenden Executor weitergibt. – Mark

+0

Seltsamerweise haben sie einige Methoden erst im Frühjahr 3.0 veröffentlicht. –