2016-06-26 2 views
0

스프링 MVC 애플리케이션에 사용자 쌍 목록을 저장하고 싶습니다. 목록은 모든 사용자가 액세스하고 변경할 수 있습니다 (쌍을 삭제할 수 있으며 새 쌍을 추가 할 수 있음). 데이터베이스의 테이블로이 목록을 저장하고 싶지 않습니다. 웹 응용 프로그램을 실행하는 동안 많은 쌍의 사용자가 형성되기를 기대하기 때문에이 절차를 자주 수행해야합니다. 이 목록을 다른 컨트롤러에 연결된 Singleton Spring bean (예 : ListHolder) 필드로 결정했습니다. 내가 봄에 새롭다는 사실 때문에, 많은 사용자가 동시에 앱을 사용할 때 발생할 수있는 경쟁 조건이 우려됩니다. 이런 상황에서 나의 목록을 어떻게 보호 할 수 있습니까? 스프링 응용 프로그램에서 데이터를 저장하는 올바른 방법입니까? 모범 사례는 무엇입니까?스프링 싱글 톤 빈을 사용하여 콜렉션 공유하기

P. 쌍을 추가하려면 List.add 메서드를 사용하면됩니다. 삭제하는 동안 먼저 전체 목록을 복사 한 다음이를 반복 (복사)하고 필요한 목록을 삭제하고 목록 참조를 변경합니다.

+0

동시 수집 사용 –

답변

0

CopyOnWriteArrayList을 사용할 수 있습니다. 멀티 스레딩으로부터 귀하의 목록을 보호 할 것입니다.

관련 문제