[code="java"]
private String queryOrgDn(String parentid,String dn){
System.out.println("parentid : " +parentid);
int len = parentid.trim().length();
while(len > 5) {
AndFilter filter = new AndFilter();
filter.and(new EqualsFilter("objectclass","uumOrg"));
filter.and(new EqualsFilter("ESSPorgId",parentid));
List alist = ldapTemplate_user.search("", filter.encode(),new OrgAttributeMapper());
System.out.println("alist : " + alist.size());
if(null!=alist&&0<alist.size()){
Org _aorg = alist.get(0);
String _parentid = _aorg.getESSPparentId();
String _dn = dn + _aorg.getOu();
queryOrgDn(_parentid,_dn);//@2
}else break;
}
return dn;//@1
}
[/code]
我打断点调试过了,在运行到@1处后,程序又会回到@2处,然后@1,@2,@1,@2....陷入死循环。不是很懂递归调用,请指教!谢谢