【问题标题】:Advantages/Disadvantages of configuring datasources at the application server level vs Spring's applicationContext在应用程序服务器级别配置数据源与 Spring 的 applicationContext 的优点/缺点
【发布时间】:2012-05-29 19:07:16
【问题描述】:

如果应用服务器可能将客户端更改为客户端,那么配置数据源的最佳方法是什么?

我最初在应用程序服务器本身中指定了它。但是现在应用程序服务器正在将客户端更改为客户端。客户使用许多不同的应用服务器,如 JBOSS、Tomcat 或 Websphere 等。

现在它对我来说变得很乏味,因为现在它必须根据客户端特定的服务器进行配置,并且我必须了解他们的应用程序服务器配置。

这就是我现在将数据源配置移动到 Spring 的应用程序上下文的原因。

  • 在处理多个应用服务器时注入数据源配置的最有效方法是什么?

【问题讨论】:

    标签: java sql-server spring datasource


    【解决方案1】:

    我更喜欢在应用程序级别配置数据库连接。

    实现此目的的一个好方法是在 Web 应用程序外部的属性文件中定义相关的连接设置,例如“/home/myuser/mywebapp/database.properties”。然后,您可以配置您的 Spring 应用程序以从该文件中读取属性并相应地创建您的数据源。

    这样就可以了

    • 避免(重新)配置客户端的应用服务器
    • 避免在构建系统上保留客户的数据库设置,因为您只需要他们的数据库属性文件的位置

    【讨论】:

      【解决方案2】:

      有一个很好的选择,可以将数据源配置保存在数据库本身中。

      为 Web 应用程序提供了 master-config db 的详细信息,从中读取其他数据库的配置。

      优点:

      1. 更改数据库配置不需要重新部署。只需更改主配置数据库即可。
      2. 所有网络应用的上下文都将相似且简单,因为它们只包含您的主配置数据库的配置。

      缺点:

      1. 将无法使用容器的连接池和资源管理

      【讨论】:

      • 很有趣,但对于大多数典型用途来说,这听起来像是一个严重的劣势。
      • @KevinWelker 在大多数容器中,它易于编写生产者,可以在从 dbs 读取配置后产生连接。
      猜你喜欢
      • 2020-01-16
      • 2012-03-18
      • 1970-01-01
      • 2015-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-28
      相关资源
      最近更新 更多