본문 바로가기
반응형

Java6

자바 쓰레드 인터럽트 블로킹 해결 (Java Thread Interrupt Blocking) 자바 쓰레드 인터럽트 블로킹 해결 (Java Thread Interrupt Blocking) 자바 - 인터럽트에 응답하지 않는 블로킹 작업 다루기자바Java 라이브러리에 포함된 여러 블로킹 메소드는 대부분 Thread 인터럽트가 발생하는 즉시 멈추면서 InterruptedException을 띄우게 되어 있다. 따라서 작업 중단 요청에 적절하게 대응하는 작업을 쉽게 구현할 수 있다. 그런데 잘 살펴보면 모든 Java 블로킹 메소드가 인터럽트에 대응하게 되어 있지는 않다. 예를 들어 동기적인 소켓 I/O를 실행하는 도중에 스레드가 멈춰 있는 경우라던가 암묵적인intrinsic 락을 확보하기 위해 대기하는 등의 작업에 멈춰있는 경우라면, Interrupt를 거는 것이 인터럽트 상태 변수의 값을 설정하는 것 말.. 2018. 5. 18.
[자바 스프링 트랜잭션] 전파방식 7개 (Java Spring) [자바 스프링 트랜잭션] 전파방식 7개 (Java Spring) 자바 스프링 1. PROPAGATION_MANDATORY해당 메소드 호출 전에 반드시 진행 중인 트랜잭션이 존재해야 한다. 진행 중인 트랜잭션이 존재하지 않을 경우에는 예외가 발생한다. 자바 스프링 2. PROPAGATION_NESTED이미 진행 중인 트랜잭션이 존재하면 해당 메소드는 중첩된 트랜잭션(NESTED TRANSACTION)에서 실행돼야 함을 나타낸다. 중첩된 트랜잭션은 둘러싼 트랜잭션(ENCLOSING TRANSACTION)과 독립적으로 커밋되거나 롤백될 수 있다. 만약 둘러싼 트랜잭션이 없는 상황이라면 이는 PROPAGATION_REQUIRED와 동일하게 작동한다. 그러나 이 전파방식은 벤더 의존적이며 지원이 안 되는 경우도 .. 2017. 11. 19.
반응형