비동기 오랜 시간 작업을 시작하기 위해 java 메시지 서비스가있는 MDB에서 ejb 비동기 메서드를 선택해야하는시기는 언제입니까?Mdb 대 EJB 3.1 비동기 메서드
6
A
답변
1
@MessageDriven
(MDBs)는 JMS API의 일부입니다. JMS는 실패한 메시지 소비, 트랜잭션 지원을 재 시도 할 때 모든 종류의 추가 기능을 제공하며 메시지 대기열을 제어 할 수도 있습니다.
@Asynchronous
annotation이 java-ee-6 (ejb 3.1)까지 도입되지 않았습니다. 유스 케이스를 가정하는 것은 자바 EE-6 용기에 간단한 비동기 호출 이상, 그 이상 더 필요하면 @Asynchronous를 사용 (arun guptas blog on this)
는 JMS는
6
@Asynchronous
은 옵션이 될 수
입니다 외부 트랜잭션이 여러 작업을 동시에 시작한 다음 모든 작업을 기다려야하는 경우 (또는 백그라운드에서 단일 작업을 시작하고 포 그라운드에서 일부 작업을 수행 한 다음 백그라운드 작업을 기다리는 경우)에만 적합합니다. @Asynchronous
은 트랜잭션 "fire and forget"에 적합하지 않습니다. 왜냐하면 비동기 작업이 실행되기 전에 컨테이너가 충돌 할 수 있기 때문입니다 (제 생각에는 EJB 비동기 메소드가 메모리 캐시를 업데이트하는 것과 같이 매우 유용하지는 않습니다). 작업이 완료 될 때까지 기다리지 않고 작업이 비동기식으로 수행되도록하려면 MDB에 메시지를 보내거나 EJB 타이머를 예약해야합니다.
관련 문제
- 1. EJB 2.1 대 EJB 3.1
- 2. DEADLOCK, EJB 3.1 (비동기 메서드 및 TimerService 포함)
- 3. EJB 3.1 @Asynchronous really slow
- 4. EJB 3.1 JSR 정의는 EJB 3.1 JSR에서
- 5. Spring + EJB 3.1 CMT 대 BMT 트랜잭션
- 6. EJB 3.1 컨테이너 관리 동시성 대 동기화
- 7. POJO에 EJB 3.1 @EJB 주입
- 8. EJB/MDB 응용 프로그램의 DI
- 9. EJB/MDB 내부의 멀티 스레딩
- 10. EJB 3.1 인터셉터는 "차단기"입니까?
- 11. EJB 3.1 트랜잭션, EntityManager
- 12. EJB 3.1 테스트 방법
- 13. EJB 3.1 + 디자인 패턴
- 14. EJB 3.1 트랜잭션 전파
- 15. EJB 3.1 Session Bean의 Jackrabbit
- 16. JBoss 5.1.0 + EJB 3.1 + JMS
- 17. EJB 3.1. @Local 주석이 필요합니까?
- 18. glassfish의 export-ejb 버그 3.1?
- 19. EJB 3.1 응용 프로그램 디자인
- 20. EJB 3.1 TransactionAttributeType.REQUIRES_NEW 및 setRollbackOnly
- 21. EJB 3.1 클러스터의 싱글 톤
- 22. 페이지 메서드 성능 대 비동기 http 처리기
- 23. Ant 스크립트가있는 Weblogic의 EJB 3.0 MDB 예제
- 24. EJB 및 비동기 처리
- 25. 비동기 EJB 스케줄링
- 26. 비동기 EJB 방법 및
- 27. EJB 원격 메서드 액세스
- 28. java.util.Timer 대 EJB TimerBean
- 29. EJB 3.1 응용 프로그램을 WAR 전용으로 배포 : ejb-jar.xml은 어떻습니까?
- 30. EJB 3.1 임베디드 API - 유닛 테스트 EJB + JPA 엔티티
컨테이너가 어떻게 "충돌"할 수 있습니까? – Dherik
JVM 프로세스가 종료되고 시스템이 갑작스럽게 전원을 잃습니다. –