2010-11-30 5 views
1

Spring/Hibernate 애플리케이션에서. 사용자는 은행 계좌에 동일한 데이터가있는 요청 이상을 보낼 수 있습니다. 다음과 같은 경우입니다. 첫 번째 요청이 먼저 처리되고 은행에서 처리하고 OK를 반환하고 로컬 계정 데이터 상태를 설정합니다. 두 번째 요청은 두 번째로 처리되고 은행에서 처리하고 NOK를 반환하며 로컬 계정 데이터 상태를 NOK로 설정합니다.원격 웹 서비스로 Hibernate 동시성 관리하기

Google의 현지 계정 데이터 상태는 양호한 편이지만 NOK입니다. 이 문제에 대한 제안.

+0

귀하의 질문은 다소 불명확합니다. "동일한 데이터를 가진"것은 무엇을 의미합니까? 동일한 트랜잭션이 두 번 이상 전송 될 수 있지만 한 번만 처리해야 함을 의미합니다. 요청이 거부되면 계정이 "도움이되었다"고 생각하는 이유는 무엇입니까? –

+0

그 예입니다. 둘 다 받아 들일 수 있습니다. 원격 웹 서비스가 구매 작업 후 현재 잔액을 말하는 경우, 제가 기록을 업데이트 할 때 이것이 큰 차이를 만들 것입니다. 마지막 하나만 저장됩니다. –

답변

0

A.받는 웹 서비스가 요청을 대기열에 넣었는지 확인하십시오.

B. 웹 서비스 측에서 한 번에 최대 두 개의 스레드 실행을 수행하십시오. 그러면 상태가 NOK로 설정된 이유에 대한 단서가 제공됩니다.

+0

웹 서비스 쪽을 제어하지 않습니다 –

+0

스레드가 고장났습니다. 모든 호출이 FIFO 기반이어야하는 것처럼 보입니다. – Bitmap

+0

어떻게 그럴 수 있습니까? –

관련 문제