2014-09-01 2 views
2

두 개의 독립적 인 시스템을 통합 할 상황이 있습니다. 하나는 J2EE, EJB 및 기타 Spring 기반입니다. 이제 문제는 시스템이 서로의 메소드를 호출 할 수 있고 트랜잭션을 관리하려고하기 때문입니다. 둘 다 서로 다른 (스프링과 EJB)을 사용하기 때문에 두 애플리케이션 트랜잭션 관리자를 조정하는 방법을 잘 모르겠습니다.Spring 및 J2EE (EJB) CMT를 사용하여 분산 트랜잭션을 관리하는 방법

누구나 어떻게 할 수 있습니까?

답변

1

먼저 두 응용 프로그램 모두 DataSource 수준 (메시지 대기열, JCA 어댑터 또는 응용 프로그램에서 사용하는 모든 리소스와 같은 다른 리소스)에서 확장 트랜잭션 (XA 트랜잭션)을 사용해야합니다.

메소드 호출은 트랜잭션 경계를 처리하기 위해 WS-AtomicTransaction을 사용하는 원격 EJB 호출 또는 웹 서비스를 통해 수행되어야합니다. 원격 EJB를 추가하기 위해 아키텍처를 변경하지 않으려면 XA 트랜잭션을 사용하는 WS-AT에서 웹 서비스를 사용하는 것이 가장 좋습니다.

+0

이것은 웹 서비스를 사용하여 스프링 기반 application.But에서 WS-AT에 대한 지원을 추가하는 방법을 잘 모르겠다. Restlet을 사용하기 때문이다. –

+0

Restlet 라이브러리에서 작동하지 않았지만 볼 수있는 한 글로벌 트랜잭션 코디네이터에 플러그인 할 수있는 지원이 없지만 다시 잘못된 것일 수 있습니다 ... –

관련 문제