在java中有效跟踪数据库时间的方法

时间:2013-12-05 18:23:07

标签: java database bukkit

在开始之前,我想说这与Bukkit插件有关。

我试过在网上搜索这个,但我找不到一个好方法。

我正在尝试构建一个可以连接到数据库(通常是MySQL)的插件,并在本地跟踪数据库的时间,即使它已经关闭。该插件是一个禁止管理系统,适用于多个服务器。情况就是这样:数据库服务器的时区与服务器上的时间不同,每个服务器都有自己的时区。只有1个数据库,因此,最好的方法是使用数据库的时间跟踪时间。但是,如果数据库出现故障,则一个线程将一直运行,直到数据库返回并成功插入记录。如果我在创建禁令时存储的列上使用UNIX_TIMESTAMP(),如果数据库发生故障,它只会在数据库恢复后开始计数。所以,打破它,我想要的是一种跟踪数据库时间的方法,即使数据库出现故障并重新启动。

提前致谢。

1 个答案:

答案 0 :(得分:0)

插入程序计算的时间(当事件真的发生时,而不是db“最终”插入数据时)in UTC。无论服务器如何,它应该或多或少相同。根据时钟差异可能会略有不同,但您可以通过ntp将其最小化,以使服务器的时间保持同步。