加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 应该在应用程序或应用程序服务器中定义数据源吗?

发布时间:2020-12-15 00:48:42 所属栏目:Java 来源:网络整理
导读:我已经开发了两个不同团队的应用程序(在Jboss服务器上运行).一个团队在应用程序WAR文件内部具有数据源配置,另一个团队在应用程序服务器的standalone.xml中.我不知道哪种方法更好. 因此,我在服务器的standalone.xml中定义数据源时发现了一些优势. 在服务器的s
我已经开发了两个不同团队的应用程序(在Jboss服务器上运行).一个团队在应用程序WAR文件内部具有数据源配置,另一个团队在应用程序服务器的standalone.xml中.我不知道哪种方法更好.

因此,我在服务器的standalone.xml中定义数据源时发现了一些优势.

>在服务器的standalone.xml中定义数据源比war文件更安全.如果服务器的standalone.xml中存储的数据库连接凭据几乎从未被修改,那么将war文件中的密码通常从开发人员的机器转移到服务器和数据库配置是由所有开发人员传播的安全的电脑.
>通过在standalone.xml中拥有数据源,我们可以使war文件更小,因为JDBC驱动程序可以作为模块安装,并且可以从war文件中删除.另外,加载JDBC作为模块比classpath更有效.
>如果我们不希望应用程序开发小组了解数据库连接设置,我们可以将数据源放在standalone.xml中.

通过在应用程序WAR文件中获取数据源配置,我看到以下优点:

>开发团队没有权限更改Jboss运行环境中的Jboss配置文件.所以DB连接只能在应用程序中定义.
>在开发状态下,开发人员经常需要在不同的数据库连接之间进行切换时很有用.例如,开发人员可以在构建WAR文件时指定连接.

所以我想知道两种方法是否有其他优势.在你看来,哪种方法更好?

解决方法

除了问题中提到的问题之外,将数据源在应用程序外部的另一个优点是允许在不同区域使用相同的war文件.这将允许团队在使用相同的战争文件时,为不同的环境(例如Test,Perf和Prod)提供不同的数据库.

您可以进行一次部署,然后由QA团队测试的战争文件可以升级到生产区域.这将确保没有未经测试的代码进入更高的区域,同时避免对SCM分支和代码冻结的需要.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读