使用动态JDBC用户名和密码的最佳方法是什么?

时间:2013-07-19 10:48:51

标签: jdbc xpages xpages-extlib

我们正在创建一个带有MySQL后端的XPage应用程序。应用程序将由多个客户使用。每个都有自己的NSF数据库和相应的MySQL数据库。每个客户都有自己的MySQL用户名。我们正在使用Extension Library JDBC组件(ConnectionManager)。

我们计划将用户名和密码存储在NotesDocument中。这样,NSF的设计可以从NTF模板轻松更新,而不会影响这些数据。但是,ConnectionManager组件和@GetJdbcConnection SSJS函数都从存储在 WEB-INF / jdbc 文件夹中的文件中读取用户名,密码和其他连接信息。当NSF设计更新时,存储在那里的文件将被覆盖,从而丢失客户特定的信息。

似乎无法使这些文件动态化(WEB-INF按规范只读)或在其中包含动态元素(请参阅我的previous question)。

我们可以在ConnectionManager中使用动态JDBC URL,但ExtLib书中警告不要这样做。似乎我们失去了连接池。此外,@GetJdbcConnection函数不接受JDBC URL。

那么,存储特定于NSF的JDBC连接信息的最佳方法是什么?

编辑:已解决

我创建了jdbcConnectionManager组件的子类。该程序详述如下:http://lazynotesguy.net/blog/2013/08/09/subclassing-an-extlib-component/

1 个答案:

答案 0 :(得分:0)

最好是继承Extlib类。由于提供了extlib源,因此它应该不会太难。 另一种选择是使用版本控制系统来维护每个客户的分支,这些分支只在该配置文件中有所不同