<!--

    Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<property name="oracle.pool.name" value="jdbc-oracle-pool"/>
<property name="oracle.xapool.name" value="jdbc-oracle-xa-pool"/>
<property name="oracle.resource.name" value="jdbc/oracleres"/>
<property name="oracle.xaresource.name" value="jdbc/xa-oracleres"/>
<property name="oracle.datasource.class" value="oracle.jdbc.pool.OracleDataSource"/>
<property name="oracle.xadatasource.class" value="oracle.jdbc.xa.client.OracleXADataSource"/>
<property name="oracle.driver.class" value="oracle.jdbc.driver.OracleDriver"/>
<property name="oracle.driver.name" value="oracle.jdbc.driver.OracleDriver"/>
<property name="oracle.user" value="coretest1"/>
<property name="oracle.password" value="coretest1"/>
<property name="oracle.url" value="jdbc:oracle:thin:@jws-280r-3.red.iplanet.com:1521:ora11g"/>
<property name="oracle.port" value="1521"/>
<property name="oracle.serverName" value="jws-280r-3.red.iplanet.com"/>
<property name="oracle.SID" value="ora11g"/>
<property name="oracle.resource.type" value="javax.sql.DataSource"/>

<!-- MySQL -->
<property name="mysql.pool.name" value="jdbc-mysql-pool"/>
<property name="mysql.xa.pool.name" value="jdbc-mysql-xa-pool"/>
<property name="mysql.resource.name" value="jdbc/mysqlres"/>
<property name="mysql.xa.resource.name" value="jdbc/xa-mysqlres"/>
<property name="mysql.datasource.class" value="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"/>
<property name="mysql.xa.datasource.class" value="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource"/>
<property name="mysql.driver.name" value="com.mysql.jdbc.Driver"/>
<property name="mysql.user" value="root"/>
<property name="mysql.password" value="mysql"/>
<property name="mysql.url" value="jdbc:mysql://localhost:3306/mysql"/>
<property name="mysql.databaseName" value="mysql"/>
<property name="mysql.serverName" value="localhost"/>
<property name="mysql.port" value="3306"/>

<property name="derby.user" value="dbuser"/>
<property name="derby.password" value="dbpassword"/>

