在运行时替换 Websphere 数据源中的密码

Replace password in Websphere datasource during runtime

在我使用应用程序代码查找 Websphere 8 中的数据源后,我能否将其密码设置为配置文件中的内容以外的内容? (我在哪里得到其他密码在这里无关紧要,我只是拥有它。) 这应该都在运行时发生,我不想将密码写入配置文件,只需在内存中进行此替换即可。

是的,您可以将用户名和密码作为参数提供给 DataSource.getConnection(user, password) 方法。

如果您使用资源引用获取数据源,则需要确保其身份验证类型是 APPLICATION,而不是 CONTAINER。 (CONTAINER 是未指定的资源引用的默认值)。这是一个例子,

@Resource(lookup = "jdbc/myDataSource", authenticationType = AuthenticationType.APPLICATION)
DataSource myDataSource;

...
Connection con = myDataSource.getConnection(user, password);