在应用程序服务器级别配置数据源的优点/缺点与Spring的applicationContext相比

时间:2012-05-29 19:07:17

标签: java sql-server spring datasource

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

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

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

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

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

2 个答案:

答案 0 :(得分:1)

将数据源配置保留在数据库本身中是一种很好的选择。

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

优点:

  1. 更改db configs doesent需要重新部署。只需更改master-config db。
  2. 所有网络应用程序的上下文都类似且简单,因为它们只包含master-config db的配置。
  3. 缺点:

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

答案 1 :(得分:1)

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

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

这样你可以

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