2012-02-13 3 views
0

현재 EBJ 3에서 작업하고 큰 비즈니스 작업을 수행해야하는 빈을 만들어야합니다.이 컨테이너는 데이터를 DB에 저장하고 일부 JMS 메시지를 보내고 다른 일부 데이터를 LDAP에 유지합니다 . 이 작업을 ACID로 만들어야하므로 DB에 데이터를 지속 시키거나 JMS에 메시지를 보내는 것에 대한 문제는 없습니다 (이 모든 작업은 트랜잭션 전파를 지원합니다). 하지만 현재는 LDAP에 데이터를 보존하려고합니다. 내 문제를 해결할 수있는 기법이 있습니까? 우리는 UnboundId LDAP SDK, supports LDAP transactins을 사용 합니다만,이 트랜잭션을 Bean으로 전파 할 수 없다고 가정합니다. 그래서,이 경우 가장 좋은 해결책은 무엇입니까? JTA 또는 JTS 코드를 작성해야합니까? 아니면 간단한 해결책이 있습니까? 또는이 문제를 해결할 수도 있습니다 - LDAP 트랜잭션에서 2PC 능력이 필요할 수 있습니까?EJB 3 트랜잭션 전파 및 UnboundId LDAP SDK

답변

1

RFC 5805에 설명 된 표준 LDAP 트랜잭션 기능은 트랜잭션의 일부로 외부 이벤트를 통합 할 수있는 방법을 제공하지 않습니다 (또한 LDAP 트랜잭션을 지원하는 디렉토리 서버도 많지 않습니다. UnboundID Directory Server는 물론 UnboundID LDAP SDK의 일부로 제공되는 메모리 내장 서버를 지원하지만 다른 기능은 인식하지 못합니다.

LDAP 디렉토리 서버와 하나 이상의 다른 유형의 저장소를 원 자성 방식으로 커밋 할 수있는 기능이 필요한 경우이를 수용 할 수있는 표준 LDAP 솔루션이 없기 때문에 독점 솔루션이 필요하며 LDAP 서버 내에서 실행될 자체 코드를 작성해야 할 수도 있습니다.

+0

답장을 보내 주셔서 감사합니다. 나는 거의 불가능하다고 생각했다. (해킹 방법 제외) ... 미안하지만, 당신의 평판을 높이 지 못한다. :) – gkuzmin