0
사용중인 서버가 GlassFish이지만이 문제는 Weblogic에서도 발생합니다.EJB 데이터 소스 클라이언트 연결 해제 감지
내 클라이언트 컴퓨터가 트랜잭션을 시작하고 서버에서 여러 EJB를 검색 한 다음 완료하는 데 약간의 시간이 걸리는 작업을 시작합니다. 프로세스가 진행되는 동안 클라이언트 시스템이 종료됩니다 (powercut).
클라이언트 컴퓨터에서 연 데이터베이스 쿼리는 절대로 닫히지 않으며 (클라이언트가 종료 되었기 때문에) 교착 상태 및 기타 문제가 발생합니다.
이 죽은 트랜잭션을 감지하고 모든 리소스를 회수 할 수있는 방법이 있습니까?
transaction.begin();
MyBean bean = (MyBean)ctx.lookup("MyBean");
bean.doComplicatedWorkPart1();
bean.writeResultsToTheDatabase();
// Client dies during this method (powercut), so the transaction
// is simply left hanging.
bean.doComplicatedWorkPart2();
bean.writeResultsToTheDatabase();
transaction.commit();
감사합니다.이 상황을 처리하는 것이 어려울 수도 있다고 생각했습니다. 그것은 너무 자주 발생하지는 않지만 그렇게 할 때 귀찮을 수 있습니다. –