최대 절전 모드 : 충돌 후 앱이 닫히지 않음

클 레슨

내 앱은 EntityManager를 만들고 그 후에 의도적으로 RuntimeException을 던졌습니다. 엔티티 관리자를 만들기 전에 RuntimeException 줄을 배치하면 예외가 main에서 올바르게 포착되고 앱이 종료됩니다 (예상대로). 그러나 그 이후에 예외가 발생하면 예외가 잡히지 만 (스택 트레이스를 볼 수 있음) 앱은 계속 실행되며 종료해야합니다. Netbeans에서 스레드의 상태는 "zombie"입니다.

사용 된 라이브러리

  • Hibernate 4.3.1 Final : jpa 폴더 및 필수 폴더의 모든 jar ( link )
  • 데이터베이스 커넥터 : jtds 1.3.1 ( 링크 )

내 시험 수업

package test;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class Main {

    public static void main(String[] args) {

        // throw an exception here, app closes as expected

        EntityManagerFactory factory = Persistence.createEntityManagerFactory("pu");
        EntityManager em = factory.createEntityManager();


        // throw an exception here, it runs forever
        throw new RuntimeException();    
    }
}

persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" 
             xmlns="http://java.sun.com/xml/ns/persistence" 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
            http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">

    <persistence-unit name="pu" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <properties>
            <property name="hibernate.hbm2ddl.auto" value="update"/>
            <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/>
            <property name="javax.persistence.jdbc.driver" value="net.sourceforge.jtds.jdbc.Driver"/>
            <property name="javax.persistence.jdbc.user" value="user"/>
            <property name="javax.persistence.jdbc.password" value="password"/>
            <property name="javax.persistence.jdbc.url" value="jdbc:jtds:sqlserver://server:1433/database"/>
        </properties>
    </persistence-unit>
</persistence>
Sanne

모든 EntityManagerFactory 는 적절한 정리가 필요한 중요한 자원을 확보 할 수 있습니다. 귀하의 예에서는 연결을 관리하는 스레드 일 것입니다. 팩토리가 닫혀 있는지 확인해야합니다. 일반적으로 프레임 워크는 적절한 종료를 처리하지만 리소스를 직접 관리하는 경우 다음 블록을 finally 블록 으로 묶어야합니다 .

