Custom DataSourceFactory also worked for me. The trick was to create one big
config string and use it in the
org.apache.openejb.resource.jdbc.DataSourceFactory.create().
Something like this:
<resources>
<Resource id="myDS" type="javax.sql.DataSource"
class-name="com.bla.bla.DataSourceFactory" factory-name="create">
JdbcDriver = org.postgresql.Driver
</Resource>
</resources>
Public class DataSourceFactory {
public Object create() {
String definition = "JtaManaged=true\n" +
"JdbcDriver=org.postgresql.Driver\n" +
"JdbcUrl=yourUrl\n" +
"UserName=yourUser\n" +
"Password=yourPassword\n" +
"PasswordCipher=PlainText\n" +
"OpenEJBResourceClasspath=false\n" + ...;
return
org.apache.openejb.resource.jdbc.DataSourceFactory.create("someDS", true,
org.postgresql.Driver.class,
definition, null, null, null, false);
}
}
Cheers,
Dmitry
-----Original Message-----
From: randygalbraith [mailto:[email protected]]
Sent: Monday, December 2, 2019 2:32 PM
To: [email protected]
Subject: RE: Supplying a JDBC password at run-time.
Hi Dmitry,
Interesting. I did not know ${} syntax within resources.xml would pull in
values from the environment. Alas, that would not work in my case, since our
Oracle password is not and cannot be an environment variable.
Cheers,
-Randy
--
Sent from:
https://urldefense.com/v3/__http://tomee-openejb.979440.n4.nabble.com/TomEE-Users-f979441.html__;!LLC3CZw_jFA!OtvzO-Y8s49lf9J1CSZUZwMO_WknI9cxY6N-BAQkYZkEk5Z-Dy_qWfm87gHUZKSIjqmN$