我有一个连续运行的程序,每秒将数据保存到 SQLite 数据库中。我想改变这一点并使用每 15 分钟保存到磁盘的内存数据库。
我的程序是用 Java 编写的,我使用SQLite4Java库。它运行良好,我有一个“作业队列”,可以使用 Java 中的 ExecutorService 处理插入。
我发现第一次写入文件时我可以使用“SQLiteConnection.initializeBackup(File)”,然后在内存中删除并创建表,并且可能使用 VACUUM 来清除内存。这工作得很好,但后来就变得棘手了...如何在 15 分钟后将内存数据库中的新数据追加/合并到现有文件中?
有标准方法可以做到这一点吗?简单地从内存数据库中的每个表中获取所有数据(并锁定它,以防止进一步插入),循环它并将其插入文件数据库中,这是一个好的做法吗?
我已经研究过从Java控制Git的可能性.我发现的是:
Runtime.getRuntime().exec("git command")- 让Java用git执行命令我尝试使用Runtime和ProcessBuilder为git编写自己的Java包装器,但是我遇到了进程线程的问题,等待线程完成一些时间.
然后,我研究了其他API解决方案.首先我尝试了JavaGit API,但我根本无法工作.
其次,我测试了JGit API,看起来很棒.但我很快就发现我无法像使用Java包装器那样设置提交日期:
ProcessBuilder pb = new ProcessBuilder("git", "commit", "--date=" + "\"" + customDateString + "\"", "-m \"" + comment + "\"");
Run Code Online (Sandbox Code Playgroud)
我下载了JGit源代码,看看我是否可以实现它,但它读得太多了,我无法在Github上找到任何问题跟踪器,以便JGit提出建议.
有人可以帮我这样做吗?
或者告诉我在哪里可以写信给开发人员提出建议?