У меня есть этот метод, когда планировщик cron запускает процесс, который я получил: «Не удалось откатить транзакцию JDBC; вложенное исключение - java.sql.SQLException: соединение уже закрыто».
Пожалуйста, дайте мне знать об этом решении. Кроме того, спросите меня для более подробной информации, если таковые имеются.
@Override
public void updatePOCustStatus(List<PoOrderPojo> openPoList) {
Session session = null;
String uptQuery = "";
for(PoOrderPojo poJsonObj : openPoList)
{
try {
session = hibernateSession.openSession();
session.beginTransaction();
uptQuery = "UPDATE plm_purchase_order_mt SET po_cust_edi= 'T', po_cust_edi_on = NOW() WHERE po_id ="+poJsonObj.getPoId();
logger.info("uptQuery = "+uptQuery);
int totalUpdate = session.createSQLQuery(uptQuery).executeUpdate();
session.getTransaction().commit();
if (totalUpdate > 0) {
logger.info("Updated poCustEdi as T to the "+poJsonObj.getPoId()+" , status =" + totalUpdate);
} else {
logger.info("Failed to updated poCustEdi as T to the "+poJsonObj.getPoId()+" , status =" + totalUpdate);
}
}catch (HibernateException ex) {
logger.error(AppException.getStackTrace(ex));
session.getTransaction().rollback();
}finally{
hibernateSession.closeSession(session);
}
uptQuery = "";
}
}