Tag: tomcat8

java.io.IOException已建立的连接已被主机中的软件中止

当我对远程服务器进行一次servlet调用时,我经常收到此错误。 运行java application1,用少量数据调用servlet调用application2。 应用程序2必须返回一些数据。 但经常我在application2中得到低于错误,而返回响应为ObjectOutputStream,有时它工作正常。 我正在使用tomcat 8。 org.apache.catalina.connector.ClientAbortException: java.io.IOException: An established connection was aborted by the software in your host machine 15:45:44:776 PM at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:393) 15:45:44:776 PM at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:426) 15:45:44:776 PM at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:339) 15:45:44:776 PM at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:418) 15:45:44:776 PM at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:406) 15:45:44:776 PM at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:97) 15:45:44:776 PM at java.io.ObjectOutputStream$BlockDataOutputStream.drain(Unknown Source) 15:45:44:776 PM at java.io.ObjectOutputStream$BlockDataOutputStream.writeByte(Unknown Source) […]

在Tomcat 8上配置SSL和连接超时

我设置了一个密钥库并从openssl.com获得了SSL证书。 我遵循的具体步骤如下: https : //drive.google.com/file/d/0B6PUGo7cBLcDTzdkc0pzT2pTMk0/view?usp=sharing 不幸的是,即使完全按照他们对tomcat的说明并使用客户支持,我的https连接也会超时。 好像tomcat已启动并运行,正在侦听端口443,但我不知道如何更深入地调试。 Http请求服务很好,所以我知道tomcat本身工作正常。 [ec2-user@ip- logs]$ sudo netstat -tunlp | grep 443 tcp6 0 0 :::443 :::* LISTEN 19407/java [ec2-user@ip- logs]$ ps -ef | grep java root 19407 1 1 23:03 pts/0 00:00:06 /usr/java/jre1.8.0_60//bin/java -Djava.util.logging.config.file=/usr/apache-tomcat-8.0.26//conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/apache-tomcat-8.0.26//endorsed -classpath /usr/apache-tomcat-8.0.26//bin/bootstrap.jar:/usr/apache-tomcat-8.0.26//bin/tomcat-juli.jar -Dcatalina.base=/usr/apache-tomcat-8.0.26/ -Dcatalina.home=/usr/apache-tomcat-8.0.26/ -Djava.io.tmpdir=/usr/apache-tomcat-8.0.26//temp org.apache.catalina.startup.Bootstrap start ec2-user 19449 18021 0 23:13 pts/0 00:00:00 […]

Tomcat内存泄漏问题的log4j2线程

我正在使用log4j2进行日志记录,tomcat8和java8版本。 我使用属性“monitorInterval”来定期检查我的log4j2.xml。 在关机期间我的tomcat我面临内存泄漏问题。如何解决这个内存泄漏问题? 以下是catalina日志: 2016年10月6日15:13:55.927警告[localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads Web应用程序[mywebapp]似乎已经启动了一个名为[Log4j2-Log4j2Scheduled-1]的线程但是未能阻止它。 这很可能造成内存泄漏。 堆栈跟踪线程:sun.misc.Unsafe.park(本机方法)java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)java.util.concurrent.locks.AbstractQueuedSynchronizer $ ConditionObject.awaitNanos(AbstractQueuedSynchronizer。 java:2078)java.util.concurrent.ScheduledThreadPoolExecutor $ DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)java.util.concurrent.ScheduledThreadPoolExecutor $ DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)java.util.concurrent.ThreadPoolExecutor.getTask( ThreadPoolExecutor.java:1067)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)java.lang.Thread.run(Thread。 Java的:745) 提前致谢。 更新:我分析了我的日志,实际记录器上下文在Log4jServletContextListener正在销毁时再次启动.. 2016-10-22 13:49:36,347 localhost-startStop-2 DEBUG Log4jServletContextListener确保Log4j正常关闭。 2016-10-22 13:49:36,382 localhost-startStop-2 DEBUG启动LoggerContext [name = bb4719,org.apache.logging.log4j.core.LoggerContext@d77214] … 实际上在我的应用程序中我在web.xml中使用spring ContextLoaderListner,因此它可能在销毁spring listner时在内部使用日志记录。 谢谢

Google-Cloud:尚未正确配置Jetty ALPN / NPN

