-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
-
---
-
---
create for active directory server an
<external-context name="java:global/ldap/ad" module="org.jboss.as.naming" class="javax.naming.directory.InitialDirContext" cache="true">
<environment>
<property name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
<property name="java.naming.provider.url" value="${ad.url}"/>
<property name="java.naming.security.authentication" value="simple"/>
<property name="java.naming.security.principal" value="${ad.principal}"/>
<property name="java.naming.security.credentials" value="${ad.password}"/>
</environment>
</external-context>
Do a search in a Servlet:
Context c = new InitialContext();
Object o = c.lookup("java:global/ldap/ad");
System.out.println(o);
InitialDirContext ctx = (InitialDirContext)o;
SearchControls searchControls = new SearchControls();
searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
searchControls.setReturningAttributes(new String[]{"uid","displayName", "cn", "sn", "mail", "description"});
NamingEnumeration<SearchResult> e = ctx.search("*****", "cn=weberjn", searchControls);
ctx.close();
c.close();
Works as it should. Repeat a few times. Works.
Leave the server running for an hour.
Repeat. Now you get the Exception below. With cache="false" there is no error.
Problem seen in EAP 7.4 and reproduced in wildfly-26.0.1.Final
11:42:58,664 ERROR [stderr] (default task-1) javax.naming.CommunicationException: Connection reset [Root exception is java.net.SocketException: Connec
tion reset]; remaining name '*****'
11:42:58,664 ERROR [stderr] (default task-1) at java.naming/com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:2031)
11:42:58,664 ERROR [stderr] (default task-1) at java.naming/com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1873)
11:42:58,664 ERROR [stderr] (default task-1) at java.naming/com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1798)
11:42:58,664 ERROR [stderr] (default task-1) at java.naming/com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:392)
11:42:58,664 ERROR [stderr] (default task-1) at java.naming/com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.j
ava:358)
11:42:58,665 ERROR [stderr] (default task-1) at java.naming/com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.j
ava:341)
11:42:58,665 ERROR [stderr] (default task-1) at java.naming/javax.naming.directory.InitialDirContext.search(InitialDirContext.java:267)
11:42:58,665 ERROR [stderr] (default task-1) at java.naming/javax.naming.directory.InitialDirContext.search(InitialDirContext.java:267)
11:42:58,665 ERROR [stderr] (default task-1) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
11:42:58,665 ERROR [stderr] (default task-1) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
11:42:58,665 ERROR [stderr] (default task-1) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:43)
11:42:58,665 ERROR [stderr] (default task-1) at java.base/java.lang.reflect.Method.invoke(Method.java:566)
11:42:58,665 ERROR [stderr] (default task-1) at org.jboss.as.naming@26.0.1.Final//org.jboss.as.naming.ExternalContextObjectFactory$CachedContext.in
voke(ExternalContextObjectFactory.java:148)
11:42:58,665 ERROR [stderr] (default task-1) at org.jboss.as.naming@26.0.1.Final//javax.naming.directory.InitialDirContext$$$$Proxy1.search(Unknown
Source)
11:42:58,665 ERROR [stderr] (default task-1) at deployment.jndiservlet.war//simple.JNDIServlet.doGet(JNDIServlet.java:78)
11:42:58,665 ERROR [stderr] (default task-1) at javax.servlet.api@2.0.0.Final//javax.servlet.http.HttpServlet.service(HttpServlet.java:503)
11:42:58,665 ERROR [stderr] (default task-1) at javax.servlet.api@2.0.0.Final//javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
11:42:58,665 ERROR [stderr] (default task-1) at io.undertow.servlet@2.2.14.Final//io.undertow.servlet.handlers.ServletHandler.handleRequest(Servlet
Handler.java:74)