IBM Websphere 8에서 컨테이너 관리 지속성과 함께 EJB 2.1을 사용하고 있으며 다음과 같은 문제점이 있습니다. 단일 Object finder는 때때로 이 검색 기준에 대해 하나의 요소 만 데이터베이스에 있습니다. 이는 많은 스레드가 동일한 데이터베이스 항목에 액세스하는 동안에 만 발생합니다.websphere에서 EJB 2.1 및 컨테이너 관리 지속성 8 : 단일 오브젝트 찾기에서 2 개의 오브젝트를 리턴했습니다.
우리는 액세스 의도로 wsOptimisticUpdate를 사용하고 있습니다. 트랜잭션 내에서 요소는 먼저 비즈니스 키를 사용하여 검색됩니다 (이 단일 객체 찾기는 때로는 2 개의 요소를 찾아 예외를 throw 함). 많은 스레드가 동일한 비즈니스 키에 대해이 작업을 수행하면이 오류가 발생합니다.
이 예외에 대해 중단 점을 사용하고 데이터베이스에서 커밋되지 않은 읽기로 검사하면 데이터베이스에 요소가 하나만 있음을 알 수 있습니다. 그래서 CMP 구현이 실제로 쓰레드에 안전하지 않은 것처럼 보입니다. 누구든지 전에 그런 문제가 발생 했습니까?
Caused by: javax.ejb.FinderException: Single object finder returned 2 objects.
at
com.ibm.ws.ejbpersistence.beanextensions.ConcreteBeanStatefulInstanceExtensionImpl.executeFind(ConcreteBeanStatefulInstanceExtensionImpl.java:1579)
at