2012-02-11 2 views
1

문제의 데이터베이스에 여러 레코드를 RemoteObject는 : 클라이언트가 어떤 정보를 저장하는 RemoteObject는 요청을 예를하게이 ... 호출은 다음과 같습니다 아래의 문제는 두 개의 서로 다른 경우 ..플렉스는 같은 정보

사례 1에서 발생 Java SAVE_INFO 메소드로 작성되었습니다. 요청이 실패하면 다시 FaultHandler로 돌아옵니다 (우리는 정보를 arrayCollection에 저장합니다). 나중에 arrayCollection의 각 항목에 대해 SAVE_INFO를 다시 호출합니다 (arrayCollection에 10 개의 항목이있는 경우). 동일한 메서드를 10 번 호출합니다. 그 방법은 어리석은 것으로 알고 있지만 오버로드 메서드를 작성하기 위해 Java를 제어 할 수는 없습니다. 우리는 DB에 동일한 정보를 여러 레코드가 있음을 때때로 봅니다. 나는 arraycollection을 반복 할 때 호출이 일어나거나 일반적인 한 번 호출하는 동안이 일이 발생하는지 확신 할 수 없다. 재현 할 패턴을 찾을 수 없었습니다. Java 로그 수준이 프로덕션 환경의 오류 수준입니다. 모든 호출을 모니터링하기 위해 프로덕션에서 INFO로 설정할 수 없습니다. 이 여러 번 저장된 레코드가 arrayCollection 또는 정상적인 레코드인지 여부는 알 수 없습니다.

Flex3의 RemoteObject는이 -> 6.1, LCD는 3.0 WAS, Java1.5 -> Webservice를 -> 자바 (최대 절전 모드) -> 오라클 10g

Case2 : 응용 프로그램이 남아 열고 사용자 잎 다음날 아침 정보를 제출하면 해당 정보를 DB에 중복 기록합니다. (여기에는 arrayCollection이 없습니다. 간단한 직선 호출)

Flex3 RemoteObject -> OC4J Blazeds Java1.5 (JDBC) -> Oracle 10g.

최근에 테스터의 테스트 케이스 2 애플리케이션 중 하나가이 패턴을 발견했으며 케이스 1에있을 수도 있다고 생각하기 시작했습니다. 사용자가 점심 식사를 위해 떠날 수도 있고 다시 돌아와서 arrayCollection을 다시 제출할 수도 있습니다. 점심 시간 동안 자바는 클라이언트에 대한 세션을 죽였을 수도 있고 동시에 10을 다시 제출 한 후 .. 자바가 10 개의 중복 세션을 만들었을 수도 있습니다 ... 다시 내가 완전히 틀릴 수도 있습니다.

flex remoteObject amf 일괄 처리 호출이 오류를 일으키고 있는지 또는 Java 세션 복제가 오류를 일으키고 있는지 또는 oracle이 수행하고 있는지 여부를 알 수 없습니다. 나는 그 문제가 어디에있을 수 있는지 전혀 모른다.

도와주세요 ???

답변

0

나는 연결이 죽었다고 가정 할 때 정확하다고 생각하지만, 중복이있는 콜렉션이 원인 일 수도 있고 아닐 수도 있습니다. 빠른 테스트는 arrayCollection 코드를 다시 작성하여 중복을 허용하지 않고 해당 오류를 수정하는지 확인하는 것입니다.

이상하게도이 문제는 동일한 클라이언트의 여러 세션에서 문제가 될 수 있습니다.이 경우 여러 클라이언트가 서비스에 연결됩니다. 이는 일반적으로 원격 호스트가 세션 쿠키를 비활성화하기 때문입니다. Blaze에서 클라이언트 연결을 올바르게 관리하려면 세션 쿠키를 사용하도록 설정해야합니다.

이 경우 클라이언트에서 작성한 동시 연결 수를 제한하는 코드를 작성해야합니다. 예를 들어, JSP 페이지에서이를 수행 할 수 있습니다. 이를 테스트하려면 연결 개수가있는 테이블에 여분의 필드를 저장하는 코드를 작성하면됩니다. 그렇게하면 같은 세션에서 중복 데이터가 있는지 확인할 수 있습니다.

희망이 도움이됩니다.