Sie erwähnen "einfachen Anwendungstest", also gehe ich davon aus, dass Sie Ihre Komponententests konfigurieren müssen. In einer Einheitentest-Konfigurationsklasse (z. B. class TestSpringWebConfig extends SpringWebConfig
) erhalten Sie eine Oracle-Datenquelle mit einer Brieftasche (Bonus:Folgendes verwendet ein Proxy-Datenbankkonto):
System.setProperty("oracle.net.tns_admin", "path/to/your/tnsnames");
OracleDataSource ds = new OracleDataSource();
Properties props = new Properties();
props.put("oracle.net.wallet_location", "(source=(method=file)(method_data=(directory=path/to/your/wallet)))");
/*
Use the following only if you have a proxy user database account instead of a normal DB account
A test user's username could go here though
*/
props.put(OracleConnection.CONNECTION_PROPERTY_PROXY_CLIENT_NAME, "proxy-user-name");
ds.setConnectionProperties( props );
ds.setURL("jdbc:oracle:thin:/@dbAlias"); //dbAlias should match what's in your tnsnames
return ds;
Dies setzt auch voraus, dass Sie Folgendes in Ihrem JDK haben:
Fügen Sie in JAVA_HOME/jre/lib/security/java.security Folgendes zur „Liste der Anbieter“ hinzu:
security.provider.11=oracle.security.pki.OraclePKIProvider
Und fügen Sie die folgenden JAR-Dateien von Oracle zu JAVA_HOME/jre/lib/ext hinzu:
- osdt_cert.jar
- osdt_core.jar
- oraclepki.jar
Und natürlich wird bei all dem Obigen davon ausgegangen, dass sich das ojdbc7-Jar bereits im Klassenpfad Ihrer Anwendung befindet.