I have an application which runs correctly in Netbeans IDE but after building it, it won't just run sometime, the app stop responding to event at a particular point. I was able to reproduce this issue while running the jar file in command line and I got this exception which I have it stack attached here
This what my data class that i use in interacting with object db is
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();
}
}
This I still don't really get how to work around after searching google. However this exception only happen after running the app the second time. If I'm runnig the app the first time after rebooting my system. Everything is ok but after closing the app and rerunning it the this issue occur. The app was built on javafx though
You didn't close close your app in the first case. Use Task Manager and kill it. It may happen if some thread (usually GUI) is still running. Actually you should anticipate such behavior and make sure within Java app that it is closed properly - all threads are down.