我正在使用YourKit分析器分析我的Web应用程序,我在Socket Connections下看到了很多这些非封闭的Stream Reads。我怀疑它是否增加了文件描述符。可能是什么原因?
Stack Trace如下:
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()