From 19173a063efe106963895385c104d027b16317e2 Mon Sep 17 00:00:00 2001
From: Costin Leau <cleau@vmware.com>
Date: Thu, 26 Nov 2009 17:40:44 +0000
Subject: [PATCH] SPR-6447 + improve DataSource setup

---
 .../db/mysql/petclinic_db_setup_mysql.txt     | 24 ++++++++++
 ...cat_mysql.xml => petclinic_tomcat_all.xml} | 48 +++++++++++++++++++
 2 files changed, 72 insertions(+)
 create mode 100644 src/main/resources/db/mysql/petclinic_db_setup_mysql.txt
 rename src/main/resources/db/{mysql/petclinic_tomcat_mysql.xml => petclinic_tomcat_all.xml} (59%)

diff --git a/src/main/resources/db/mysql/petclinic_db_setup_mysql.txt b/src/main/resources/db/mysql/petclinic_db_setup_mysql.txt
new file mode 100644
index 00000000..3bc66bbc
--- /dev/null
+++ b/src/main/resources/db/mysql/petclinic_db_setup_mysql.txt
@@ -0,0 +1,24 @@
+================================================================================
+===        Spring PetClinic sample application - MySQL Configuration         ===
+================================================================================
+
+@author Sam Brannen
+@author Costin Leau
+
+--------------------------------------------------------------------------------
+
+1) Download and install the MySQL database (e.g., MySQL Community Server 5.1.x),
+   which can be found here: http://dev.mysql.com/downloads/
+
+2) Download Connector/J, the MySQL JDBC driver (e.g., Connector/J 5.1.x), which
+   can be found here: http://dev.mysql.com/downloads/connector/j/
+   Copy the Connector/J JAR file (e.g., mysql-connector-java-5.1.5-bin.jar) into
+   the db/mysql directory. Alternatively, uncomment the mysql-connector from the
+   Petclinic pom.
+
+3) Create the PetClinic database and user by executing the "db/mysql/createDB.txt"
+   script.
+
+4) Open "src/main/resources/jdbc.properties"; comment out all properties in the
+   "HSQL Settings" section; uncomment all properties in the "MySQL Settings"
+   section.
\ No newline at end of file
diff --git a/src/main/resources/db/mysql/petclinic_tomcat_mysql.xml b/src/main/resources/db/petclinic_tomcat_all.xml
similarity index 59%
rename from src/main/resources/db/mysql/petclinic_tomcat_mysql.xml
rename to src/main/resources/db/petclinic_tomcat_all.xml
index d1c5a3b0..ed45c5cd 100644
--- a/src/main/resources/db/mysql/petclinic_tomcat_mysql.xml
+++ b/src/main/resources/db/petclinic_tomcat_all.xml
@@ -3,6 +3,54 @@
 <Context path="/petclinic" docBase="petclinic" debug="4" reloadable="true">
   <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_petclinic_log." suffix=".txt" timestamp="true"/>
 
+  <!-- Define a database connection pool for HSQL -->
+  <!-- NOTE: make sure that a copy of hsqldb.jar is in the TOMCAT common/lib directory -->
+  <Resource name="jdbc/petclinicHSQL" auth="Container" type="javax.sql.DataSource"/>
+  <ResourceParams name="jdbc/petclinicHSQL">
+    <parameter>
+      <name>factory</name>
+      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+    </parameter>
+    
+    <parameter>
+      <name>driverClassName</name>
+      <value>org.hsqldb.jdbcDriver</value>
+    </parameter>
+    <parameter>
+      <name>url</name>
+      <value>jdbc:hsqldb:hsql://localhost:9001</value>
+    </parameter>
+    <parameter>
+      <name>username</name>
+      <value>sa</value>
+    </parameter>
+    
+    <parameter>
+      <name>maxActive</name>
+      <value>50</value>
+    </parameter>
+    <parameter>
+      <name>maxIdle</name>
+      <value>10</value>
+    </parameter>
+    <parameter>
+      <name>maxWait</name>
+      <value>10000</value>
+    </parameter>
+    <parameter>
+      <name>removeAbandoned</name>
+      <value>true</value>
+    </parameter>
+    <parameter>
+      <name>removeAbandonedTimeout</name>
+      <value>60</value>
+    </parameter>
+    <parameter>
+      <name>logAbandoned</name>
+      <value>true</value>
+    </parameter>
+  </ResourceParams>
+
   <!-- Define a database connection pool for MYSQL -->
   <Resource name="jdbc/petclinicMYSQL" auth="Container" type="javax.sql.DataSource"/>
   <ResourceParams name="jdbc/petclinicMYSQL">
-- 
GitLab