用的Acegi1.03 (老项目,版本比较老)+ open ldap 做的用户登陆,机构权限的获取。在上生产配置集群之后,发现部分服务器登陆时间超时,经查找,发现服务器线程数量特别高。
请问熟悉这方面的专家,查找ldap这块的问题所在,是否设置的问题,如何优化。 如果想将ldap更换成ORACLE,能否有好的方案,将ldap中的数据导入数据中。。
在线等啊!!~
请问熟悉这方面的专家,查找ldap这块的问题所在,是否设置的问题,如何优化。 如果想将ldap更换成ORACLE,能否有好的方案,将ldap中的数据导入数据中。。
在线等啊!!~
http://developer.51cto.com/art/201003/189174.htm
文章有介绍
个人分析: 是否是由于在设置连接池之后,使用过的连接没有释放,导致连接池中没有可用链接(连接池连接数量达到最大限制),从而其他用户一直在等待空闲连接。
状态:BLOCKED 在 com.sun.jndi.ldap.pool.Connections@9190929 上,拥有者: http-0.0.0.0-15080-66
阻塞总数:25 等待总数: 51堆栈追踪:
com.sun.jndi.ldap.pool.Connections.get(Connections.java:122)
com.sun.jndi.ldap.pool.Pool.getPooledConnection(Pool.java:129)
com.sun.jndi.ldap.LdapPoolManager.getLdapClient(LdapPoolManager.java:310)
com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1572)
com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2596)
com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:283)
com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)
com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193)
com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)
com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
javax.naming.InitialContext.init(InitialContext.java:223)
javax.naming.InitialContext.<init>(InitialContext.java:197)
javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:82)
org.acegisecurity.ldap.DefaultInitialDirContextFactory.connect(DefaultInitialDirContextFactory.java:176)
org.acegisecurity.ldap.DefaultInitialDirContextFactory.newInitialDirContext(DefaultInitialDirContextFactory.java:257)
org.acegisecurity.ldap.DefaultInitialDirContextFactory.newInitialDirContext(DefaultInitialDirContextFactory.java:237)
org.acegisecurity.ldap.LdapTemplate.execute(LdapTemplate.java:123)
org.acegisecurity.ldap.LdapTemplate.nameExists(LdapTemplate.java:135)
org.acegisecurity.providers.ldap.authenticator.PasswordComparisonAuthenticator.authenticate(PasswordComparisonAuthenticator.java:79)
org.acegisecurity.providers.ldap.LdapAuthenticationProvider.retrieveUser(LdapAuthenticationProvider.java:216)
org.acegisecurity.providers.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:115)
org.acegisecurity.providers.ProviderManager.doAuthentication(ProviderManager.java:188)
org.acegisecurity.AbstractAuthenticationManager.authenticate(AbstractAuthenticationManager.java:45)
org.acegisecurity.ui.webapp.AuthenticationProcessingFilter.attemptAuthentication(AuthenticationProcessingFilter.java:71)
org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:199)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Thread.java:595)
你百度这本书看看~~