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

JBoss AS Web 7.0.2断管异常断开应用程序和db连接

宰烈
2023-03-14

我的服务器配置如下:

    null
**ClientAbortException:  java.net.SocketException: Broken pipe
  at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:403)
  at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:449)
  at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349)
  at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:426)
  at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:415)
  at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
  at org.codehaus.jackson.impl.Utf8Generator._flushBuffer(Utf8Generator.java:1754)
  at org.codehaus.jackson.impl.Utf8Generator._writeBytes(Utf8Generator.java:1164)
  at org.codehaus.jackson.impl.Utf8Generator._writeFieldName(Utf8Generator.java:457)
  at org.codehaus.jackson.impl.Utf8Generator.writeFieldName(Utf8Generator.java:304)
  at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:444)
  at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)
  at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)
  at org.codehaus.jackson.map.ser.std.StdContainerSerializers$IndexedListSerializer.serializeContents(StdContainerSerializers.java:122)
  at org.codehaus.jackson.map.ser.std.StdContainerSerializers$IndexedListSerializer.serializeContents(StdContainerSerializers.java:71)
  at org.codehaus.jackson.map.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:86)
  at org.codehaus.jackson.map.ser.StdSerializerProvider._serializeValue(StdSerializerProvider.java:610)
  at org.codehaus.jackson.map.ser.StdSerializerProvider.serializeValue(StdSerializerProvider.java:256)
  at org.codehaus.jackson.map.ObjectMapper.writeValue(ObjectMapper.java:1613)
  at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.writeInternal(MappingJacksonHttpMessageConverter.java:153)
  at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:181)
  at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodInvoker.writeWithMessageConverters(AnnotationMethodHandlerAdapter.java:975)
  at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodInvoker.handleResponseBody(AnnotationMethodHandlerAdapter.java:933)
  at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodInvoker.getModelAndView(AnnotationMethodHandlerAdapter.java:882)
  at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:428)
  at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
  at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
  at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
  at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
  at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
  at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
  at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
  at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
  at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
  at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
  at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
  at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
  at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
 at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
 at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
 at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
 at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:139)
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:480)
 at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:154)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:667)
 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:952)
 at java.lang.Thread.run(Thread.java:701)
Caused by: java.net.SocketException: Broken pipe
 at java.net.SocketOutputStream.socketWrite0(Native Method)
 at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
 at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
 at sun.security.ssl.OutputRecord.writeBuffer(OutputRecord.java:375)
 at sun.security.ssl.OutputRecord.write(OutputRecord.java:363)
 at sun.security.ssl.SSLSocketImpl.writeRecordInternal(SSLSocketImpl.java:813)
 at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:785)
 at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:119)
 at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:726)
 at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:449)
 at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349)
 at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:750)
 at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126)
 at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:559)
 at org.apache.coyote.Response.doWrite(Response.java:594)
 at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:398)
 ... 76 more**

谁能帮助我了解并提供这个问题的解决方案?

下面是我当前的数据源:

共有1个答案

谭泳
2023-03-14

这是由于在另一端已经关闭连接时写入该连接而造成的。数据库连接是关闭的,但对于您的应用程序来说,它是打开的,所以当它试图在它上写入时,它会产生断管错误

编辑添加不导致此错误的数据源详细信息:

<Resource name="jdbc/MySQLDS"
              url="jdbc:mysql://${MYSQL_DB_HOST}:${MYSQL_DB_PORT}/${APP_NAME}"
              driverClassName="com.mysql.jdbc.Driver"
              username="${MYSQL_DB_USERNAME}"
              password="${MYSQL_DB_PASSWORD}"
              auth="Container"
              type="javax.sql.DataSource"
              initialSize="11"
              maxActive="20"
              maxIdle="15"
              minIdle="11"
              maxWait="10000"
              removeAbandoned="true" 
              removeAbandonedTimeout="60"
              testOnBorrow="true"
              validationQuery="SELECT 1"
              validationInterval="3600000"
              />
 类似资料:
  • 我的应用程序打开与启动屏幕正常,但不能继续到主屏幕和崩溃!我正在尝试使tablayout(代码中没有错误)

  • 80386有两种手段来中断程序的执行: 1.异常是同步事件,当CPU在指令执行期间检测到某些条件时作出的反映。 2.中断是异步事件,通常由需要引起注意的外部设备触发。 中断和异常有一点是相同的:它们都需要CPU暂停正在执行的程序,转去执行更高优先级的程序。这两种中断的主要区别在于它们的发生源。异常在重新执行引起异常的程序和数据时总能复现,而中断通常独立于当前正在执行的程序。 正常情况下,应用程序不

  • 启动mysql服务: sudo service mysql start 停止mysql服务: sudo service mysql stop 要连接到服务器,我们通常需要提供MySQL的用户名来触发mysql,很可能,还需要密码。如果你的服务器运行在一个其他的机器上,你还需要指定主机名。联系管理员来找到连接参数(例如主机名,用户名和密码),当你知道了正确的参数后,你可以像下面那样连接: she

  • 断开mqtt连接,前提是必须已经通过Iot_id,Iot_pwd建立过一次mqtt连接。 请求方式: "|4|1|4|\r" 返回值: "|4|1|4|1|\r" 断开成功 "|4|1|4|2|\r" 断开失败 Arduino样例: softSerial.print("|4|1|4|\r");

  • 问题内容: Java异常处理和使用条件之间有什么区别? 众所周知,Assert有两种类型。但是什么时候应该使用关键字? 问题答案: 将断言用于代码中的内部逻辑检查,并使用常规异常来处理即时代码无法控制的错误情况。 不要忘记可以打开和关闭断言-如果您关心参数验证之类的事情,则应该使用异常来明确声明。(但是,您可以选择使用断言在 私有 方法上执行参数验证,原因是此时的违反是由于内部错误而不是外部错误引

  • 中断与异常 操作系统需要对计算机系统中的各种外设进行管理,这就需要CPU和外设能够相互通信才行。一般外设的速度远慢于CPU的速度。如果让操作系统通过CPU“主动关心”外设的事件,即采用通常的轮询(polling)机制,则太浪费CPU资源了。所以需要操作系统和CPU能够一起提供某种机制,让外设在需要操作系统处理外设相关事件的时候,能够“主动通知”操作系统,即打断操作系统和应用的正常执行,让操作系统完