我正在开发一个Web应用程序,这个Web应用程序将出售给很多人。该应用程序正在Java Spring中开发。该应用程序有一个数据库,销售时该数据库可能位于不同的位置。
存储此数据库位置的最佳方法在哪里,以便Java代码可以找到数据库?
我会将它存储在一个XML文件中,但它会去哪里,以便某人可以轻松更改数据库位置。
我不想将它存储在Spring Beans中。还有另一种方式吗?
答案 0 :(得分:1)
问题在于它是一个Web应用程序,它建议您为它们提供一个WAR文件。将打包所有Spring配置和属性;改变一些东西意味着打开包装,你不希望他们这样做。
您应该使用JNDI名称设置数据库访问权限,这些名称是在部署程序包的应用程序服务器上设置的。提供说明以说明如何为Tomcat和其他应用服务器设置一个。当您的应用启动时,它将从应用服务器获取数据源名称。
您假设他们足够精明,能够在其应用服务器上创建JNDI数据源,或者您的文档足够好。祝你好运。
另一个想法是为您创建一个小内存数据库,如Hypersonic或Derby,它附带了应用程序的配置信息。告诉用户将其放在您指定的应用程序之外的位置(例如c:/ yourApp / configuration),提供一个脚本以在应用程序启动时启动它,并让应用程序在加载时查询数据库连接信息。 / p>
现在,您将了解如何为内存数据库创建INSERT或UPDATE查询。但是您编写文档以指导如何执行此操作的机会更好,因为您无需了解如何为WebLogic,Tomcat,Jetty,JBOSS,WebSphere,Glassfish和其他所有Java EE应用程序服务器执行此操作。< / p>