데이터베이스에서 읽은 데이터를 캐싱하는 간단한 DAO 빈을 구현해야한다. 이 DAO 빈은 Stateless Bean에서 사용됩니다.싱글 톤 같은 EJB3.0 빈을 구현하는 방법은 무엇입니까?
EJB3.0은 싱글 톤 빈을 지원하지 않으므로, 그러한 DAO 빈을 구현하는 올바른 방법은 무엇입니까? 캐시를 유지하기 위해 정적 변수를 사용하는 것이 좋습니까?
우리는 Oracle AS를 사용 중이며 클러스터링을 사용하지 않을 것입니다.
데이터베이스에서 읽은 데이터를 캐싱하는 간단한 DAO 빈을 구현해야한다. 이 DAO 빈은 Stateless Bean에서 사용됩니다.싱글 톤 같은 EJB3.0 빈을 구현하는 방법은 무엇입니까?
EJB3.0은 싱글 톤 빈을 지원하지 않으므로, 그러한 DAO 빈을 구현하는 올바른 방법은 무엇입니까? 캐시를 유지하기 위해 정적 변수를 사용하는 것이 좋습니까?
우리는 Oracle AS를 사용 중이며 클러스터링을 사용하지 않을 것입니다.
캐싱 동작을 위해 jmx mbean을 사용하는 것이 다소 응용 프로그램 간 방식으로 "올바른"방법입니다. mbeans은 싱글 톤 (앱 별 서버)이며 스레딩 및 잠금과 같은 작업을 수행 할 수 있습니다. 물론 사용하는 응용 프로그램 서버에 따라 mbeans은 실제로 작동하기가 다소 어려울 수 있습니다.
대부분의 응용 프로그램 서버와 JPA 구현은 사용자가 제어 할 수있는 일종의 내장 캐싱 메커니즘을 제공합니다. 싱글 톤을 만들 필요없이 원하는 것을 성취하는 방법을 조사하는 것이 가치가있을 수 있습니다.
싱글 톤 및 J2EE의 주요 문제점 중 하나는 클러스터 환경에서 쉽게 처리 할 수 없다는 것입니다.
모두 제가 말한대로 article은 JBoss에서 원하는 것을 할 수있는 제안을하고 EJB3.1에 대한 새로운 @Singleton
주석을 언급하므로 가능성이 있습니다. 그게 효과가 있다면,이 질문에 대한 또 다른 답으로 무엇을했는지 적어 두어야합니다.
Weblogic 서버에서 실행중인 경우 실제로 클러스터를 인식하는 싱글 톤 Bean을 구현할 수 있습니다. 나는이 기능이 다른 응용 프로그램 서버에 있다고 생각하지 않습니다.
우리는 이미 EclipseLink 캐싱을 사용하고 있지만 충분하지 않은 몇 가지 경우가 있으며 수동으로 캐싱을 구현해야합니다 – tputkonen