Java读取linux的旧时区条目

时间:2015-02-27 12:18:32

标签: java linux timezone

我有一个拥有双节点集群的java应用程序。我的目标是确保集群的所有节点都在同一时区。

TimeZone tz = Calendar.getInstance().getTimeZone();
String slaveTimeZone = tz.getDisplayName(false, TimeZone.SHORT);

代码首次正确读取时区,例如IST。现在我去更改符号链接,将本地时间指向CST,但除非我重新启动应用程序,否则java应用程序不会获取更新的时区。

我做得对吗?或者我错过了一步?

1 个答案:

答案 0 :(得分:0)

如果您的应用程序仍在访问该目录,则可能无法识别出存在具有相同名称的新目录。

Linux shell的简单示例

会话1     cd~ / tmp     mkdir数据     cd数据     echo foo>酒吧     猫吧

会话1中的输出

foo

会话2

cd ~/tmp
mv data/ data.old
mkdir data
cd data
echo baz > bar

输出会话2

baz

回到会话1,我们仍在目录〜/ tmp / data

cat bar

输出会话1

foo

原因是。只要您的应用程序使用原始data目录,它就只能看到原始data目录的inode。只有在离开({1}}目录后,新data目录中的更改才会显示在您的应用程序中(在会话1中)。