PlatformTransactionManager 스프링이 제공하는 트랜잭션 추상화 방법 PlatformTransactionManager transactionManager = new DataSourceTransactionManager(dataSource); TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition()); ... try { transactionManager.commit(status); } catch (...) { transactionManager.rollback(status); }
JTA(Java Transaction API) 글로벌 트랜잭션을 지원하는 트랜잭션 매너지를 지원하기 위한 API 애플리케이션에서는 기존의 방법대로 DB는 JDBC, 메시징 서버는 JMS 같은 API를 사용해서 필요한 작업을 수행한다. 단, 트랜잭션은 JDBC나 JMS API를 사용해서 직접 제어하지 않고 JTA를 통해 트랜잭션 매니저가 관리하도록 위임한다. 트랜잭션 매니저는 DB와 메시징 서버를 제어하고 관리하는 각각의 리소스 매니저와 XA 프로토콜을 통해 연결된다.
3월24일(일) 주일 일정을 모두 마치고 가족과 저녁식사로 돼지갈비를 먹고 자취집으로 돌아와 배변을 했는데, 그 이후에 몸에 으슬으슬한 기운이 느껴졌다. 편도가 부은 느낌이 들었다. 느낌이 좋지 않아 서둘러 샤워를 하고 잠자리에 누웠다. 3월25일(월) 아니나 다를까 오한, 두통으로 잠을 설치고 다음날 출근을 했다. 오후에 사내병원에 갔으나 감기 초기증상인 것 같다며 의사 선생님이 1분만에 진료를 끝내시고 약을 처방해주셨다. 오한과 두통이 계속 되었지만 이 날 저녁에는 약이 효과가 있었는지 증상이 완화되는 듯 했다. 3월26일(화) 이 날 새벽부터 열이 급격히 상승하고 증상이 심해졌다. 편도가 많이 부어 침 삼키기가 어려워졌다. 겨울옷, 이불을 두겹씩 입고 덮었는데도 추웠다. 거의 아침이 밝아서 오렌지와..
독감에 걸렸다. 그런 줄도 모르고 아픈 몸을 이끌고 3일째 출근했는데, 일할 땐 어떻게 어떻게 정신력으로 버텨내고 밤에는 혼자서 죽을 맛이더라. 하나님께서 내게 주시는 벌 같기도 했다. (하지만 그것은 아니다.) 아프니까 잡다한 욕심이 사라지고 정말 건강하기만 했으면 소원이 없겠더라. 사순절, 우리를 위해 기꺼이 십자가에 달리신 예수님을 기억하는 시간. 이렇게 작은 고통에도 신음하는 날 위해 돌아가시고 다시 사신 예수님, 감사합니다. 다시 욕심 버리고, 당연하게 누려왔지만 결코 당연하지 않은 것들에 감사하며 살겠습니다.
토비의 스프링 3.1 - 4장 예외 실습 중 한 구문(p314)이 자꾸 빨간줄이 떴다.assertThat(set.translate(null, null, sqlEx), is(DuplicateKeyException.class));내용은 "Wrong 1st argument type." T type의 아규먼트가 들어와야 하는데 DataAccessException type의 아규먼트가 들어왔다는 것이다.다른 junit 라이브러리를 import 하기도 했지만 달라진 건 없었다. 검색해보니 junit 버전에 따라 assertThat이 요구하는 아규먼트가 다른 것 같은데(본인은 junit 4.12 사용중) 위와 같을 땐 is 대신 instanceOf를 사용하면 된다고 한다. assertThat(set.translate..
Java 코드를 작성하다 보면 예전에 import 했으나 지금은 사용하지 않는 import 구문이 많이 남는다. 이때 IntelliJ의 다음 기능을 사용하면 Unused import statement를 자동으로 지워준다.Preferences > Editor > Auto Import > Optimize Imports on the Fly출처: https://intellij-support.jetbrains.com/hc/en-us/community/posts/206915775-How-to-enable-remove-unused-imports-
- Total
- Today
- Yesterday