예외가 체크되지 않은이며, 나는 다른 곳에서 읽은에서 그들이 코드에 잡힐 안되는 것 같다에서 최대 절전 모드 예외를 처리하는 방법. 그러나 이는 예를 들어 임시 데이터베이스 오류가 발생하면 스레드가 발생하여 응용 프로그램이 응답하지 않게됩니다. 어떻게해야합니까? 발생독립형 Java 응용 프로그램 Hibernate에 의해 던져
예 예외 :
응용 프로그램이 몇 시간 또는 며칠 동안 실행 된 경우이 문제가 발생javax.persistence.PersistenceException
Caused by: org.hibernate.exception.GenericJDBCException: could not insert
Caused by: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
. 나는 봄 또는 비슷한에 통합 할 때 최대 절전 모드를 사용하는 방법에 대한 이야기를 읽은 대부분
. 따라서 각 웹 요청은 새 스레드를 시작하고 해당 스레드가 종료되면 해당 웹 요청에만 영향을줍니다. 그러나 독립형 Java 응용 프로그램의 경우 어떻게 처리해야합니까?
빠른 답변 감사드립니다. 내 접근 방식은 지금 PersistenceException을 잡아서 PersistenceCheckedException (내 자신의 클래스)을 던져서 무엇을하고 있는지에 따라 처리하는 것이다. 데이터베이스 삽입이 중요하지 않은 경우이를 무시하거나 DB 삽입을 포기하고 클라이언트가 다시 시도 할 수 있습니다. 그게 좋은 것 같니? – GreatFire