2014-10-10 2 views
0

J2EE 사양에서는 사용자 정의 스레드를 생성하거나 응용 프로그램 논리로 생성하는 것을 권장하지 않습니다. 내가 이해 한 이유는 리소스 경합, 동기화 문제 및 메모리 누수를 피하는 것입니다.J2EE 애플리케이션에서 WorkManagr API를 사용할 수 있습니까?

그러나 ManagedExecutorService 또는 WorkManager API 구현을 사용하는 것이 좋습니다. 이 두 가지 구현은 모두 스레드에서 스레드를 생성합니다.

그런 다음이 API를 사용하고 스레드를 직접 사용하지 않는 것이 어떻게 적절합니까?

+0

현재 J2EE 사양입니까? https://jcp.org/ko/jsr/detail?id=237 –

+0

@AlexCornford JSR 237 홈 페이지의 시작 부분을 읽으면 JSR 236과 함께 병합되어 병합되었음을 알 수 있습니다. – Lolo

답변

0

먼저 WorkManager API는 JCA resource adapters에서만 사용할 수 있습니다. 따라서 대부분 ManagedExecutorService를 다루 겠지만, 대부분 내가 말하는 것은 WorkManager에도 적용됩니다.

ManagedExecutorService/WorkManager를 사용하고 자신의 스레드를 만드는 것의 차이점은 응용 프로그램 서버 이 기본 스레드 인을 관리한다는 것입니다. 즉, ManagedExecutorService 또는 명시 적으로 ManagedThreadFactory의 비동기 태스크 제출의 경우이 API와 함께 사용하는 스레드 (일반적으로 javax.enterprise.concurrent.* 클래스)는 응용 프로그램 서버에서 제공하는 서비스와의 일관성을 보장합니다. , 특히 트랜잭션 관리, 보안, 리소스 관리 등.

+0

Jboss4에 배포 된 내 응용 프로그램에서 ManagedExecutorService/ExecutorService를 어떻게 사용합니까? 나는 그들을 컨테이너에 등록하는 방법을 의미합니까? –

관련 문제