환경 : Global Transaction을 사용 시 2개의 PostgreSQL을 사용 함.
주의 할 사항으로는 postgreSQL에서 config 파일인 data/postgresql.conf에서 max_prepared_transactions = 10 # zero disables the feature
을 양쪽 다 수정해주어야 한다. default가 0 일 것이다. 맨 아래에 참고 한 외국인 형님 사이트가 있다.
덕분에 수정하여 2pc 트랜잭션을 잘 할수 있었다^-^
[2013-06-10 13:53:10] [DEBUG] [BoardController.debug4Dev():497] - vo token : -1479550304
[2013-06-10 13:53:10] [DEBUG] [BoardFacade.debug4Dev():497] - --------Start insertXaBoard----------
[2013-06-10 13:53:10] [DEBUG] [BoardFacade.debug4Dev():497] - --------End insertXaBoard----------
[2013-06-10 13:53:10] [DEBUG] [BoardFacade.debug4Dev():497] - --------Start insertXaBoard----------
[2013-06-10 13:53:10] [DEBUG] [BoardFacade.debug4Dev():497] - --------End insertXaBoard----------
[2013-06-10 13:53:10] [ WARN] [loggerI18N.topLevelPrepare():281] - [com.arjuna.ats.internal.jta.resources.arjunacore.preparefailed] [com.arjuna.ats.internal.jta.resources.arjunacore.preparefailed] XAResourceRecord.prepare - prepare failed with exception XAException.XAER_RMERR
[2013-06-10 13:53:10] [ WARN] [arjLoggerI18N.End():1794] - [com.arjuna.ats.arjuna.coordinator.BasicAction_36] - BasicAction.End() - prepare phase of action-id ad6b856:c852:51b540bf:cb failed.
[2013-06-10 13:53:10] [ WARN] [arjLoggerI18N.End():1808] - [com.arjuna.ats.arjuna.coordinator.BasicAction_38] - Action Aborting
[2013-06-10 13:53:10] [ WARN] [loggerI18N.topLevelAbort():432] - [com.arjuna.ats.internal.jta.resources.arjunacore.rollbackxaerror] [com.arjuna.ats.internal.jta.resources.arjunacore.rollbackxaerror] XAResourceRecord.rollback - xa error XAException.XAER_RMERR
[2013-06-10 13:53:10] [ WARN] [arjLoggerI18N.doAbort():3299] - [com.arjuna.ats.arjuna.coordinator.BasicAction_52] - Top-level abort of action ad6b856:c852:51b540bf:cb received heuristic decision: TwoPhaseOutcome.HEURISTIC_HAZARD
[2013-06-10 13:53:10] [ERROR] [ERROR_LOGGER.error():460] - Heuristic completion: outcome state is mixed; nested exception is javax.transaction.HeuristicMixedException
[2013-06-10 13:53:10] [DEBUG] [BoardController.debug4Dev():497] - 생성된 토큰 : -776585088
[2013-06-10 13:53:10] [DEBUG] [BoardController.debug4Dev():497] - -------------------- start board controller -------------------
[2013-06-10 13:53:10] [DEBUG] [BoardController.debug4Dev():497] - searchText :
[2013-06-10 13:53:10] [DEBUG] [BoardController.debug4Dev():497] - pageIndex :1
[2013-06-10 13:53:10] [DEBUG] [BoardFacade.debug4Dev():497] - -------------------- start board facade -------------------
[2013-06-10 13:53:10] [DEBUG] [BoardFacade.debug4Dev():497] - boardListVo :
참고 사이트 : Thank you~:D
http://labnotes.decampo.org/2013/03/heuristicmixedexception-with-postgresql.html
'OpenSource > Spring MVC' 카테고리의 다른 글
[Spring] <task:executor> @Async 를 이용한 쓰레드 중복 테스트 (0) | 2014.01.24 |
---|---|
[springframework] confing properties re-loading 기능 (3) | 2014.01.17 |
org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class (0) | 2013.06.10 |
2PC, JTA 사용 시 데이터소스가 하나만 먹히는 문제 (0) | 2013.05.27 |
@Valid (0) | 2013.01.24 |