[jeus] “jeus.transaction.TMException …" 해결 방법.
2022. 3. 30. 13:12ㆍTmaxSoft/jeus
728x90
728x90
-jeus5 기동 간 하단의 에러 발생 확인.
$ jboot
…
<<__Exception__>>
jeus.server.enginecontainer.EngineContainerException: container failed to boot
at jeus.server.enginecontainer.EngineContainer.init(EngineContainer.java:423)
at jeus.server.enginecontainer.EngineContainer.<init>(EngineContainer.java:123)
at jeus.server.enginecontainer.EngineContainer.main(EngineContainer.java:928)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at jeus.server.Bootstrapper.callMainMethod(Bootstrapper.java:291)
at jeus.server.Bootstrapper.callMain(Bootstrapper.java:360)
at jeus.server.enginecontainer.EngineContainerBootstrapper.main(EngineContainerBootstrapper.java:15)
Caused by: jeus.server.enginecontainer.EngineContainerException: fail to start transaction manager
at jeus.server.enginecontainer.EngineContainer.init(EngineContainer.java:301)
... 9 more
Caused by: jeus.transaction.TMException: exception occurred while initializing transaction manager
at jeus.transaction.TMServer.init(TMServer.java:187)
at jeus.transaction.TMService.init(TMService.java:28)
at jeus.server.enginecontainer.EngineContainer.init(EngineContainer.java:299)
... 9 more
Caused by: jeus.transaction.TMException: LogException occured in xaLog.open()
at jeus.transaction.logging.HowlLogManager.howlOpenLog(HowlLogManager.java:193)
at jeus.transaction.logging.HowlLogManager.openXALogger(HowlLogManager.java:171)
at jeus.transaction.logging.HowlLogManager.start(HowlLogManager.java:100)
at jeus.transaction.TMServer.init(TMServer.java:170)
... 11 more
Caused by: org.objectweb.howl.log.LogConfigurationException: java.io.IOException: 시스템 호출이 유효하지 않은 매개변수를 수신했습니다.
at org.objectweb.howl.log.LogFile.open(LogFile.java:186)
at org.objectweb.howl.log.LogFileManager.open(LogFileManager.java:779)
at org.objectweb.howl.log.Logger.open(Logger.java:303)
at org.objectweb.howl.log.xa.XALogger.open(XALogger.java:893)
at jeus.transaction.logging.HowlLogManager.howlOpenLog(HowlLogManager.java:191)
... 14 more
Caused by: java.io.IOException: 시스템 호출이 유효하지 않은 매개변수를 수신했습니다.
at sun.nio.ch.FileChannelImpl.lock0(Native Method)
at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:924)
at java.nio.channels.FileChannel.tryLock(FileChannel.java:973)
at org.objectweb.howl.log.LogFile.open(LogFile.java:182)
... 18 more
<<__!Exception__>>
…
-jeus5 기동 간 TMException 발생하는 원인.
- JEUS가 정상 종료/비정상 종료가 되는 경우에 Transaction log 생성되며, Transaction log는 재부팅 과정에서 Transaction recovery 등의 작업을 실행해주는 역할임.
- Transaction log를 사용하여 재부팅할 때 Recovery 관련 작업이 이루어지기 때문에 TM로그를 삭제한 경우 Recovery가 이루어지지 않음.
- 재부팅 과정에서 남아있는 트랜잭션 로그의 내용에 따라서 위의 Exception 같은 에러가 발생할 수 있음.
- TM 로그 파일을 수동으로 건드리거나, 자동화된 파일 정리 작업으로 TM 로그 파일이 일부 지워지거나 손상될때 비슷한 문제가 발생할 수 있음.
- 이외로 Tm에 묶여있는 외부 리소스의 준비가 아직 되지 않았다던가 네트웍 상황 문제 등의 원인이 있을 수 있음.
-jeus5 TMException 해결 방법.
- "/$JEUS_HOME/config/'hostname'/JEUSMain.xml"의 <engine-container> 하위 태그의 <command-option> 태그에 "-Djeus.tm.noLogging=true" 설정 추가.
- "/$JEUS_HOME/logs/" 경로에서 "TM" 디렉토리 제거.
- 잡 스케줄러(Ex. crontab ..)를 통해서 서버의 로그 파일 제거를 설정할 때, "/$JEUS_HOME/logs/TM" 경로의 파일은 잡 스케줄러 설정에서 제외.
728x90
728x90
'TmaxSoft > jeus' 카테고리의 다른 글
[jeus] *.war(servlet) 파일을 WAS의 컨테이너에 디플로이하는 방법. (0) | 2022.02.16 |
---|---|
[jeus] "부적합한 Oracle URL이 지정되었습니다: OracleDataSource.makeURL" 에러 해결 방법. (0) | 2022.01.08 |
[jeus] JEUS 6.0 Fix#9 설치 가이드.(container 실행하는 방법.) (0) | 2021.07.27 |