【发布时间】:2015-04-14 10:34:53
【问题描述】:
与 JNDI 数据源的连接池大小相比,我正在寻找一些关于如何在 jboss/wildfly 中配置线程池以处理 http 请求的最佳实践和建议。
虽然服务器上运行着其他 Web 应用程序,但一个新的 Web 服务应用程序使用 Spring 安全性进行身份验证,它通过 JNDI 检索的 JDBC 数据源调用我的数据库。如果在身份验证时抛出异常,Spring 安全将其解释为身份验证失败并返回 401,这是有道理的。
我们已将节流实现为自定义 Spring 安全过滤器,它在逐个用户、逐个端点的基础上工作,并且需要在应用之前进行身份验证查找。
当使用 jmeter 锤击服务以测试限制时,我开始看到返回 401 响应,因为没有更多的 JDBC 连接可用。本质上 jboss/wildfly 有足够的 HTTP 线程来处理请求,但没有足够的 JDBC 连接来匹配。
我不愿意增加数据源连接池以匹配 HTTP 线程池,因为这看起来很愚蠢。我想知道是否有围绕这个问题的最佳实践。目前我正在考虑在 Spring 安全异常处理中添加一些额外的东西来检查抛出的异常,如果它没有 JDBC 连接,则返回 503。
【问题讨论】:
标签: java spring jdbc jboss wildfly