시나리오 : Tomcat 서버에서 실행되는 Apache Wicket 기반 웹 응용 프로그램.Wicket : 세션 내에서 요청을 동기화하는 방법
사용자가 브라우저에서 URL을 열고 세션이 만들어지고 브라우저에 간단한 기본 페이지가 표시되고 사용자가 버튼을 클릭하면 AJAX 호출이으로 호출됩니다. 응용 프로그램은 요청을 받고 응답을 준비하는 몇 가지 작업을 수행합니다. 같은 시간에 브라우저 또는 브라우저의 JavaScript가 번 AYAX 호출을 호출합니다.이 두 번째 요청은 응용 프로그램의 다른 스레드에서 처리되며 응용 프로그램의 대부분이 세션 특정 적이기 때문에 스레드로부터 안전하지 않습니다 (한 명의 사용자 = 한 세션), 예외는을 던졌습니다.
가능한 해결책 : 모든 응용 프로그램 클래스가 스레드 안전 (매우 비용이 많이 드는)
GUI를 적용
메이크업은 그래서 동시에 AJAX는 하나 개의 세션 (브라우저 GUI의 불가능으로 인해 자연에서 호출이 실행되지) 개찰구 또는 톰캣 레벨 (하지만 방법에 대한 하나 개의 세션에서
동기화 모든 요청?)
다른 연습 또는 기술 ???
감사
언급 한대로 마침내 요청을 처리하는 스레드의 동시 액세스와 이전에 처리 된 다른 요청에서 시작된 다른 스레드가있었습니다. Wicket (I belive)은 실제로 같은 페이지의 요청을 동기화합니다. 고맙습니다. – mschayna