Raible's Wiki

Raible Designs
Wiki Home
News
Recent Changes

AppFuse

Homepage
  - Korean
  - Chinese
  - Italian
  - Japanese

QuickStart Guide
  - Chinese
  - French
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish
  - Japanese

User Guide
  - Korean
  - Chinese

Tutorials
  - Chinese
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish

FAQ
  - Korean

Latest Downloads

Other Applications

Struts Resume
Security Example
Struts Menu

Set your name in
UserPreferences


Referenced by
AppFuseSupport




JSPWiki v2.2.33

[RSS]


Hide Menu

AppFuseWithHSQLDB


Difference between version 8 and version 4:

At line 13 changed 1 line.
* [4] Start HSQL and run tests
* [4] Modify applicationContext-hibernate.xml
* [5] Start HSQL and run tests
At line 17 changed 1 line.
[Download HSQLDB|http://sourceforge.net/project/showfiles.php?group_id=23316&release_id=254279] from SourceForge. Create a lib/hsqldb-1.7.2 directory and put hsqldb.jar in this directory.
[Download HSQLDB|http://prdownloads.sourceforge.net/hsqldb/hsqldb_1_8_0_2.zip?download] from SourceForge. Create a lib/hsqldb-1.8.0 directory and put hsqldb.jar in this directory.
At line 27 changed 1 line.
hsqldb.version = 1.7.2
hsqldb.version=1.8.0
At line 42 changed 1 line.
hibernate.dialect=net.sf.hibernate.dialect.HSQLDialect
hibernate.dialect=org.hibernate.dialect.HSQLDialect
At line 49 changed 1 line.
!!Start HSQL and run tests [#4]
!!Modify applicationContext-hibernate.xml [#4]
You need to turn off batch processing for Hibernate for things to work with HSQL. In ''src/dao/**/applicationContext-hibernate.xml'', uncomment the following line:
At line 51 changed 1 line.
HSQLDB doesn't ship with a way to start and run it as a service. However, there is a way to configure HSQLDB to [run as a service|http://www.waldhor.com/hsql.htm]. Following these instructions, you can install an HSQL service running the "appfuse" database. Just [download the hsql.exe and hsql_service_install.bat|http://www.waldhor.com/hsql.zip] and change the hsql_service_install.bat to contain the following. The setttings below assume you've extracted the hsqldb download to c:\Tools\hsqldb and that you've install the downloaded files into the same directory.
{{{
<prop key="hibernate.jdbc.batch_size">0</prop>
}}}
At line 57 added 4 lines.
!!Start HSQL and run tests [#5]
HSQLDB doesn't ship with a way to start and run it as a service. However, there is a way to configure HSQLDB to [run as a service|http://www.waldhor.com/hsql.htm]. Following these instructions, you can install an HSQL service running the "appfuse" database. Just [download the hsql.exe and hsql_service_install.bat|http://www.waldhor.com/hsql.zip] and change the hsql_service_install.bat to contain the following. The settings below assume you've extracted the hsqldb download to c:\Tools\hsqldb and that you've install the downloaded files into the same directory.
At line 64 changed 1 line.
java -cp lib/hsqldb-1.7.2/hsqldb.jar org.hsqldb.Server -database.0 c:/temp/appfuse-db -dbname.0 appfuse
java -cp lib/hsqldb-1.8.0/hsqldb.jar org.hsqldb.Server -database.0 c:/temp/appfuse-db -dbname.0 appfuse
At line 74 added 1 line.
If you write model objects with Boolean values, you may find that DBUnit fails. A quick fix for this is to add a reference to DBUnits custom data types.
At line 76 added 32 lines.
Unfortunately, the generally accepted remedy does not seemd to work, namely:
{{{
<taskdef name="dbunit" classname="org.dbunit.ant.DbUnitTask" classpathref="dao.test.classpath"
datatypeFactory="ca.ottawa.eiad.eventscal.util.HsqlDataTypeFactory"
/>
}}}
The quick and dirty fix for this seems to be to add the factory whereever it's needed, e.g.
{{{
<target name="db-export" depends="prepare"
description="Exports the current data in the database">
<dbunit driver="${database.driver_class}" url="${database.url}"
datatypeFactory="org.dbunit.ext.hsqldb.HsqldbDataTypeFactory"
userid="${database.username}" password="${database.password}">
<export dest="db-export.xml" format="xml"/>
</dbunit>
</target>
}}}
The db-load target or anything else that uses DBUnit will need a similar quickfix, so a request has been made to the JIRA issue tracker to have this fixed with a global variable for a future release.
You may need to upgrade to DBUnit2.2 for this to work. Don't forget to update your lib.properties :
{{{
#
# DBUnit - http://www.dbunit.org/
#
dbunit.version=2.2
dbunit.dir=${lib.dir}/dbunit-${dbunit.version}
dbunit.jar=${dbunit.dir}/dbunit-${dbunit.version}.jar
}}}

Back to AppFuseWithHSQLDB, or to the Page History.