0
我工作在Java Hibernate和MySQL。我想使用事務settimeout來實現應用程序的支付功能。我只是測試代碼如下settimeout工作。休眠settimeout不工作mysql
Transaction tx = (Transaction) threadTransaction.get();
try {
if (tx == null) {
Session session = (Session) threadSession.get();
session.getTransaction().setTimeout(5);
tx=session.beginTransaction();
try {
Thread.sleep(6000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if(session.getTransaction().isActive()) {
System.out.println("session active");
}
else {
System.out.println("session inactive");
}
threadTransaction.set(tx);
}
}
catch (HibernateException e) {
throw new HibernateException("", e);
}
但它打印會話活動,意味着超時不起作用。是什麼原因?請幫忙 !
hai,van謝謝你的回覆。實際上我想要超時長時間的對話,就像用戶選擇一些席位並提交。應用程序鎖定這些座位並執行反式。一個新的跨界開始說5分錢讓他付錢。如果他沒有付錢,就會失敗。這是場景。我測試它和其他工作 – 2014-09-04 02:38:06