当前位置: 首页 > 知识库问答 >
问题:

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

贺立果
2023-03-14

我们在init()中看到了与Strong Atomikos exception-error中描述的相同的内容:Log已经在使用?只不过我们遵循了文档,并将日志目录和基名指定为-d参数。在我们的例子中,它是一个war文件,部署到一个简单的Tomcat7容器实例中。

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
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)

我不知道在这一点上我应该去哪里--我可能希望它试图打开的任何文件名都包括在日志中,但我盲目地飞行。除了通常的catalina和localhost日志之外,在/var/log/tomcat7中没有创建任何文件。

想法?

共有1个答案

钮博裕
2023-03-14

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

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

 类似资料:
  • 这一章并没有修改页面,但启动tomcat后,登陆完成后,进入用户详情页,清空日志,然后刷新页面,你就能看到并无sql查询的痕迹 日志类似于 2015-05-22 10:37:59,799 org.nutz.mvc.impl.UrlMappingImpl.get(UrlMappingImpl.java:92) DEBUG - Found mapping for [GET] path=/home :

  • 请再次检查所有的RequiresPermissions注解是否正常,然后启动Tomcat 如无意外,你将会看到类似的log 2015-05-21 21:30:34,594 net.wendal.nutzbook.service.AuthorityServiceImpl.initFormPackage(AuthorityServiceImpl.java:60) DEBUG - found 17 pe

  • Apache ShardingSphere 默认的 XA 事务管理器为 Atomikos。 数据恢复 在项目的 logs 目录中会生成xa_tx.log, 这是 XA 崩溃恢复时所需的日志,请勿删除。 修改配置 可以通过在项目的 classpath 中添加 jta.properties 来定制化 Atomikos 配置项。 详情请参见Atomikos官方文档。

  • 作为最核心的模块之一, Nutz的日志信息已经相当完善,看懂Nutz的日志,也是了解Nutz工作方式的核心途径之一.

  • THE LOGGING SYSTEM 对于任何 Linux 用户,了解日志文件的使用是非常重要的。日志文件存储关于操作系统和应用程序运行时发生的事件的信息,包括任何错误和安全警报。您的系统将根据我将在本章中介绍的一系列规则自动记录信息。 作为黑客,日志文件可以跟踪目标的活动和身份。但是它也可以是你自己在别人系统上的活动的踪迹。因此,黑客需要知道他们可以收集什么信息,以及可以收集关于他们自己的行为和

  • 系统日志文件概述 文件 描述 /var/log/messages 大多数系统日志消息记录在此处。例外是与身份验证、电子邮件处理相关的定期运行作业的消息以及调试相关的消息。 /var/log/secure 安全和身份验证相关的消息和错误的日志文件。 /var/log/maillog 与邮件服务器相关的消息的日志文件。 /var/log/cron 与定期执行任务相关的日志文件。 /var/log/bo