2011-07-14

[Java] 設定 JVM 起始的 Timezone

原因
在目前的工作裡頭, 需要協助管理美國分公司的Server. 但是, 要管理又只能偷偷進去美國Server偷偷作. 所以這一次需要換掉 Jboss Server, 我打算將美國的Server 轉回台灣Server. 因為這件事情只能偷偷作, 所以得在台灣模擬美國的環境. 就碰到 時區問題, 因為美國那邊堅持在塞資料進他們家的Database 要用他們的 時區. 所以當 Jboss Server 跑在台灣Server 時間就會是台灣的時間. 所以必須想辦法, 變動 台灣Server 的時區.
解法
只好從JVM 啟動時入手. 查過資料, java -Duser.timezone 就可以設定 啟動時的時區.
所以在 Jboss 中, 啟動時 多加入 -Duser.timezone 就可以. 要特別注, 網路上有說法要用 -Duser.timezoe='xxx'. 這樣會無法使用, 得使用-Duser.timezone=xxx 就可以.
下面的設定會有日光節約時間

-Duser.timezone=America/Los_Angeles

這樣就沒有節約時間

-Duser.timezone=GMT-0800

沒有留言:

張貼留言