From 29c8f37ccca4828743f1fd2139abf0f0848a0f0e Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Thu, 20 Nov 2008 15:08:30 +0000 Subject: [PATCH] Petclinic seems to work --- .../db/hsqldb/petclinic.properties | 5 +- org.springframework.samples.petclinic/ivy.xml | 20 ++-- .../petclinic.iml | 60 +++++----- .../readme.txt | 105 ++++++++++++++++++ 4 files changed, 145 insertions(+), 45 deletions(-) create mode 100644 org.springframework.samples.petclinic/readme.txt diff --git a/org.springframework.samples.petclinic/db/hsqldb/petclinic.properties b/org.springframework.samples.petclinic/db/hsqldb/petclinic.properties index f6b97678f0..e143515de2 100644 --- a/org.springframework.samples.petclinic/db/hsqldb/petclinic.properties +++ b/org.springframework.samples.petclinic/db/hsqldb/petclinic.properties @@ -1,5 +1,5 @@ -#HSQL Database Engine 1.8.0.9 -#Thu Nov 20 16:03:56 CET 2008 +#HSQL Database Engine +#Mon Jan 09 09:39:15 GMT 2006 hsqldb.script_format=0 runtime.gc_interval=0 sql.enforce_strict_size=false @@ -10,6 +10,7 @@ hsqldb.cache_scale=14 version=1.8.0 hsqldb.default_table_type=memory hsqldb.cache_file_scale=1 +sql.compare_in_locale=false hsqldb.log_size=200 modified=yes hsqldb.cache_version=1.7.0 diff --git a/org.springframework.samples.petclinic/ivy.xml b/org.springframework.samples.petclinic/ivy.xml index 8dd6cef2e3..f4084a43e9 100644 --- a/org.springframework.samples.petclinic/ivy.xml +++ b/org.springframework.samples.petclinic/ivy.xml @@ -11,9 +11,6 @@ - - - @@ -22,20 +19,23 @@ - - - + + + + - + + - + + + + - - diff --git a/org.springframework.samples.petclinic/petclinic.iml b/org.springframework.samples.petclinic/petclinic.iml index 57ef73fd8d..b9f523aa0a 100644 --- a/org.springframework.samples.petclinic/petclinic.iml +++ b/org.springframework.samples.petclinic/petclinic.iml @@ -1,30 +1,18 @@ - + - - - - - - - - - - - - - - - - - - - + + + + + + + - + @@ -32,11 +20,15 @@ + + + + - - + + @@ -47,21 +39,14 @@ - - - - - - - - - - + + + @@ -136,6 +121,15 @@ + + + + + + + + + diff --git a/org.springframework.samples.petclinic/readme.txt b/org.springframework.samples.petclinic/readme.txt new file mode 100644 index 0000000000..462894d633 --- /dev/null +++ b/org.springframework.samples.petclinic/readme.txt @@ -0,0 +1,105 @@ +========================================= +== Spring PetClinic sample application == +========================================= + +@author Ken Krebs +@author Juergen Hoeller +@author Rob Harrop +@author Costin Leau +@author Sam Brannen + +-------------------------------------------------------------------------------- + + +1. DATA ACCESS STRATEGIES + +PetClinic features alternative DAO implementations and application +configurations for JDBC, Hibernate and JPA, with HSQLDB and MySQL as target +databases. The default PetClinic configuration is JDBC on HSQLDB. See +"src/jdbc.properties", "war/WEB-INF/web.xml" and +"war/WEB-INF/applicationContext-*.xml" for details. A simple comment change in +"web.xml" switches between the data access strategies. + +The JDBC and Hibernate versions of PetClinic also demonstrate JMX support via +the use of "" for exporting MBeans. SimpleJdbcClinic +exposes the SimpleJdbcClinicMBean management interface via JMX through the use +of the @ManagedResource and @ManagedOperation annotations; whereas, the +HibernateStatistics service is exposed via JMX through auto-detection of the +service MBean. You can start up the JDK's JConsole to manage the exported bean. + +The Spring distribution comes with all required Hibernate and TopLink Essentials +(JPA RI) JAR files to be able to build and run PetClinic on those two ORM tools. + +All data access strategies can work with JTA for transaction management, by +activating the JtaTransactionManager and a JndiObjectFactoryBean that refers to +a transactional container DataSource. The default for JDBC is +DataSourceTransactionManager; for Hibernate, HibernateTransactionManager; for +JPA, JpaTransactionManager. Those local strategies allow for working with any +locally defined DataSource. + +Note that in the default case, the sample configurations for Hibernate and JPA +specify Spring's non-pooling DriverManagerDataSource as a local DataSource. +You can change the DataSource definition to a Commons DBCP BasicDataSource to +get proper connection pooling. See "war/WEB-INF/applicationContext-jdbc.xml" for +an example. + +-------------------------------------------------------------------------------- + + +2. BUILD AND DEPLOYMENT + +This directory contains the web app source. For deployment, it needs to be built +with Apache Ant 1.6 or higher. + +Run "build.bat" in this directory for available targets (e.g. "build.bat build", +"build.bat warfile"). You can use "warfile.bat" as a shortcut for WAR file +creation. The WAR file will be created in the "dist" directory. + +You can also invoke an existing installation of Ant with this directory as the +execution directory. Note that you must do this in order to execute the "tests" +target, as you need the JUnit task from Ant's optional.jar, which is not +included in this sample application. + +To execute the web application with its default settings, simply start the +HSQLDB instance in the "db/hsqldb" directory, for example using "server.bat". + +For MySQL, you'll need to use the corresponding schema and SQL scripts in the +"db/mysql" subdirectory. Follow the steps outlined in +"db/mysql/petclinic_db_setup_mysql.txt" for explicit details. + +In you intend to use a local DataSource, the JDBC settings can be adapted in +"src/jdbc.properties". To use a JTA DataSource, you need to set up corresponding +DataSources in your Java EE container. + +Notes on enabling Log4J: + - Log4J is disabled by default, due to JBoss issues + - Uncomment the Log4J listener in "WEB-INF/web.xml" + +-------------------------------------------------------------------------------- + + +3. JPA ON TOMCAT + +Notes on using the Java Persistence API (JPA) on Apache Tomcat 4.x or higher, +with a persistence provider that requires class instrumentation (such as TopLink +Essentials): + +To use JPA class instrumentation, Tomcat has to be instructed to use a custom +class loader which supports instrumentation. See the JPA section of the Spring +reference manual for complete details. + +The basic steps are: + - Copy "spring-tomcat-weaver.jar" from the Spring distribution to + "TOMCAT_HOME/server/lib". + - If you're running on Tomcat 5.x, modify "TOMCAT_HOME/conf/server.xml" + and add a new "" element for 'petclinic' (see below). You can + alternatively deploy the WAR including "META-INF/context.xml" from this + sample application's "war" directory, in which case you will need to + uncomment the Loader element in that file to enable the use of the + TomcatInstrumentableClassLoader. + + + + + ... +