检测Mac OS从java进入睡眠状态以防止sqlite数据库损坏

时间:2017-11-07 10:45:29

标签: java macos sqlite

我正在编写一个处理大型数据集的Java应用程序 - 将其转换为大小为100-150Gb的sqlite3数据库。这需要一段时间,所以我需要我的笔记本电脑(Macbook Air)运行几天。

作为一名学生,我还需要使用我的笔记本电脑,所以我无法保证我总能获得电源。通过OSX大约四分之一的时间进入睡眠状态,然后在尝试唤醒时崩溃,破坏了宝贵的30Gb数据。

我想要做的是检测操作系统是否会从java中休眠,然后安全地终止程序。这是可能的还是有更好的解决方案(除了明显的 - 在电池供电时不要运行应用程序)?我在网上找到的唯一信息是使用带有I / O工具包的目标c。

1 个答案:

答案 0 :(得分:0)

如果你的数据库太大,最好使用像Hadoop,Apache Spark或MySQL服务器这样的BigData,至少因为当你插入很多数据时,SQLite会崩溃。

另一种解决方案是使您的应用程序插入或您使用数据库执行的任何操作从上次停止的点继续。在这种情况下,您可以随时停止或恢复,而不必担心计算机是否会睡眠。