经过一些细微的更改后,WAR无法再部署 . 以下是catalina.out的主要部分:

31-Jan-2018 15:33:01.925 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log服务器版本:Apache Tomcat / 8.0.37 31-Jan-2018 15:33:01.928 INFO [main] org .apache.catalina.startup.VersionLoggerListener.log服务器内置:2016年9月1日10:01:52 UTC 31-Jan-2018 15:33:01.928 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log服务器编号: 8.0.37.0 201-Jan-2018 15:33:01.928 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log操作系统名称:Linux 31-Jan-2018 15:33:01.928 INFO [main] org.apache . catalina.startup.VersionLoggerListener.log操作系统版本:4.14.14-200.fc26.x86_64 201-Jan-2018 15:33:01.928 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log架构:amd64 31-Jan -2018 15:33:01.928 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java主页:/usr/java/jdk1.8.0_131/jre 31-Jan-2018 15:33:01.928 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM版本:1.8.0_131-b11 31-Jan-2018 15:33:01.929 INFO [main ] org.apache.catalina.startup.VersionLoggerListener.log JVM供应商:Oracle Corporation 31-Jan-2018 15:33:01.929 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:/ opt / apache-tomcat -8.0.37 31-Jan-2018 15:33:02.001 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:/opt/apache-tomcat-8.0.37 31-Jan-2018 15:33: 02.001 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Djava.util.logging.config.file = / opt / tomcat / conf / logging.properties 31-Jan-2018 15:33: 02.002 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager 31-Jan-2018 15:33:02.002 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Djava.library.path = / usr / lib64 31-Jan-2018 15:33:02.002 INFO [main] org.apache.catalina.startup.VersionLoggerListener . log命令行参数:-Djdk.tls.ephemeralDHKeySize = 2048 31-Jan-2018 15:33:02.002 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Xms512m 31-Jan-2018 15:33:02.004 INFO [main] org.apache .catalina.startup.VersionLoggerListener.log命令行参数:-Xmx1024m 31-Jan-2018 15:33:02.005 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Xss512k 201-Jan-2018 15:33:02.005 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-XX:UseParallelGC 31-Jan-2018 15:33:02.005 INFO [main] org.apache.catalina.startup . VersionLoggerListener.log命令行参数:-XX:MaxGCPauseMillis = 1500 31-Jan-2018 15:33:02.005 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-XX:GCTimeRatio = 9 31- Jan-2018 15:33:02.005 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-XX:DisableExplicitGC 31-Jan-2018 15:33:02.005 INFO [main] org.apache.catalina .startup.VersionLoggerList ener.log命令行参数:-Darchaius.configurationSource.additionalUrls = https://s3.amazonaws.com / ...... 31-Jan-2018 15:33:02.005 INFO [main] org.apache.catalina . startup.VersionLoggerListener.log命令行参数:-Darchaius.deployment.applicationId = 31-Jan-2018 15:33:02.005 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Deureka.environment = 201-Jan-2018 15:33:02.005 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Deureka.shouldUseDns = true 201-Jan-2018 15:33:02.006 INFO [main] org .apache.catalina.startup.VersionLoggerListener.log命令行参数:-Deureka.eurekaServer.context = eureka / v2 31-Jan-2018 15:33:02.006 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令line参数:-Deureka.eurekaServer.domainName = eureka.us-east-1 ...... 201-Jan-2018 15:33:02.006 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Deureka.eurekaServer.po rt = 7001 31-Jan-2018 15:33:02.006 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Dnetflix.datacenter = cloud 31-Jan-2018 15:33:02.006 INFO [ main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Djava.endorsed.dirs = / opt / tomcat / endorsed 31-Jan-2018 15:33:02.006 INFO [main] org.apache.catalina . startup.VersionLoggerListener.log命令行参数:-Dcatalina.base = / opt / tomcat 31-Jan-2018 15:33:02.084 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Dcatalina . home = / opt / tomcat 31-Jan-2018 15:33:02.084 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Djava.io.tmpdir = / opt / tomcat / temp . . . SLF4J:无法加载课程“org.slf4j.impl.StaticLoggerBinder” . SLF4J:默认为无操作(NOP) Logger 实现SLF4J:有关更多详细信息,请参阅http://www.slf4j.org/codes.html#StaticLoggerBinder . MLog初始化问题:slf4j发现没有绑定或威胁使用它(危险的静默)NOPLogger . 我们认为找不到slf4j库 . 2018年1月31日15:37:55,858 INFO:com.mchange.v2.log.MLog - 使用log4j日志记录的MLog客户端 . 2018年1月31日15:37:57,011 INFO:com.mchange.v2.c3p0.C3P0Registry - 初始化c3p0-0.9.5.1 [建于2015年6月16日00:06:36 -0700;调试?真正; trace:10] 2018年1月31日15:42:43.383 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log服务器版本:Apache Tomcat / 8.0.37 31-Jan-2018 15:42:43.385 INFO [ main] org.apache.catalina.startup.VersionLoggerListener.log服务器内置:2016年9月1日10:01:52 UTC 31-Jan-2018 15:42:43.385 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log服务器号:8.0.37.0 201-Jan-2018 15:42:43.385 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log操作系统名称:Linux 31-Jan-2018 15:42:43.385 INFO [main] org .apache.catalina.startup.VersionLoggerListener.log操作系统版本:4.14.14-200.fc26.x86_64 201-Jan-2018 15:42:43.385 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log架构:amd64 201-Jan-2018 15:42:43.385 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java主页:/usr/java/jdk1.8.0_131/jre 31-Jan-2018 15:42:43.385 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM版本:1.8.0_131-b11 31-Jan-2018 15:42:43.385我NFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM供应商:Oracle Corporation 31-Jan-2018 15:42:43.386 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:/ opt / apache-tomcat-8.0.37 31-Jan-2018 15:42:43.386 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:/opt/apache-tomcat-8.0.37 31-Jan-2018 15 :42:43.386 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Djava.util.logging.config.file = / opt / tomcat / conf / logging.properties 31-Jan-2018 15 :42:43.386 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager 31-Jan-2018 15:42:43.386 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Djava.library.path = / usr / lib64 31-Jan-2018 15:42:43.387 INFO [main] org.apache.catalina.startup .VersionLoggerListener.log命令行参数:-Djdk.tls.ephemeral DHKeySize = 2048 31-Jan-2018 15:42:43.387 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Xms512m 31-Jan-2018 15:42:43.387 INFO [main] org . apache.catalina.startup.VersionLoggerListener.log命令行参数:-Xmx1024m 201-Jan-2018 15:42:43.387 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Xss512k 31-Jan- 2018 15:42:43.387 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-XX:UseParallelGC 31-Jan-2018 15:42:43.387 INFO [main] org.apache.catalina.startup .VersionLoggerListener.log命令行参数:-XX:MaxGCPauseMillis = 1500 31-Jan-2018 15:42:43.387 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-XX:GCTimeRatio = 9 31 -Jan-2018 15:42:43.388 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-XX:DisableExplicitGC 31-Jan-2018 15:42:43.388 INFO [main] org.apache . catalina.startup.VersionL oggerListener.log命令行参数:-Darchaius.configurationSource.additionalUrls = https://s3.amazonaws.com / ...... 201-Jan-2018 15:42:43.388 INFO [main] org.apache.catalina . startup.VersionLoggerListener.log命令行参数:-Darchaius.deployment.applicationId = batchservicesfig 31-Jan-2018 15:42:43.388 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Deureka.environment =阶段31-Jan-2018 15:42:43.388 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Deureka.shouldUseDns = true 31-Jan-2018 15:42:43.388 INFO [main ] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Deureka.eurekaServer.context = eureka / v2 31-Jan-2018 15:42:43.389 INFO [main] org.apache.catalina.startup.VersionLoggerListener . log命令行参数:-Deureka.eurekaServer.domainName = eureka.us-east-1.stage ..... 31-Jan-2018 15:42:43.389 INFO [main] org.apache.catalina.startup.VersionLoggerListener . log命令行参数:-Deureka.eurekaServer.port = 7001 31-Jan-2018 15:42:43.389 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Dnetflix.datacenter = cloud 31-Jan-2018 15:42:43.389 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Darchaius.default.configuration.class = com ..... 31-Jan-2018 15:42:43.389 INFO [主要]org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-DVAULT_URI = https://vault.devopsapps.us-east-1.stage ..... 31-Jan-2018 15:42:43.389 INFO [ main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-DVAULT_SECRET_PATH = batchservicesfig 31-Jan-2018 15:42:43.389 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数: -Djava.endorsed.dirs = / opt / tomcat / endorsed 31-Jan-2018 15:42:43.390 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Dcatalina.base = / opt / tomcat 31-Jan-2018 15:42:43.390 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Dcatalina.home = / opt / tomcat 31-Jan-2018 15:42:43.390 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log命令行参数:-Djava.io.tmpdir = / opt / tomcat / temp 31-Jan-2018 15:42:43.390 INFO [main] org.apache.catalina .core.AprLifecycleListener.lifecycleEvent加载基于APR的Apache Tomc在本机库1.2.14使用APR版本1.6.3 . 201-Jan-2018 15:42:43.390 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR功能:IPv6 [true],sendfile [true],接受过滤器[false],随机[true] . 201-Jan-2018 15:42:43.394 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL已成功初始化(OpenSSL 1.1.0g-fips 2017年11月2日)201-Jan-2018 15:42:44.673 INFO [main] org.apache.coyote.AbstractProtocol.init初始化ProtocolHandler [“http-apr-8080”] 201-Jan-2018 15:42:44.685 INFO [main] org.apache.coyote.AbstractProtocol.init初始化ProtocolHandler [“ ajp-apr-8009“] 201-Jan-2018 15:42:44.686 INFO [main] org.apache.catalina.startup.Catalina.load初始化处理时间:2575 ms 31-Jan-2018 15:42:44.955 INFO [main ] org.apache.catalina.core.StandardService.startInternal启动服务Catalina 31-Jan-2018 15:42:44.956 INFO [main] org.apache.catalina.core.StandardEngine.startInternal启动Servlet引擎:Apache Tomcat / 8.0.37 201-Jan-2018 15:42:44.991 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR部署Web应用程序归档/opt/apache-tomcat-8.0.37/webapps/ROOT.war 31 -Jan-2018 15:42:56.061 INFO [localhost -startStop-1] org.apache.jasper.servlet.TldScanner.scanJars至少有一个JAR被扫描用于尚未包含TLD的TLD . 为此 Logger 启用调试日志记录,以获取已扫描但未在其中找到TLD的JAR的完整列表 . 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间 . SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder” . SLF4J:默认为无操作(NOP) Logger 实现SLF4J:有关更多详细信息,请参阅http://www.slf4j.org/codes.html#StaticLoggerBinder . 201-Jan-2018 15:43:02.385 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal一个或多个侦听器无法启动 . 完整的详细信息将在相应的容器日志文件中找到31-Jan-2018 15:43:02.394 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal Context []启动因以前的错误而失败31 -Jan-2018 15:43:02.423警告[localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads Web应用程序[ROOT]似乎已经启动了一个名为[java-sdk-http-connection-的线程收割者]但未能阻止它 . 这很可能造成内存泄漏 . 线程的堆栈跟踪:java.lang.Thread.sleep(Native Method)com.amazonaws.http.IdleConnectionReaper.run(IdleConnectionReaper.java:112)201-Jan-2018 15:43:02.436 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR部署Web应用程序归档/opt/apache-tomcat-8.0.37/webapps/ROOT.war已于17,444毫秒完成31-Jan-2018 15:43:02.439 INFO [main ] org.apache.coyote.AbstractProtocol.start启动ProtocolHandler [“http-apr-8080”] 201-Jan-2018 15:43:02.461 INFO [main] org.apache.coyote.AbstractProtocol.start启动ProtocolHandler [“ajp- apr-8009“] 31-Jan-2018 15:43:02.470 INFO [main] org.apache.catalina.startup.Catalina.start服务器启动时间为17783 ms 31-Jan-2018 15:44:01.887 INFO [java-sdk -http-connection-reaper] org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading非法访问:此Web应用程序实例已经停止 . 无法加载[org.apache.http.pool.AbstractConnPool $ 3] . 抛出以下堆栈跟踪以进行调试以及尝试终止导致非法访问的线程 . java.lang.IllegalStateException:非法访问:此Web应用程序实例已经停止 . 无法加载[org.apache.http.pool.AbstractConnPool $ 3] . 抛出以下堆栈跟踪以进行调试以及尝试终止导致非法访问的线程 . 在org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1353)at atorg.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1341)org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1206)org.apache.catalina.loader.WebappClassLoaderBase.loadClass(位于org.apache.http.pool.AbstractConnPool.closeIdle(AbstractConnPool.java:616)的webappClassLoaderBase.java:1167)位于com.amazonaws的org.apache.http.impl.conn.PoolingClientConnectionManager.closeIdleConnections(PoolingClientConnectionManager.java:296) .http.IdleConnectionReaper.run(IdleConnectionReaper.java:127)

请注意,相同的WAR在我的本地Tomcat 8.0.27上运行良好,此问题仅发生在AWS上 . 此外,没有以下代码:

org.apache.cxf.endpoint.Client client = ClientProxy.getClient(port);
 HTTPConduit httpConduit = (HTTPConduit)client.getConduit();
 HTTPClientPolicy policy = httpConduit.getClient();

 LOGGER.info("CXF client connection timeout: " + 
     policy.getConnectionTimeout());
 LOGGER.info("CXF client async execute timeout: " + 
     policy.getAsyncExecuteTimeout());
 LOGGER.info("CXF client receive timeout: " + 
     policy.getReceiveTimeout());

 policy.setReceiveTimeout(rcvTimeout);
 policy.setConnectionTimeout(connTimeout);

它甚至可以在AWS上运行 . 上面的代码段需要以下依赖项:

compile group: 'org.apache.cxf', name: 'cxf-rt-frontend-jaxws', version: '3.2.1'
compile group: 'org.apache.cxf', name: 'cxf-rt-transports-http-hc', version: '3.2.1'

感谢您的帮助!

丹尼尔