We are creating an XPages application with an MySQL backend. Application will be used by several customers. Each has their own NSF database and a corresponding MySQL database. Each customer will have their own MySQL username. We are using the Extension Library JDBC components (ConnectionManager).
We were planning to store the username and password in a NotesDocument. This way the NSF's design can be easily updated from NTF template without affecting this data. However, the ConnectionManager component and @GetJdbcConnection SSJS function both read the username, password and other connection info from a file stored in WEB-INF/jdbc folder. Files stored there will be overwritten when the NSF design is updated, thus losing the customer-specific information.
There seems to be no way of making these files dynamic (WEB-INF is by specification read-only) or to include dynamic elements inside them (see my previous question).
We could use a dynamic JDBC URL in the ConnectionManager, however the ExtLib book warns against this practice. It seems that we then lose the connection pooling. And besides, the @GetJdbcConnection function does not accept JDBC URLS.
So, what is the best way of storing NSF-specific JDBC connection information?
EDIT: SOLVED
I created a subclass of the jdbcConnectionManager component. The procedure is detailed here: http://lazynotesguy.net/blog/2013/08/09/subclassing-an-extlib-component/