3

MySQL バックエンドを使用して XPages アプリケーションを作成しています。アプリケーションは複数の顧客によって使用されます。それぞれに独自の NSF データベースと、対応する MySQL データベースがあります。各顧客には独自の MySQL ユーザー名があります。Extension Library 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

Best is to subclass the Extlib classes. Since the extlib source is provided it should be not too hard. The other option is to use the version control system to maintain branches per customer that only differ in that config file

于 2013-07-19T12:10:52.943 に答える