0

我正在使用 YourKit 分析器分析我的 Web 应用程序,我在 Socket Connections 下看到了很多这些非关闭的流读取。我怀疑它一直在增加文件描述符。可能是什么原因?

堆栈跟踪如下:

java.net.Socket.connect(SocketAddress, int)
java.net.Socket.connect(SocketAddress)
java.net.Socket.<init>(SocketAddress, SocketAddress, boolean)
java.net.Socket.<init>(String, int)
oracle.net.nt.TcpNTAdapter.connect()
oracle.net.nt.ConnOption.connect(Properties)
oracle.net.nt.ConnStrategy.execute()
oracle.net.resolver.AddrResolution.resolveAndExecute(String)
oracle.net.ns.NSProtocol.establishConnection(String)
oracle.net.ns.NSProtocol.connect(String, Properties)
oracle.jdbc.driver.T4CConnection.connect(String, Properties)
oracle.jdbc.driver.T4CConnection.logon()


oracle.jdbc.driver.PhysicalConnection.<init>(String, String, String, String, Properties, OracleDriverExtension)
oracle.jdbc.driver.T4CConnection.<init>(String, String, String, String, Properties,     OracleDriverExtension)
oracle.jdbc.driver.T4CDriverExtension.getConnection(String, String, String, String,  Properties)
oracle.jdbc.driver.OracleDriver.connect(String, Properties)
java.sql.DriverManager.getConnection(String, Properties, ClassLoader)
java.sql.DriverManager.getConnection(String, Properties)
org.hibernate.connection.DriverManagerConnectionProvider.getConnection()
org.hibernate.jdbc.ConnectionManager.openConnection()
org.hibernate.jdbc.ConnectionManager.getConnection()
org.hibernate.jdbc.JDBCContext.connection()
org.hibernate.transaction.JDBCTransaction.begin()
com.googlecode.s2hibernate.struts2.plugin.interceptors.Session
TransactionInjectorIntercepto    r.injectHibernateTransactionByAnnotation(Object, 
Session, boolean)<2 recursive calls>
com.googlecode.s2hibernate.struts2.plugin.interceptors.Session
TransactionInjectorIntercepto    r.intercept(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept
(ActionInvocation    )
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept
(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ActionInvocation)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept
(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept
(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept
(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept
(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(ActionInvocation)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept
(ActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation.invoke()
org.apache.struts2.impl.StrutsActionProxy.execute()
org.apache.struts2.dispatcher.Dispatcher.serviceAction(HttpServletRequest,     

HttpServletResponse, ServletContext, ActionMapping)
 org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(HttpServletRequest,
HttpServletResponse, ActionMapping)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter
(ServletRequest, ServletResponse, FilterChain)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ServletRequest,  ServletResponse)
 org.apache.catalina.core.ApplicationFilterChain.doFilter(ServletRequest, 
 ServletResponse)
 frro.utility.commons.external.AccessFilter.doFilter(ServletRequest,
 ServletResponse,  FilterChain)
 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ServletRequest, 
 ServletResponse)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ServletRequest,  
ServletResponse)
org.apache.catalina.core.StandardWrapperValve.invoke(Request, Response)
org.apache.catalina.core.StandardContextValve.invoke(Request, Response)
org.apache.catalina.core.StandardHostValve.invoke(Request, Response)
org.apache.catalina.valves.ErrorReportValve.invoke(Request, Response)
org.apache.catalina.core.StandardEngineValve.invoke(Request, Response)
org.apache.catalina.connector.CoyoteAdapter.service(Request, Response)
org.apache.coyote.http11.Http11Processor.process(Socket)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Socket)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run()
java.lang.Thread.run()
4

0 回答 0