在使用Google Pubsub列出主题时获取exception,我的Web应用程序在tomcat上运行。 public static List listTopics(GcpCredentials gcCredentials, String project) throws GCPException, IOException { List topics = new ArrayList(); TopicAdminClient client = getTopicClient(gcCredentials); ProjectName projectName = ProjectName.create(project); ListTopicsPagedResponse response = client.listTopics(projectName); for (Topic topic :response.iterateAll()) { topics.add(topic.getNameAsTopicName().getTopic()); } return topics; }` 例外: java.lang.IllegalArgumentException:尚未正确配置Jetty ALPN / NPN。 在io.grpc.net上的io.grpc.netty.GrpcSslContexts.selectApplicationProtocolConfig(GrpcSslContexts.java:174)io.grpc.netty.GrpcSslContexts.configure(GrpcSslContexts.java:151)(GrpcSslContexts.java:139) )在io.grpc.netty.NettyChannelBuilder.createProtocolNegotiator(NettyChannelBuilder.java)的io.grpc.netty.NettyChannelBuilder.createProtocolNegotiatorByType(NettyChannelBuilder.java:335)的io.grpc.netty.GrpcSslContexts.forClient(GrpcSslContexts.java:109) 308)在io.grpc.internal.CallCredentialsApplyingTransportFactory的io.grpc.netty.NettyChannelBuilder $ NettyTransportFactory $ DynamicNettyTransportParams.getProtocolNegotiator(NettyChannelBuilder.java:499)io.grpc.netty.NettyChannelBuilder $ NettyTransportFactory.newClientTransport(NettyChannelBuilder.java:448) .newClientTransport(CallCredentialsApplyingTransportFactory.java:61)位于io.grpc.internal.InternalSubchannel.obtainActive的io.grpc.internal.InternalSubchannel.startNewTransport(InternalSubchannel.java:209) […]

如何将子域转换为嵌入式Tomcat 8和Spring引导的路径

如何将子域重写到路径? 例: foo.bar .example.com – > example.com / foo / bar 或者更好(反向文件夹): foo.bar .example.com – > example.com / bar / foo 请求foo.bar .example.com应该在/ src / main / resources / static / bar / foo /index.html中发送文件。 使用Apache2,它由mod_rewrite完成。 我找到了有关使用Tomcat 8重写的文档,但问题是在哪里使用spring boot放置这些文件? 更新 我尝试使用UrlRewriteFilter ,但似乎无法使用正则表达式替换在域路径中定义规则。 这是我的配置: Maven依赖: org.tuckey urlrewritefilter 4.0.3 Spring Java Config注册Servletfilter: @Configuration @ComponentScan @EnableAutoConfiguration public class […]

在Tomcat 8上实施Jersey 2.x的最佳方法是什么?

我有Web容器和Tomcat的知识,可以部署静态和动态网站。 但我是REST和泽西新手。 我已阅读2.6用户指南,查看了许多网站和YouTubevideo。 在1.x Jersey上似乎有很多信息,但在2.x上没有太多信息我可以在我的环境中使用1.18,但似乎无法使任何部署模型适用于2.x. 我在2.x中注意到有一个应用程序部署模型。 所以我想我会问一些非常通用的问题来开始这个。 哪种部署模型最适合通过Tomcat 8进行基本REST服务?为什么? 我看到使用2.6部署的.jars与使用1.18部署的.jars有很大不同。 有没有一种简单的方法可以告诉您基本的Tomcat安装需要哪些jar子? 如果你有一个基本的例子,那就太好了。 谢谢

Tomcat 8中的SSL:服务器和客户端JKS +客户端公共cer

我已按照本指南操作,以便使用SSL层设置我的Tomcat 8实例,生成客户端和服务器密钥库以及自动签名的公共客户端证书。 问题是,我想,我真的不知道如何配置Tomcat的连接器…… 在这里,您是我当前的server.xml文件(删除了不必要的注释): <!– –> <!—-> 使用这个,我试图访问tomcat欢迎页面: 本地主机:8443 https://开头本地主机 https://开头本地主机:8443 但他们都没有工作…… 有提示吗? 谢谢! 编辑 解: 我已经能够通过https:// localhost:8443访问它

Spring Boot:从url中删除jsessionid

如何从我的url中删除jsessionid? 我正在使用Spring Boot MVC(没有Spring Security; tomcat嵌入式)。 我已经读过可以通过将disableUrlRewriting设置为“true”来完成。 但这看起来像是一个Spring Security解决方案,我没有使用它(这是一个没有登录的简单项目;只是页面;会话控制器存在并且必须是会话控制器)。 我问这个是因为GoogleBot正在创建包含id的url。 编辑:我用以下描述的解决方案解决了它: https : //randomcoder.org/articles/jsessionid-considered-harmful

无法启动组件 .StandardHost

当尝试启动tomcat时,我收到此错误。 可能是什么原因造成的? 我经历了一系列类似的post,我找不到任何东西。 我正在使用Apache Tomcat v8.0和JRE 1.8.0 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ocmsLatest]] at java.util.concurrent.FutureTask.report(Unknown Source) at java.util.concurrent.FutureTask.get(Unknown Source) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:915) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397) 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.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ocmsLatest]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153) … 6 more […]

如何在java war文件中的META-INF / context.xml中的T​​omcat 8上指定“上下文路径”?

如何使用Tomcat 8上war文件中的context.xml将mywebapp-1.0.0.war部署到带有上下文路径/ mywebapp的 $ TOMCAT_HOME / webapps目录? 我从版本5开始回到Tomcat。我习惯在war文件中创建META-INF / context.xml: … Maven使用以下名称创建war文件:mywebapp-1.0.0.war 但是当我将war文件部署到$ TOMCAT_HOME / webapps目录时,上下文路径将是http:// localhost:8080 / mywebapp-1.0.0而不是http:// localhost:8080 / mywebapp / 。 另外我看到$ TOMCAT_HOME / conf / Catalina / localhost是空的,而不是从部署的war文件中复制xml文件。 我还在$ TOMCAT_HOME / conf / server.xml中添加了deployXML =“true”