2013-11-15 8 views
0

날짜 처리에 알려진 버그가있는 타사 응용 프로그램이 있습니다. 시간대를 UTC로 지정하여 버그를 해결할 수 있습니다. 응용 프로그램은 Weblogic 11g에서 배포하는 귀 모양의 EJB입니다. 지금까지 나는 서버의 기본 시간대를 UTC로 설정하여이를 관리했습니다. 그러나 이제 다른 기본 표준 시간대가 필요한 다른 응용 프로그램이있는 서버에이 응용 프로그램을 배포하려고합니다. 이 응용 프로그램에 대해서만 timezone = UTC를 지정하는 방법이 있습니까? (EJB의 작동에 대한 액세스가 제한되어 있습니다. 즉, 사용자가 제공 한 Java 코드에 대한 후크가 있습니다.)weblogic의 ejb에서 시간대를 설정하는 방법

감사합니다.

답변

0

EJB가 시작될 때마다 기본 시간대 설정을 시도 했습니까? (즉, 귀하의 후크 가능하다면) 가능 시간대와 이름의

// create time zone object 
java.util.TimeZone tzone = java.util.TimeZone.getTimeZone("America/Los_Angeles"); 
// set time zone default 
java.util.TimeZone.setDefault(tzone); 

목록 : http://en.wikipedia.org/wiki/List_of_IANA_time_zones

+0

나는 EJB 처리 즉 TZ를 재설정 완료에 대한 후크를 찾을 수 없습니다. 특정 스레드를 ejb 전용으로 바꿀 수있는 방법을 찾을 수 없으므로 클라이언트 코드가 예상 된 TZ "오류"를 계산하고이를 상쇄해야합니다. Yuck. 클라이언트와 서버가 동일한 TZ 데이터베이스를 공유 할 때만 작동합니다. Yuck yuck 및 double yuck, 그러나 문제는 지금 당장 사라졌습니다. – souter

+0

그건 실제로 우 is입니다. 서버에 아무 것도 배포 할 수있는 옵션이 있는지 모르겠지만 서버에 시간대를 반환하는 간단한 서비스를 배포 할 수도 있습니다. 그렇게하면 클라이언트가 동일한 TZ 데이터베이스를 사용해야하는 대신 해당 서비스를 호출 할 수 있습니다. 이것은 불필요한 오버 헤드로 인해 여전히 당황 스럽습니다. – HSquirrel