Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Atomikos、Tomcat、事务日志和不观察系统属性_Java_Spring_Tomcat_Atomikos - Fatal编程技术网

Java Atomikos、Tomcat、事务日志和不观察系统属性

Java Atomikos、Tomcat、事务日志和不观察系统属性,java,spring,tomcat,atomikos,Java,Spring,Tomcat,Atomikos,我们看到的与中描述的相同,只是我们遵循了文档并将日志目录和基名称指定为-D参数。在我们的例子中,它是一个war文件,部署到一个简单的Tomcat7容器实例中 日志中没有证据表明正在读取系统属性 这是Atomikos的3.9.3版本 tomcat7 11466 2.5 0.7 2311632 257256 ? Sl 09:13 0:19 /usr/lib/jvm/java-7-openjdk-amd64/bin/java -Djava.util.logging.config

我们看到的与中描述的相同,只是我们遵循了文档并将日志目录和基名称指定为-D参数。在我们的例子中,它是一个war文件,部署到一个简单的Tomcat7容器实例中

日志中没有证据表明正在读取系统属性

这是Atomikos的3.9.3版本

tomcat7 11466 2.5 0.7 2311632 257256 ? Sl 09:13 0:19 /usr/lib/jvm/java-7-openjdk-amd64/bin/java -Djava.util.logging.config.file=/var/lib/tomca 7/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC -Dserver.properties.file=/usr/share/tomcat7/server-internal.properties -Dcom.atomikos.icatch.log_base_dir=/var/log/tomcat7/ -Dcom.atomikos.icatch.log_base_name=rest-tm -Djava.endorsed.dirs=/usr/share/tomcat7/endorsed -classpath /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar -Dcatalina.base=/var/lib/tomcat7 -Dcatalina.home=/usr/share/tomcat7 -Djava.io.tmpdir=/tmp/tomcat7-tomcat7-tmp org.apache.catalina.startup.Bootstrap start tomcat7 11466 2.5 0.7 2311632 257256?Sl 09:13 0:19/usr/lib/jvm/java-7-openjdk-amd64/bin/java-Djava.util.logging.config.file=/var/lib/tomca 7/conf/logging.properties-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager-Djava.awt.headless=true-Xmx128m-XX:+useCmarksweepgc-Dserver.properties.file=/usr/share/tomcat7/server-internal.properties-Dcom.atomikos.icatch.log_base_dir=/var/log/tomcat7/-Dcom.atomikos.icatch.log_base_name=rest tm-Djava.annocated.dirs=/usr/share/tomcat7/annocated-classpath/usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar-Dcatalina.base=/var/lib/tomcat7-Dcatalina.home=/usr/share/tomcat7/tomcat7-tomcat7-adjavio.tmp=/tmp-tomcat7org.apache.catalina.startup.Bootstrap start 堆栈跟踪:

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.transaction.TransactionManager]: Factory method 'atomikosTransactionManager' threw exception; nested exception is java.lang.IllegalStateException: Can't overwrite cause with java.lang.RuntimeException: Log already in use? at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:591) ... 44 more Caused by: java.lang.IllegalStateException: Can't overwrite cause with java.lang.RuntimeException: Log already in use? at java.lang.Throwable.initCause(Throwable.java:456) at com.atomikos.icatch.standalone.UserTransactionServiceImp.init(UserTransactionServiceImp.java:326) at com.atomikos.icatch.config.UserTransactionServiceImp.init(UserTransactionServiceImp.java:405) at com.atomikos.icatch.config.UserTransactionServiceImp.init(UserTransactionServiceImp.java:569) at com.atomikos.icatch.jta.UserTransactionManager.startupTransactionService(UserTransactionManager.java:89) at com.atomikos.icatch.jta.UserTransactionManager.checkSetup(UserTransactionManager.java:77) at com.atomikos.icatch.jta.UserTransactionManager.setTransactionTimeout(UserTransactionManager.java:237) at com.foo.springcontainer.config.persistence.transactionmanager.AtomikosTransactionManagerConfig.atomikosTransactionManager(AtomikosTransactionManagerConfig.java:29) at com.foo.springcontainer.config.persistence.transactionmanager.AtomikosTransactionManagerConfig$$EnhancerBySpringCGLIB$$beea75cd.CGLIB$atomikosTransactionManager$0() at com.foo.springcontainer.config.persistence.transactionmanager.AtomikosTransactionManagerConfig$$EnhancerBySpringCGLIB$$beea75cd$$FastClassBySpringCGLIB$$10e69a5.invoke() at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:312) at com.foo.springcontainer.config.persistence.transactionmanager.AtomikosTransactionManagerConfig$$EnhancerBySpringCGLIB$$beea75cd.atomikosTransactionManager() at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ... 45 more Caused by: com.atomikos.icatch.SysException: Error in init(): Log already in use? ... 62 more Caused by: java.lang.RuntimeException: Log already in use? at com.atomikos.icatch.standalone.UserTransactionServiceImp.createDefault(UserTransactionServiceImp.java:203) at com.atomikos.icatch.standalone.UserTransactionServiceImp.init(UserTransactionServiceImp.java:258) 原因:org.springframework.beans.beans实例化异常:未能实例化[javax.transaction.TransactionManager]:工厂方法“atomikosTransactionManager”引发异常;嵌套异常为java.lang.IllegalStateException:无法用java.lang.RuntimeException:日志已在使用中覆盖原因? 位于org.springframework.beans.factory.support.SimpleInstallationStrategy.instantiate(SimpleInstallationStrategy.java:189) 位于org.springframework.beans.factory.support.ConstructorResolver.InstanceUsingFactoryMethod(ConstructorResolver.java:591) ... 44多 原因:java.lang.IllegalStateException:无法用java.lang.RuntimeException:日志已在使用中覆盖原因? 位于java.lang.Throwable.initCause(Throwable.java:456) 位于com.atomikos.icatch.standalone.UserTransactionServiceImp.init(UserTransactionServiceImp.java:326) 位于com.atomikos.icatch.config.UserTransactionServiceImp.init(UserTransactionServiceImp.java:405) 位于com.atomikos.icatch.config.UserTransactionServiceImp.init(UserTransactionServiceImp.java:569) 位于com.atomikos.icatch.jta.UserTransactionManager.startupTransactionService(UserTransactionManager.java:89) 在com.atomikos.icatch.jta.UserTransactionManager.checkSetup(UserTransactionManager.java:77)上 位于com.atomikos.icatch.jta.UserTransactionManager.setTransactionTimeout(UserTransactionManager.java:237) 位于com.foo.springcontainer.config.persistence.transactionmanager.AtomikosTransactionManagerConfig.atomikosTransactionManager(AtomikosTransactionManagerConfig.java:29) 在com.foo.springcontainer.config.persistence.transactionmanager.atomikosTransactionManager配置$$EnhancerBySpringCGLIB$$beea75cd.CGLIB$atomikosTransactionManager$0() 在com.foo.springcontainer.config.persistence.transactionmanager.AtomikosTransactionManagerConfig$$EnhancerBySpringCGLIB$$beea75cd$$FastClassBySpringCGLIB$$10e69a5.invoke() 位于org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) 位于org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:312) 在com.foo.springcontainer.config.persistence.transactionmanager.AtomikosTransactionManagerConfig$$EnhancerBySpringCGLIB$$beea75cd.atomikosTransactionManager()上 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:606) 位于org.springframework.beans.factory.support.SimpleInstallationStrategy.instantiate(SimpleInstallationStrategy.java:162) ... 还有45个 原因:com.atomikos.icatch.SysException:init()中的错误:日志已在使用中? ... 62多 原因:java.lang.RuntimeException:日志已在使用中? 位于com.atomikos.icatch.standalone.UserTransactionServiceImp.createDefault(UserTransactionServiceImp.java:203) 位于com.atomikos.icatch.standalone.UserTransactionServiceImp.init(UserTransactionServiceImp.java:258) 我不知道此时我应该去哪里——我可能希望它试图打开的任何文件名都会包含在日志中,但我是盲目的。除了通常的catalina和localhost日志之外,在/var/log/tomcat7中没有创建任何文件


想法?

这是因为应用程序没有完全关闭,它留下了一些剩余的日志锁,从而阻止了它启动

您需要找到应用程序的
tmlogs
文件夹。在这下面,您将找到一个
.epoch
文件和一个
.lck
文件。删除这些,您的应用程序应该可以正常启动