2010-04-08 8 views
1

새 애플 리케이션을위한 GlassFish 플랫폼에 대해 생각하고 있습니다.GlassFish JDO 및 전역 객체

  1. 내 응용 프로그램 환경. 처리 할 데이터의 양은 많지 않지만 동일한 데이터를 쓰거나 읽는 사용자가 많습니다.

  2. diff 사용자가 200 밀리 초마다 데이터를 매우 많이 업데이트합니다. 따라서 나는 단지 메모리에 데이터의 유형 싶습니다 및

내 질문에 전체 응용 프로그램에 액세스 : 나는 GF와 메모리에 글로벌 객체를 어떻게 사용합니까

  1. ? a. 정적 변수 객체를 사용하십시오 - GF가 1 JVM에서만 실행되는지 확인해야 할 필요가 있습니다 -> 1 JVM에서 실행되도록 GF를 구성하는 방법? b. HttpContext를 사용 - a와 동일.
  2. DB를 어떻게 유지합니까? a. JDO 인터페이스를 사용할 수 있습니까? 내가 작업을 예약하려면 어떻게
  3. 미래에 (GAE에서 작업 큐 같은)

감사 J.S.을 수행 할 바흐

답변

0

GF를 사용하여 메모리에 전역 개체를 사용하려면 어떻게해야합니까?

두 번째 레벨 캐시 (JPA 2에서 사용)를 사용합니다. L2 캐시 구현은 JPA 제공자에 따라 달라집니다.

DB에 어떻게 적용합니까? 에이. JDO 인터페이스를 사용할 수 있습니까?

내가 미래에 수행 할 작업을 예약하려면 어떻게 JPA 2.

스틱 줄은

내가 할 수 EJB 3.1의 향상된 타이머 서비스의 API를 사용하는 것보다 (단순히 @Schedule 주석을 사용하여 EJB 메소드에 주석을 달기 위해) EJB 메소드를 트리거하는 cron과 유사한 스케줄을 작성하십시오.

@Stateless 
public class NewsLetterGeneratorBean implements NewsLetterGenerator { 
    @Schedule(second="0", minute="0", hour="0", dayOfMonth="1", month="*", year="*") 
    public void generateMonthlyNewsLetter() { 
     ... Code to generate the monthly news letter goes here... 
    } 
} 

위의 예는 TheServerSide의 this article에서 가져 왔습니다.

+0

이 사이트에서는 JPA가 JDBC보다 10 배 느리다 고 주장합니다 (http://weblogs.java.net/blog/mkarg/archive/2010/01/03/jpa-great-damned-slow). JPA 2를 메모리 변수에 전역 변수로 사용하려면 어떻게해야합니까? 다른 간단한 옵션? – bach

+0

@bach 1) 끝날 때까지 (그리고 데이터베이스에서 보내는 시간을 제외하고 말도 안되는) 그 게시물을 더주의 깊게 읽어야합니다. 2) JPA 2에는 전역 캐시가 있으므로 사용하십시오. 또는 JPA를 사용하지 않고 EHCache와 같은 전역 캐시를 사용하고 모든 것을 수동으로 수행하십시오. –