我读到了这样的评论:“根本不要使用 JDBCRealm:它根本无法扩展,因为有一个 JDBC Connection 对象用于所有数据库通信。您最好使用 DataSourceRealm”
更详细地说是什么意思?
如果您不知道 JAVA Web 应用程序的原因和领域是什么,身份验证和授权可以由应用程序或容器(Tomcat 等)处理。如果选择使用容器,则需要指定一个用户存储(存储用户名、希望加密的密码、角色等的位置)。如果是 Tomcat,这甚至可能是您的 tomcat-users xml。或者您可以使用数据库(MYSQL 等)或目录(Active Directory 等)。 Tomcat 使用 JDBC(您的 JDBC 领域)连接到数据库,并使用 JNDI(您的 DataSourceRealm)连接到目录。
对于您的问题,JDBC 连接非常昂贵,具有池限制,并且受到高同步的影响,这意味着在高负载应用程序中,由于 JDBC 不可用,某些请求的身份验证可能会失败。 JNDI 具有更好的读取优化池,因此可以提供更好的性能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)