gpt4 book ai didi

java - 用户异常 : Attempt to open odb database file that is currently in use by another process

转载 作者:行者123 更新时间:2023-11-29 05:04:29 24 4
gpt4 key购买 nike

我有一个应用程序可以在 Netbeans IDE 中正确运行,但是在构建它之后,它不仅会运行一段时间,而且应用程序会在特定时间点停止响应事件。我在命令行中运行 jar 文件时能够重现这个问题,我得到了这个异常,我把它附加到这里

enter image description here

这就是我在与对象数据库交互时使用的数据类

public class DataClass {

private EntityManager em = null;
private EntityManagerFactory emf = null;
private long accNo;
public DataClass() {
connectDatabase();
}

public DataClass(long accNo) {
this.accNo=accNo;
connectDatabase();
}

private void connectDatabase() {
if (emf == null) {
emf = Persistence.createEntityManagerFactory("Atm.odb");

}
if (em == null) {
em = emf.createEntityManager();
}

}

public Customer getAccount(long id) {
connectDatabase();
try {
TypedQuery q = em.createQuery("SELECT cu FROM Customer cu where cu.id= :id", Customer.class);
q.setParameter("id", id);
Customer c=(Customer)q.getSingleResult();
closeConnections();
return c;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}


public void closeConnections(){
emf.close();
em.close();
}
}

在搜索谷歌后,我仍然不知道如何解决这个问题。但是,此异常仅在第二次运行该应用程序后发生。如果我在重新启动系统后第一次运行该应用程序。一切正常,但关闭应用程序并重新运行后出现此问题。尽管该应用程序是基于 javafx 构建的

最佳答案

在第一种情况下,您没有关闭您的应用程序。使用任务管理器并将其杀死。如果某些线程(通常是 GUI)仍在运行,则可能会发生这种情况。实际上,您应该预料到此类行为并确保在 Java 应用程序中它已正确关闭 - 所有线程都已关闭。

关于java - 用户异常 : Attempt to open odb database file that is currently in use by another process,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30872395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com