<?xml version="1.0" encoding="UTF-8"?>
<!-- 
/*
 * Copyright 2001-2008 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 -->
<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <!-- apache derby embedded  -->
    <Resource name="jdbc/JuddiDS" auth="Container"
            type="javax.sql.DataSource" username="" password=""
            driverClassName="org.apache.derby.jdbc.EmbeddedDriver" 
            url="jdbc:derby:target/juddi-derby-test-db;create=true"
            maxTotal="8" 
            />
   
    <!-- mysql 
    <Resource name="jdbc/JuddiDS" auth="Container"
            type="javax.sql.DataSource" username="root" password=""
            driverClassName="com.mysql.jdbc.Driver" 
            url="jdbc:mysql://localhost:3306/juddiv3"
            maxActive="8" 
            />
    -->
    <!-- postgresql 
    <Resource name="jdbc/JuddiDS" auth="Container"
            type="javax.sql.DataSource" username="juddi" password=""
            driverClassName="org.postgresql.Driver" 
            url="jdbc:postgresql://localhost:5432/juddi"
            maxActive="8" 
            />
     -->  
	 
	  <!-- oracle   
    <Resource name="jdbc/JuddiDS" auth="Container"
            type="javax.sql.DataSource" username="juddi" password=""
            driverClassName="oracle.jdbc.driver.OracleDriver" 
            url="jdbc:juddi:thin:@localhost:1521:xe"
            maxActive="8" 
            />
	 -->  
</Context>

