무국적 세션 Bean 결과 캐싱?
문제
우리는 다양한 위치에서 일부 데이터를 검색하기 위해 무국적 세션 Bean을 실행하고 있습니다.
이 SLSB의 캐싱을 달성하는 가장 좋은 방법은 무엇입니까?
인터셉터 사용? Jbosscache를 사용하십니까?
우리는 Jboss 5.0.1을 사용하고 있습니다.
해결책
기술적으로, 당신은 무국적 세션 bean에서 상태를 유지할 수 있습니다. 단지 무적 사이의 컨테이너에 의해 상태가 지워질 수 있습니다. 결과적으로 캐시 자체를 콩에 보관해서는 안됩니다.
JBoss AppServer를 이미 사용하고 있기 때문에 JBossCache는 여기에서 명확한 승자처럼 보일 것입니다. JBoss 서비스 설명기를 사용하여 JBossCache 인스턴스를 구성 할 수 있으며 EJB는 JMX/JNDI에서 캐시 인스턴스를 찾을 수 있습니다. 그것은 모두 Jbossas에 이미 포함되어 있으므로 추가 의존성이 필요하지 않습니다.
Jbosscache를 사용하면 클러스터에 분산 된 캐시의 추가 보너스가 제공됩니다.
다른 팁
스테인이없는 세션 Bean 자체는 이름이 상태가 무관하다고 말하면서 호출간에 데이터를 보유 할 수 없습니다. 하지만. 캐시를 보유 하고이 콩을 무국적 Bean 방법으로 전달하는 상태 가득한 세션 Bean을 만들 수 있습니다.
void someMethod(StateFulBean sfb){
Cache cahce = sfb.getCache();
...
}
EBJ 3.1을 사용하는 경우 싱글 톤 주석을 사용하여 캐시를 싱글 톤으로 무국적 세션 Bean에 주입 할 수도 있습니다.
제휴하지 않습니다 StackOverflow