2

我正在开发一个 Web 应用程序,这个 Web 应用程序要卖给很多人。该应用程序正在 Java Spring 中开发。该应用程序有一个数据库,当出售该数据库时,该数据库可能位于不同的位置。

存储此数据库位置以便 Java 代码可以找到数据库的最佳方式在哪里?

我会将它存储在一个 XML 文件中,但它会放在哪里,以便某人可以轻松更改数据库位置。

我不想将它存储在 Spring Beans 中。还有其他方法吗?

4

1 回答 1

1

问题是它是一个 Web 应用程序,这表明您将给他们一个 WAR 文件。所有 Spring 配置和属性都将被打包;更改某些内容将意味着打开包装,而您不希望他们这样做。

您应该使用 JNDI 名称设置数据库访问权限,这些名称是在包部署到的应用服务器上设置的。提供说明以显示如何为 Tomcat 和其他应用程序服务器设置一个。当您的应用启动时,它将从应用服务器获取数据源名称。

您假设他们足够复杂,能够在他们的应用服务器上创建 JNDI 数据源,或者您的文档足够好。祝你好运。

另一个想法是让您创建一个小型内存数据库,例如 Hypersonic 或 Derby,其中包含应用程序的配置信息。告诉用户将它放在您指定的应用程序之外的位置(例如 c:/yourApp/configuration),提供一个脚本以在应用程序启动时启动它,并让您的应用程序在加载时查询数据库连接信息。

现在,您将指望他们知道如何为您的内存数据库创建 INSERT 或 UPDATE 查询。但是您编写文档来指导如何做的机会更大,因为您不必为 WebLogic、Tomcat、Jetty、JBOSS、WebSphere、Glassfish 和所有其他 Java EE 应用程序服务器弄清楚如何做。

于 2012-09-15T12:12:07.697 回答