weblogic 12/使用普通jdbc连接

weblogic 12/使用普通jdbc连接,jdbc,weblogic,weblogic12c,Jdbc,Weblogic,Weblogic12c,我有一个WebApp,其中用户使用数据库凭据登录,后端使用用户凭据在生产数据库上运行prefab报告。在这种特殊情况下,公司政策不允许技术用户 因为数据源绑定到一个用户,所以我使用普通的JDBC连接 java.sql.Connection c = DriverManager.getConnection(aUrl, aUsername, aPassword); 这是可行的,但这是应用服务器中的首选方法吗?不知何故,这似乎是不对的。这种方式会在用户并发性达到某个阈值时使数据库的可用打开连接和结果集

我有一个WebApp,其中用户使用数据库凭据登录,后端使用用户凭据在生产数据库上运行prefab报告。在这种特殊情况下,公司政策不允许技术用户

因为数据源绑定到一个用户,所以我使用普通的JDBC连接

java.sql.Connection c = DriverManager.getConnection(aUrl, aUsername, aPassword);

这是可行的,但这是应用服务器中的首选方法吗?不知何故,这似乎是不对的。

这种方式会在用户并发性达到某个阈值时使数据库的可用打开连接和结果集(打开的游标)用完

通常的方法是定义一个数据库连接池,该池由具有适当授权的特定用户使用。这个连接池应该有一些DBA觉得舒服的配置设置,并且应该将其打开的连接保持在数据库可以接受的阈值内,这样您就永远不会在过度并发的情况下遇到问题(假设有250个并发用户,您不应该遇到数据库问题,您在文章中描述的方法很可能会出现这种情况)

实现这一点的方法是向数据库人员提供合理的论据,以便从以下方面正确地审查公司对数据库用户的政策:

  • 健壮性:最初的实现肯定会让您的数据库和它的前几百个并发用户一起崩溃——这是不可能的,但是肯定的
  • 性能:连接池的性能总是优于最初的想法,因为打开新连接是一项非常昂贵的操作
  • 易于监控和管理:技术用户将允许DBA对从java应用程序服务器到其数据库的正在运行的查询立即了解并更好地作出决定(例如,表空间大小等)
  • 安全性:实际上,谁可以订购哪个报表是一个业务逻辑问题,应该委托给上层—一旦解决了这个问题,就让java应用程序订购它的报表

祝你好运!

A
DataSource
有一个默认用户,但你也可以使用感谢,但是与大型跨国金融机构的安全神讨论<100名内部用户的WebApp要求是完全没有用的。我比你想象的更理解和支持你:)如果你喜欢,把你的子弹留到值得一战的地方,然后记住要有教诲和同理心。。。祝你好运!!