Callable 및 Runnable 태스크
Concurrency Utilities for Java EE에서, Callable 또는 Runnable 태스크는 제출 스레드의 Java EE(Java™ Platform, Enterprise Edition) 컨텍스트와 병렬로 코드를 실행하기 위해 애플리케이션 컴포넌트에 의해 사용됩니다.
태스크는 java.util.concurrent.Callable 인터페이스 또는 java.lang.Runnable 인터페이스를 구현합니다.
작업을 병렬로 실행하기 원하는 컴포넌트는 JNDI(Java Naming and Directory Interface)에서 관리 대상 실행기를 찾은 다음 Callable 및 Runnable 태스크를 매개변수로 사용하여 submit, schedule, invoke 또는 execute 메소드를 호출합니다.
submit 및 schedule 메소드는 Future 또는 ScheduledFuture를 리턴합니다. Future는 컴포넌트에서 현재 실행 중인 태스크에 대한 링크를 제공하는 핸들입니다. Future는 컴포넌트는 일반적으로 태스크의 결과 또는 상태를 확인하거나 하나 이상의 실행 중인 태스크의 완료를 기다리는 데 사용됩니다. invokeAll 메소드에는 컴포넌트가 대기하려고 하는 태스크의 목록이 있습니다. 컴포넌트가 무제한으로 대기하는 것을 방지하기 위한 제한시간이 지정될 수 있습니다.
관리 실행자에 태스크를 제출하여 애플리케이션이 Java EE 환경에 관련되며 애플리케이션 서버로 관리되는 스레드를 사용할 수 있습니다. 또한 이러한 스레드에는 Java EE 컨텍스트(예: java:comp)가 있으며 실행 시 인증됩니다.