Hi Dmitry & Richard, Thank you for all your help! Here is my anonymized source for what worked :-)
DataSourceFactory.java: package path1.path2; import java.io.IOException; import path3.path4.FooStore; public class DataSourceFactory { public Object create() { String password = null; try { password = FooStore.getPassword("user", "db"); } catch (Exception e) { System.err.println(e.toString()); return null; } String definition = "JdbcDriver=oracle.jdbc.OracleDriver\n" + "JdbcUrl=jdbc:oracle:thin:@host:port:db\n" + "JtaManaged=true\n" + "UserName=user\n" + "Password=" + password + "\n"; System.err.println("definition=["+definition+"]"); try { return org.apache.openejb.resource.jdbc.DataSourceFactory. create("someDS", true, oracle.jdbc.OracleDriver.class, definition, null, null, null, false); } catch (IllegalAccessException iae) { System.err.println(iae.toString()); return null; } catch (InstantiationException ie) { System.err.println(ie.toString()); return null; } catch (IOException ioe) { System.err.println(ioe.toString()); return null; } } } resources.xml: <?xml version="1.0" encoding="UTF-8"?> <resources> <Resource id="myDS" type="javax.sql.DataSource" class-name="path1.path2.DataSourceFactory" factory-name="create"> JdbcDriver = oracle.jdbc.OracleDriver </Resource> </resources> build.xml updates: + <pathelement location = "${libcat}/openejb-core-8.0.0-M2.jar"/> + <pathelement location = "${libora}/ojdbc8.jar"/> Cheers, -Randy -- Sent from: http://tomee-openejb.979440.n4.nabble.com/TomEE-Users-f979441.html