Tâches appelables et exécutables
Dans Concurrency Utilities for Java EE, une tâche appelable ou exécutable est utilisée par des composants d'application pour exécuter du code en parallèle du contexte Java™ Platform, Enterprise Edition (Java EE) de l'unité d'exécution de soumission.
Une tâche implémente l'interface java.util.concurrent.Callable ou java.lang.Runnable.
Un composant qui doit s'exécuter en parallèle localise un programme d'exécution géré dans l'interface JNDI (Java Naming and Directory Interface), puis appelle une méthode submit, schedule, invoke ou exécute en utilisant la tâche appelable ou exécutable comme paramètre.
Les méthodes submit et schedule renvoient un élément Future ou ScheduledFuture. Future est un descripteur qui établit un lien entre le composant et la tâche en cours d'exécution. L'élément Future est généralement employé lorsque le composant doit obtenir les résultats ou le statut d'une tâche ou attendre la fin de l'exécution d'une ou de plusieurs de ses tâches. La méthode invokeAll prend une liste de tâches pour lesquelles le composant est en attente. Un délai d'attente peut être indiqué afin d'éviter au composant d'attendre indéfiniment.
En soumettant des tâches à un programme d'exécution géré, l'application peut utiliser des unités d'exécution qui sont affiliées à l'environnement Java EE et gérées par le serveur d'applications. De plus, ces unités d'exécution disposent d'un contexte Java EE (par exemple, un java:comp) et sont authentifiées lorsqu'elles sont déclenchées.