<!--

    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="module" value="as7-jts"/>
<property name="app.type" value="application"/>
<property name="application.xml" value="descriptor/application.xml"/>
<property name="sun-application.xml" value="descriptor/sun-application.xml"/>
<property name="web.xml" value="descriptor/web.xml"/>
<property name="sun-web.xml" value="descriptor/sun-web.xml"/>
<property name="ejb-jar.xml" value="descriptor/ejb-jar.xml"/>
<property name="sun-ejb-jar.xml" value="descriptor/sun-ejb-jar.xml"/>
<property name="appname" value="txnstatus-test1"/>
<property name="ejbjar.classes" value="${build.classes.dir}/com"/>
<!-- pool1 -->
<property name="ora.user1" value="aditya"/>
<property name="ora.pwd1" value="aditya"/>
<property name="ora.sid1" value="ORCL9"/>
<property name="ora.url1" value="jdbc:oracle:thin:@129.158.229.59:1521:ORCL9"/>
<!-- pool2 -->
<property name="ora.user2" value="scott"/>
<property name="ora.pwd2" value="tiger"/>
<property name="ora.sid2" value="ORA"/>
<property name="ora.url2" value="jdbc:oracle:thin:@129.158.229.239:1521:ORA"/>
<property name="ora.xaclass" value="oracle.jdbc.xa.client.OracleXADataSource"/>
<!-- sql related -->
<property name="dbdriver.classpath" value="/tmp/classes12.zip"/>
<property name="create.sql.file1" value="sql/create1_oracle.sql"/>
<property name="drop.sql.file1" value="sql/drop1_oracle.sql"/>
<property name="create.sql.file2" value="sql/create2_oracle.sql"/>
<property name="drop.sql.file2" value="sql/drop2_oracle.sql"/>
<property name="db.driver" value="oracle.jdbc.driver.OracleDriver"/>

