3

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

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

似乎没有办法使这些文件动态化(WEB-INF 按照规范是只读的)或在其中包含动态元素(请参阅我的上一个问题)。

我们可以在 中使用动态 JDBC URL ConnectionManager,但是 ExtLib 书警告不要这种做法。看来我们随后失去了连接池。此外,该@GetJdbcConnection函数不接受 JDBC URL。

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

编辑:已解决

我创建了 jdbcConnectionManager 组件的子类。该过程在此处详细说明:http: //lazynotesguy.net/blog/2013/08/09/subclassing-an-extlib-component/

4

1 回答 1

0

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

于 2013-07-19T12:10:52.943 回答