2016-04-25 4 views
0

Ich habe Spring boot WebApplication, die ich separat starten kann, ohne Tomcat installiert zu haben, weil es in sich eingebetteten Server hat, richtig? ist also beginnt in der Regel, wenn ich es in Eclipse rechten Maustaste und wählen: RunAs/SpringBootAppSpring boot WebApplication startet zweimal auf Tomcat 7 Server

Starts once

Aber wenn ich es hinzufügen Tomcat 7 server.xml ist zweimal gestartet. Also nehme ich an, dass es zuerst mit seinem eingebetteten Server beginnt und dann versucht, in Tomcat 7 zu starten?

Starts twice

Hier sind die Protokolle:

INFO: Deploying web application directory C:\tomcat7dev\webapps\enlivenweb 
Apr 25, 2016 10:49:30 AM org.apache.catalina.core.ContainerBase addChildInternal 
SEVERE: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/enlivenweb]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649) 
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1247) 
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1897) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [o[email protected]57239838] with key 'environmentManager'; nested exception is javax.management.InstanceAlreadyExistsException: org.springframework.cloud.context.environment:name=environmentManager,type=EnvironmentManager 
    at org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:625) 
    at org.springframework.jmx.export.MBeanExporter.registerBeans(MBeanExporter.java:550) 
    at org.springframework.jmx.export.MBeanExporter.afterSingletonsInstantiated(MBeanExporter.java:432) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:775) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) 
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:687) 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) 
    at org.springframework.boot.context.web.SpringBootServletInitializer.run(SpringBootServletInitializer.java:133) 
    at org.springframework.boot.context.web.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:124) 
    at org.springframework.boot.context.web.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:81) 
    at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:175) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5481) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 10 more 
Caused by: javax.management.InstanceAlreadyExistsException: org.springframework.cloud.context.environment:name=environmentManager,type=EnvironmentManager 
    at com.sun.jmx.mbeanserver.Repository.addMBean(Unknown Source) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(Unknown Source) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(Unknown Source) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(Unknown Source) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(Unknown Source) 
    at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(Unknown Source) 
    at org.springframework.jmx.support.MBeanRegistrationSupport.doRegister(MBeanRegistrationSupport.java:195) 
    at org.springframework.jmx.export.MBeanExporter.registerBeanInstance(MBeanExporter.java:678) 
    at org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:615) 
    ... 24 more 
+0

Haben Sie den [traditionellen Bereitstellungsleitfaden] (https://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html) für Spring Boot ausgeführt? –

+0

Ja, Spring-Boot-Starter-Tomcat hat bereitgestellt in pom.xml –

Antwort

0

Falls die management.port konfiguriert ist, abweichend von den server.port ein zweiten eingebetteten Servlet-Container aufgeschleudert werden. Sie können diese beiden Optionen nicht verwenden, wenn Sie eine traditionelle War-File-Bereitstellung durchführen.

Verwandte Themen