免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3838 | 回复: 6

[ldap] 连接数量 [复制链接]

论坛徽章:
0
发表于 2005-06-21 11:55 |显示全部楼层
我使用的是WINDOWS下的OPENLDAP,我的应用是B/S结构,在每个页面中建立LDAP连接后都主动关闭了连接,可是,当系统使用一段时间后总是出现如下错误:

connection_init(2464): connection table full (64/64)

请高手出马。

论坛徽章:
0
发表于 2005-12-29 17:33 |显示全部楼层
关注此问题

论坛徽章:
0
发表于 2006-01-03 12:56 |显示全部楼层
用调试模式
slapd -d -1
看看服务器相应些什么.

论坛徽章:
0
发表于 2006-04-13 09:36 |显示全部楼层

我也发现此问题

我的JAVA程序在微软平台上跑的,遇到数据备份和数据导入的时候,会出现connection_init(1964): connection table full (64/64)

连接数满的问题,请高手指点迷津.谢谢!
服务启动记录如下:

Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.

C:\Documents and Settings\Administrator.HP>cd\

C:\>cd openldap

C:\openldap>.\slapd -d 1
@(#) $OpenLDAP: slapd 2.2.19 (Dec  9 2004 10:10:42) $
        @LUNCHBOX:/home/jpclizbe/openldap-mingw-build-4/openldap-2.2.19/servers/
slapd
daemon_init: listen on ldap:///
daemon_init: 1 listeners to open...
ldap_url_parse_ext(ldap:///)
daemon: initialized ldap:///
daemon_init: 1 listeners opened
slapd init: initiated server.
bdb_back_initialize: initialize BDB backend
bdb_back_initialize: Sleepycat Software: Berkeley DB 4.3.21: (November  8, 2004)

>>> dnNormalize: <cn=Subschema>
=> ldap_bv2dn(cn=Subschema,0)
ldap_err2string
<= ldap_bv2dn(cn=Subschema)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(cn=subschema)=0 Success
<<< dnNormalize: <cn=subschema>
bdb_db_init: Initializing BDB database
>>> dnPrettyNormal: <dc=hanweb,dc=com>
=> ldap_bv2dn(dc=hanweb,dc=com,0)
ldap_err2string
<= ldap_bv2dn(dc=hanweb,dc=com)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(dc=hanweb,dc=com)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(dc=hanweb,dc=com)=0 Success
<<< dnPrettyNormal: <dc=hanweb,dc=com>, <dc=hanweb,dc=com>
>>> dnPrettyNormal: <cn=Manager,dc=hanweb,dc=com>
=> ldap_bv2dn(cn=Manager,dc=hanweb,dc=com,0)
ldap_err2string
<= ldap_bv2dn(cn=Manager,dc=hanweb,dc=com)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(cn=Manager,dc=hanweb,dc=com)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(cn=manager,dc=hanweb,dc=com)=0 Success
<<< dnPrettyNormal: <cn=Manager,dc=hanweb,dc=com>, <cn=manager,dc=hanweb,dc=com>

matching_rule_use_init
    1.2.840.113556.1.4.804 (integerBitOrMatch): matchingRuleUse: ( 1.2.840.11355
6.1.4.804 NAME 'integerBitOrMatch' APPLIES ( oncRpcNumber $ ipProtocolNumber $ i
pServicePort $ shadowFlag $ shadowExpire $ shadowInactive $ shadowWarning $ shad
owMax $ shadowMin $ shadowLastChange $ gidNumber $ uidNumber $ mailPreferenceOpt
ion $ supportedLDAPVersion ) )
    1.2.840.113556.1.4.803 (integerBitAndMatch): matchingRuleUse: ( 1.2.840.1135
56.1.4.803 NAME 'integerBitAndMatch' APPLIES ( oncRpcNumber $ ipProtocolNumber $
ipServicePort $ shadowFlag $ shadowExpire $ shadowInactive $ shadowWarning $ sh
adowMax $ shadowMin $ shadowLastChange $ gidNumber $ uidNumber $ mailPreferenceO
ption $ supportedLDAPVersion ) )
    1.3.6.1.4.1.1466.109.114.2 (caseIgnoreIA5Match): matchingRuleUse: ( 1.3.6.1.
4.1.1466.109.114.2 NAME 'caseIgnoreIA5Match' APPLIES ( nisMapEntry $ bootFile $
macAddress $ ipNetmaskNumber $ ipNetworkNumber $ ipHostNumber $ memberNisNetgrou
p $ memberUid $ loginShell $ homeDirectory $ gecos $ janetMailbox $ cNAMERecord
$ sOARecord $ nSRecord $ mXRecord $ mDRecord $ aRecord $ email $ associatedDomai
n $ dc $ mail $ altServer ) )
    1.3.6.1.4.1.1466.109.114.1 (caseExactIA5Match): matchingRuleUse: ( 1.3.6.1.4
.1.1466.109.114.1 NAME 'caseExactIA5Match' APPLIES ( nisMapEntry $ bootFile $ ma
cAddress $ ipNetmaskNumber $ ipNetworkNumber $ ipHostNumber $ memberNisNetgroup
$ memberUid $ loginShell $ homeDirectory $ gecos $ janetMailbox $ cNAMERecord $
sOARecord $ nSRecord $ mXRecord $ mDRecord $ aRecord $ email $ associatedDomain
$ dc $ mail $ altServer ) )
    2.5.13.35 (certificateMatch): matchingRuleUse: ( 2.5.13.35 NAME 'certificate
Match' APPLIES ( cACertificate $ userCertificate ) )
    2.5.13.34 (certificateExactMatch): matchingRuleUse: ( 2.5.13.34 NAME 'certif
icateExactMatch' APPLIES ( cACertificate $ userCertificate ) )
    2.5.13.30 (objectIdentifierFirstComponentMatch): matchingRuleUse: ( 2.5.13.3
0 NAME 'objectIdentifierFirstComponentMatch' APPLIES ( supportedApplicationConte
xt $ ldapSyntaxes $ supportedFeatures $ supportedExtension $ supportedControl )
)
    2.5.13.29 (integerFirstComponentMatch): matchingRuleUse: ( 2.5.13.29 NAME 'i
ntegerFirstComponentMatch' APPLIES ( oncRpcNumber $ ipProtocolNumber $ ipService
Port $ shadowFlag $ shadowExpire $ shadowInactive $ shadowWarning $ shadowMax $
shadowMin $ shadowLastChange $ gidNumber $ uidNumber $ mailPreferenceOption $ su
pportedLDAPVersion ) )
    2.5.13.27 (generalizedTimeMatch): matchingRuleUse: ( 2.5.13.27 NAME 'general
izedTimeMatch' APPLIES ( modifyTimestamp $ createTimestamp ) )
    2.5.13.24 (protocolInformationMatch): matchingRuleUse: ( 2.5.13.24 NAME 'pro
tocolInformationMatch' APPLIES protocolInformation )
    2.5.13.23 (uniqueMemberMatch): matchingRuleUse: ( 2.5.13.23 NAME 'uniqueMemb
erMatch' APPLIES uniqueMember )
    2.5.13.22 (presentationAddressMatch): matchingRuleUse: ( 2.5.13.22 NAME 'pre
sentationAddressMatch' APPLIES presentationAddress )
    2.5.13.20 (telephoneNumberMatch): matchingRuleUse: ( 2.5.13.20 NAME 'telepho
neNumberMatch' APPLIES ( pager $ mobile $ homePhone $ telephoneNumber ) )
    2.5.13.17 (octetStringMatch): matchingRuleUse: ( 2.5.13.17 NAME 'octetString
Match' APPLIES userPassword )
    2.5.13.16 (bitStringMatch): matchingRuleUse: ( 2.5.13.16 NAME 'bitStringMatc
h' APPLIES x500UniqueIdentifier )
    2.5.13.14 (integerMatch): matchingRuleUse: ( 2.5.13.14 NAME 'integerMatch' A
PPLIES ( oncRpcNumber $ ipProtocolNumber $ ipServicePort $ shadowFlag $ shadowEx
pire $ shadowInactive $ shadowWarning $ shadowMax $ shadowMin $ shadowLastChange
$ gidNumber $ uidNumber $ mailPreferenceOption $ supportedLDAPVersion ) )
    2.5.13.13 (booleanMatch): matchingRuleUse: ( 2.5.13.13 NAME 'booleanMatch' A
PPLIES hasSubordinates )
    2.5.13.11 (caseIgnoreListMatch): matchingRuleUse: ( 2.5.13.11 NAME 'caseIgno
reListMatch' APPLIES ( homePostalAddress $ registeredAddress $ postalAddress ) )

    2.5.13.8 (numericStringMatch): matchingRuleUse: ( 2.5.13.8 NAME 'numericStri
ngMatch' APPLIES ( internationaliSDNNumber $ x121Address ) )
    2.5.13.7 (caseExactSubstringsMatch): matchingRuleUse: ( 2.5.13.7 NAME 'caseE
xactSubstringsMatch' APPLIES ( dnQualifier $ destinationIndicator $ serialNumber
) )
    2.5.13.6 (caseExactOrderingMatch): matchingRuleUse: ( 2.5.13.6 NAME 'caseExa
ctOrderingMatch' APPLIES ( dnQualifier $ destinationIndicator $ serialNumber ) )

    2.5.13.5 (caseExactMatch): matchingRuleUse: ( 2.5.13.5 NAME 'caseExactMatch'
APPLIES ( nisMapName $ ipServiceProtocol $ preferredLanguage $ employeeType $ e
mployeeNumber $ displayName $ departmentNumber $ carLicense $ documentPublisher
$ buildingName $ organizationalStatus $ uniqueIdentifier $ co $ personalTitle $
documentLocation $ documentVersion $ documentTitle $ documentIdentifier $ host $
userClass $ roomNumber $ drink $ info $ textEncodedORAddress $ uid $ dmdName $
houseIdentifier $ dnQualifier $ generationQualifier $ initials $ givenName $ des
tinationIndicator $ physicalDeliveryOfficeName $ postOfficeBox $ postalCode $ bu
sinessCategory $ description $ title $ ou $ o $ street $ st $ l $ c $ serialNumb
er $ sn $ knowledgeInformation $ labeledURI $ cn $ name $ ref $ vendorVersion $
vendorName $ supportedSASLMechanisms ) )
    2.5.13.4 (caseIgnoreSubstringsMatch): matchingRuleUse: ( 2.5.13.4 NAME 'case
IgnoreSubstringsMatch' APPLIES ( dnQualifier $ destinationIndicator $ serialNumb
er ) )
    2.5.13.3 (caseIgnoreOrderingMatch): matchingRuleUse: ( 2.5.13.3 NAME 'caseIg
noreOrderingMatch' APPLIES ( dnQualifier $ destinationIndicator $ serialNumber )
)
    2.5.13.2 (caseIgnoreMatch): matchingRuleUse: ( 2.5.13.2 NAME 'caseIgnoreMatc
h' APPLIES ( nisMapName $ ipServiceProtocol $ preferredLanguage $ employeeType $
employeeNumber $ displayName $ departmentNumber $ carLicense $ documentPublishe
r $ buildingName $ organizationalStatus $ uniqueIdentifier $ co $ personalTitle
$ documentLocation $ documentVersion $ documentTitle $ documentIdentifier $ host
$ userClass $ roomNumber $ drink $ info $ textEncodedORAddress $ uid $ dmdName
$ houseIdentifier $ dnQualifier $ generationQualifier $ initials $ givenName $ d
estinationIndicator $ physicalDeliveryOfficeName $ postOfficeBox $ postalCode $
businessCategory $ description $ title $ ou $ o $ street $ st $ l $ c $ serialNu
mber $ sn $ knowledgeInformation $ labeledURI $ cn $ name $ ref $ vendorVersion
$ vendorName $ supportedSASLMechanisms ) )
    2.5.13.1 (distinguishedNameMatch): matchingRuleUse: ( 2.5.13.1 NAME 'disting
uishedNameMatch' APPLIES ( dITRedirect $ associatedName $ secretary $ documentAu
thor $ manager $ seeAlso $ roleOccupant $ owner $ member $ distinguishedName $ a
liasedObjectName $ namingContexts $ subschemaSubentry $ modifiersName $ creators
Name ) )
    2.5.13.0 (objectIdentifierMatch): matchingRuleUse: ( 2.5.13.0 NAME 'objectId
entifierMatch' APPLIES ( supportedApplicationContext $ supportedFeatures $ suppo
rtedExtension $ supportedControl ) )
slapd startup: initiated.
backend_startup: starting "dc=hanweb,dc=com"
bdb_db_open: dbenv_open(C:/openldap/var/openldap-data)
slapd starting

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2006-04-13 12:33 |显示全部楼层
请把基本的信息提供完整.
什么版本的openldap?如何在win下编译的?还是用了默认安装的二进制的版本.

论坛徽章:
0
发表于 2006-04-13 18:33 |显示全部楼层

请高手指点,十万火急

我用的openldap为 openldap-2.2.19-db-4.3.21-openssl-0.9.7e-win32.exe
中间件为weblogic 8.1
是否是默认安装的二进制的版本我就不知道了,请您帮忙看看,我的类方法中用了连接,用完就CLOSE掉了,谢谢!
具体报错如下:

ldap后台报:

connection_init(2760): connection table full (64/64)
daemon: connection_init(2760, IP=127.0.0.1:1073, IP=0.0.0.0:389) failed.
connection_init(2760): connection table full (64/64)
daemon: connection_init(2760, IP=127.0.0.1:1074, IP=0.0.0.0:389) failed.
connection_init(2760): connection table full (64/64)
daemon: connection_init(2760, IP=127.0.0.1:1076, IP=0.0.0.0:389) failed.
connection_init(2760): connection table full (64/64)
daemon: connection_init(2760, IP=127.0.0.1:1077, IP=0.0.0.0:389) failed.
connection_init(2760): connection table full (64/64)
daemon: connection_init(2760, IP=127.0.0.1:1078, IP=0.0.0.0:389) failed.
connection_init(2760): connection table full (64/64)


类里面报:
javax.naming.InvalidNameException: ou=Role,uid=admin,null: [LDAP: error code 34
- invalid DN]; remaining name 'ou=Role,uid=admin,null'
        at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2883)
        at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2697)
        at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1785)
        at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:170
        at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirCon
text.java:36
        at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCom
positeDirContext.java:32
        at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCom
positeDirContext.java:313)
        at javax.naming.directory.InitialDirContext.search(InitialDirContext.jav
a:23
        at merp.ldap.core.domain.DomainManager.getUserRole(DomainManager.java:82
7)
        at jsp_servlet._admin.__modifyuserroleinfo._jspService(__modifyuserrolei
nfo.java:377)
        at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
        at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:971)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:402)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:446)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:305)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:6350)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:317)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
11
        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3635)
        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2585)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

论坛徽章:
0
发表于 2006-04-19 17:25 |显示全部楼层

关于连接数量的问题!

上面的现象主要是由于连接没有释放.在负荷高峰期间将所有的连接耗尽,产生以上现象.
使用JNDI进行LDAP开发时,在使用完InitialContext 后要关闭连接,主要注意以下几点:
1. 不仅要调用DirContext实例的close()方法,如果你的代码中进行了查询,并且使用NameEnumeration 类的实例来存储查询结果,那么必须调用NameEnumeration实例的close()方法才能真正释放资源.

2. 如果使用InitialDirContext 实例的Lookup()方法又创建了几个DirContext实例,那么必须所有的DirContext实例都调用Close()方法才能关闭连接.
有关英文资料详见:
http://java.sun.com/products/jnd ... /connect/close.html
希望对你的问题有帮助!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP