2013-11-15 75 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和雙y,但現在的問題已經消失, – souter

+0

這確實是yuck。我不知道是否可以選擇部署服務器上的任何東西,但是您也可以在服務器上部署一個簡單的服務,以返回時區。這樣你的客戶可以調用該服務,而不必使用相同的TZ數據庫。這顯然仍然是不必要的開銷。 – HSquirrel