EntityManagerFactory factory = Persistence.createEntityManagerFactory("pu");
try {
    // rest of your application here
}
finally {
    factory.close();
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

절전 / 최대 절전 모드 후 LAN이 다시 연결되지 않음

분류에서Dev

일시 중단 / 최대 절전 모드 일 때 Ubuntu 13.10이 정지 / 충돌 함

분류에서Dev

일시 중단 / 최대 절전 모드 일 때 Ubuntu 13.10이 정지 / 충돌 함

분류에서Dev

최대 절전 모드 4로 업그레이드 한 후 데이터가 검색되지 않음

분류에서Dev

덮개를 닫은 후 노트북이 절전 모드에서 돌아 오지 않음

분류에서Dev

Windows 7 : 최대 절전 모드 이후 예약 된 작업이 시작되지 않음

분류에서Dev

최대 절전 모드 후 버그 확인으로 새 노트북이 충돌 함

분류에서Dev

최대 절전 모드 연결 풀이 작동하지 않음

분류에서Dev

최대 절전 모드 4 저장이 작동하지 않음

분류에서Dev

사용자 변경 후 최대 절전 모드가 실행되지 않음

분류에서Dev

일시 중단 / 최대 절전 모드 후 Ubuntu가 깨어나지 않음

분류에서Dev

코드 유출, 후자 #If 문이 닫히지 않음 전자 #If

분류에서Dev

절전 모드에서 배터리 부족시 랩톱이 최대 절전 모드로 전환되지 않음

분류에서Dev

Windows 8.1 및 Windows 10이 절전 모드 / 최대 절전 모드로 유지되지 않음

분류에서Dev

java-최대 절전 모드 검색 인덱싱이 작동하지 않음

분류에서Dev

최대 절전 모드, 속성 변경 사항이 추적되지 않음

분류에서Dev

Windows 7 절전 / 최대 절전 모드가 이중 부팅으로 작동하지 않음

분류에서Dev

최대 절전 모드 다 대다. 저장하지 않음

분류에서Dev

최대 절전 모드 @NotEmpty이되지 않습니다

분류에서Dev

스왑이 활성화되지 않은 최대 절전 모드

분류에서Dev

최대 절전 모드 : HQL이 작동하지 않습니다.

분류에서Dev

충돌 후 앱 다시 시작이 작동하지 않음

분류에서Dev

로드시 앱이 충돌하고`didFinishLaunchingWithOptions`를 전혀 호출하지 않음

분류에서Dev

최대 절전 모드의 UUID []가 매핑되지 않음

분류에서Dev

Windows 8 최대 절전 모드가 작동하지 않음

분류에서Dev

Windows 8 최대 절전 모드가 작동하지 않음

분류에서Dev

Lubuntu 최대 절전 모드 Xfce Power Manager "인증되지 않음"

분류에서Dev

Windows 7 최대 절전 모드가 작동하지 않음

분류에서Dev

캐스케이드 모두 저장시 최대 절전 모드에서 하위 ID를 생성하지 않음

Related 관련 기사

  1. 1

    절전 / 최대 절전 모드 후 LAN이 다시 연결되지 않음

  2. 2

    일시 중단 / 최대 절전 모드 일 때 Ubuntu 13.10이 정지 / 충돌 함

  3. 3

    일시 중단 / 최대 절전 모드 일 때 Ubuntu 13.10이 정지 / 충돌 함

  4. 4

    최대 절전 모드 4로 업그레이드 한 후 데이터가 검색되지 않음

  5. 5

    덮개를 닫은 후 노트북이 절전 모드에서 돌아 오지 않음

  6. 6

    Windows 7 : 최대 절전 모드 이후 예약 된 작업이 시작되지 않음

  7. 7

    최대 절전 모드 후 버그 확인으로 새 노트북이 충돌 함

  8. 8

    최대 절전 모드 연결 풀이 작동하지 않음

  9. 9

    최대 절전 모드 4 저장이 작동하지 않음

  10. 10

    사용자 변경 후 최대 절전 모드가 실행되지 않음

  11. 11

    일시 중단 / 최대 절전 모드 후 Ubuntu가 깨어나지 않음

  12. 12

    코드 유출, 후자 #If 문이 닫히지 않음 전자 #If

  13. 13

    절전 모드에서 배터리 부족시 랩톱이 최대 절전 모드로 전환되지 않음

  14. 14

    Windows 8.1 및 Windows 10이 절전 모드 / 최대 절전 모드로 유지되지 않음

  15. 15

    java-최대 절전 모드 검색 인덱싱이 작동하지 않음

  16. 16

    최대 절전 모드, 속성 변경 사항이 추적되지 않음

  17. 17

    Windows 7 절전 / 최대 절전 모드가 이중 부팅으로 작동하지 않음

  18. 18

    최대 절전 모드 다 대다. 저장하지 않음

  19. 19

    최대 절전 모드 @NotEmpty이되지 않습니다

  20. 20

    스왑이 활성화되지 않은 최대 절전 모드

  21. 21

    최대 절전 모드 : HQL이 작동하지 않습니다.

  22. 22

    충돌 후 앱 다시 시작이 작동하지 않음

  23. 23

    로드시 앱이 충돌하고`didFinishLaunchingWithOptions`를 전혀 호출하지 않음

  24. 24

    최대 절전 모드의 UUID []가 매핑되지 않음

  25. 25

    Windows 8 최대 절전 모드가 작동하지 않음

  26. 26

    Windows 8 최대 절전 모드가 작동하지 않음

  27. 27

    Lubuntu 최대 절전 모드 Xfce Power Manager "인증되지 않음"

  28. 28

    Windows 7 최대 절전 모드가 작동하지 않음

  29. 29

    캐스케이드 모두 저장시 최대 절전 모드에서 하위 ID를 생성하지 않음

뜨겁다태그

보관