Weblogic 不缓存 LDAP

Weblogic doesn't cache LDAP

我在 WebLogic 12.1.2 服务器上使用 JSF 2.1 和 JEE 6 运行 设置了一个 Web 应用程序,并使用 openLDAP 进行身份验证。我注意到在应用程序中加载任何页面都会导致对 LDAP 的多个 BIND 请求——每次!

我通读了大部分 material 并在 Weblogic 中配置了 LDAP 提供程序,以便激活几乎所有我能找到的缓存。特别是我设置了

我还仔细检查了 entryUUID 属性是否存在。我对 WebLogic 或 LDAP 都不太了解,但我几乎阅读了有关配置缓存的所有页面,但对 LDAP 的请求仍然很多(是的,我在更改后重新启动了服务器。)

对于可能的原因或如何进一步调试此问题的任何帮助、见解或疯狂猜测,我将不胜感激。我不太确定要附加哪些配置文件,但如果有任何需要,我很乐意提供。

LDAP 请求都是这样的:

# journalctl -u slapd
# … many of these …
Sep 16 23:06:03 server.org slapd[15038]: daemon: read active on 13
Sep 16 23:06:03 server.org slapd[15038]: daemon: epoll: listen=7 active_threads=0 tvp=zero
Sep 16 23:06:03 server.org slapd[15038]: daemon: epoll: listen=8 active_threads=0 tvp=zero
Sep 16 23:06:03 server.org slapd[15038]: conn=1109 op=32 BIND anonymous mech=implicit ssf=0
Sep 16 23:06:03 server.org slapd[15038]: conn=1109 op=32 BIND dn="tpid=NQ00000013,ou=people,dc=de,dc=foobiz,dc=com" method=128
Sep 16 23:06:03 server.org slapd[15038]: conn=1109 op=32 BIND dn="tpid=NQ00000013,ou=people,dc=de,dc=foobiz,dc=com" mech=SIMPLE ssf=0
Sep 16 23:06:03 server.org slapd[15038]: conn=1109 op=32 RESULT tag=97 err=0 text=
Sep 16 23:06:03 server.org slapd[15038]: daemon: activity on 1 descriptor
Sep 16 23:06:03 server.org slapd[15038]: daemon: activity on:

我已经找出问题所在,WebLogic 没有任何过错。我们的应用程序似乎在使用调用远程 EJB 的相当破旧的概念,它在其中创建自己的代理、存储 JNDI 信息并在 每次方法调用.

上执行 JNDI 查找

因此,即使缓存 bean 也无济于事。当然,这会绕过任何缓存机制,从而导致每个请求都绑定多个 LDAP。