2011-09-15 8 views
0

Atomikos를 사용하여 JTA를 구현하고 서버에 배포했습니다. 그것은 여러 데이터베이스 롤백과 잘 작동하지만, 서버를 다시 시작하면 아래 오류가 발생합니다; 로그 파일을 삭제하면 성공적으로 다시 시작됩니다. 도와주세요.Atomikos JTA - 복구 오류

Exception in thread "SpringOsgiExtenderThread-20" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userTransactionService' defined in URL [bundle://476.4:0/META-INF/spring/interimws-datasource.xml]: Invocation of init method failed; nested exception is com.atomikos.icatch.SysException: Error in init(): Error in init: Error in recover 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) 
     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) 
     at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:69) 
     at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:355) 
     at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) 
     at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320) 
     at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:132) 
     at java.lang.Thread.run(Thread.java:619) 
Caused by: com.atomikos.icatch.SysException: Error in init(): Error in init: Error in recover 
     at com.atomikos.icatch.standalone.UserTransactionServiceImp.init(UserTransactionServiceImp.java:374) 
     at com.atomikos.icatch.config.UserTransactionServiceImp.init(UserTransactionServiceImp.java:413) 
     at com.atomikos.icatch.config.UserTransactionServiceImp.init(UserTransactionServiceImp.java:605) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) 
     ... 14 more 
Caused by: com.atomikos.icatch.SysException: Error in init: Error in recover 
     at com.atomikos.icatch.imp.TransactionServiceImp.init(TransactionServiceImp.java:728) 
     at com.atomikos.icatch.imp.BaseTransactionManager.init(BaseTransactionManager.java:217) 
     at com.atomikos.icatch.standalone.StandAloneTransactionManager.init(StandAloneTransactionManager.java:104) 
     at com.atomikos.icatch.standalone.UserTransactionServiceImp.init(UserTransactionServiceImp.java:307) 
     ... 23 more 
+0

해결할 수 있었습니까? 나는 해결책을 듣는 데 관심이있을 것이다. – ZeroOne

답변

0

흠, 실제로 기억력 부족 오류가 발생했습니다. 서버를 다시 시작하지 않고 여러 번 응용 프로그램을 여러 번 배포하면 Sun/Oracle JDKS, 특히 Tomcat 및 Jetty를 사용할 때 이러한 문제가 발생합니다. 스택 트레이스 끝 부분에서 PermaGen 오류가 없는지 확인하십시오. 운이 좋으면 위의 시나리오에서만 문제가 발생합니다. 프로덕션 환경에서는 20 번 연속해서 앱을 배포하지 않았다고 가정하고 있으므로 확인해야합니다.

+0

처음 배포하고 몇 가지 메서드를 호출하면 다시 작동하려고하는데 실패합니다 .. PermaGen 오류가 없습니다. 내가 잘 작동 tmlog 파일을 삭제하면 –

관련 문제