停止并重新启动后,Tomcat服务器不再工作 [英] Tomcat server not working anymore after a stop and restart
问题描述
我有一个与tomcat服务器有关的错误.我关闭了服务器(花了一段时间),然后重新启动服务器时,出现错误:
I've got an error related to tomcat server. I shut down my server (took a while) and then when a start the server back, an error appears :
org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [com.amadeus.security.CCDVAccess@2a9cce4a] with key 'CCDVAccess'; nested exception is javax.management.InstanceAlreadyExistsException: com.amadeus.security:name=CCDVAccess
org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:625)
org.springframework.jmx.export.MBeanExporter.registerBeans(MBeanExporter.java:550)
org.springframework.jmx.export.MBeanExporter.afterSingletonsInstantiated(MBeanExporter.java:432)
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:795)
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:861)
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)
org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
javax.servlet.GenericServlet.init(GenericServlet.java:158)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:632)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:1110)
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785)
org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1627)
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:830)
org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$4.completed(Nio2Endpoint.java:639)
org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$4.completed(Nio2Endpoint.java:617)
org.apache.tomcat.util.net.SecureNio2Channel$1.completed(SecureNio2Channel.java:873)
org.apache.tomcat.util.net.SecureNio2Channel$1.completed(SecureNio2Channel.java:806)
sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
sun.nio.ch.Invoker$2.run(Invoker.java:218)
sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)
我知道该错误与代码无关,因为什么都没有改变. 我尝试
I know that the error is not related to the code, because nothing change. I try
- 要停止并重新启动很多次,
- 更改我使用的WAR版本.
- 删除日志和文件夹work/catalina
我不知道我还应该尝试什么,所以我希望你们中的一些人对此有所了解.我真的认为问题出在tomcat,但我不确定.
I do not know what else I should try, so I hope some of you has I idea about that. I really think the issue is coming from tomcat but I'm not sure.
感谢您的帮助 塞巴斯蒂安
Thank for your help Sébastien
我解决了我的问题,这是一个愚蠢的错误.我没有更改扩展名就备份了WAR文件.因此,tomcat正在启动2个相同的服务器. 谢谢大家的帮助
I solved my issue it was a stupid mistake. I did a backup of my WAR file without changing the extension... Therefore tomcat was launching 2 identicals servers. Thanks guys for your help
推荐答案
似乎您在同一个JVM中有两个Spring Boot应用程序,因此您需要隔离MBean命名空间. 第一个日志错误告诉您.
it seems you have two Spring Boot apps in the same JVM so you need to segregate the MBean namespace. the first log error tell you that.
org.springframework.jmx.export.UnableToRegisterMBeanException:无法 用密钥注册MBean [com.amadeus.security.CCDVAccess@2a9cce4a] 'CCDVAccess';嵌套的例外是 javax.management. InstanceAlreadyExistsException : com.amadeus.security:name=CCDVAccess
org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [com.amadeus.security.CCDVAccess@2a9cce4a] with key 'CCDVAccess'; nested exception is javax.management.InstanceAlreadyExistsException: com.amadeus.security:name=CCDVAccess
进一步澄清 https://github.com/spring-cloud/spring-cloud- config/issues/118 .
这篇关于停止并重新启动后,Tomcat服务器不再工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!