Netbeans IDE で正しく動作するアプリケーションがありますが、それをビルドした後、アプリケーションが特定の時点でイベントに応答しなくなります。コマンドラインでjarファイルを実行しているときにこの問題を再現できましたが、ここにスタックを添付したこの例外が発生しました
これは、オブジェクトdbとのやり取りに使用するデータクラスです
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();
}
}
これは、Googleを検索した後でも回避する方法がわかりません。ただし、この例外はアプリを 2 回目に実行した後にのみ発生します。システムを再起動した後、初めてアプリを実行している場合。すべて問題ありませんが、アプリを閉じて再実行すると、この問題が発生します。アプリはjavafxで構築されましたが