database | A list of key/value pairs as a which are the database name and the database path. |
name | A name, can be any text. |
properties | The server hsql properties. |
serverState | The current state of this server in numerically coded form. |
Example 1 | Using an HSQL Server and an HSQL connection to run lots of SQL. |
Example 2 | Using an HSQL Server to provide a sql-persister-service. |
Configured By | ELEMENT |
Access | READ_WRITE |
Required | No. |
A list of key/value pairs as a which are the database name and the database path. Hsqldb supports up to 10 databases per server instance.
Configured By | ATTRIBUTE |
Access | READ_WRITE |
Required | No. |
A name, can be any text.
Configured By | ELEMENT |
Access | READ_WRITE |
Required | No. |
The server hsql properties. For more information please see the hsqldb documentation.
Access | READ_ONLY |
Required | Read Only. |
The current state of this server in numerically coded form.
Typically, this will be one of:
Using an HSQL Server and an HSQL connection to run lots of SQL.
<oddjob id="this"> <job> <sequential id="top" name="Run in Sequence"> <jobs> <properties> <values> <value key="work.dir" value="./work/hsql-example"/> </values> </properties> <hsql:hsqldb name="Hsqldb Server" xmlns:hsql="http://rgordon.co.uk/oddjob/hsql"> <database> <value key="mydb" value="${work.dir}/mydb"/> </database> <properties> <properties> <values> <value key="server.port" value="11001"/> <value key="server.silent" value="false"/> </values> </properties> </properties> </hsql:hsqldb> <variables id="vars"> <connection> <hsql:connection url="jdbc:hsqldb:hsql://localhost:11001/mydb" username="sa" xmlns:hsql="http://rgordon.co.uk/oddjob/hsql"/> </connection> </variables> <folder name="Setup Sql"> <jobs> <sequential id="setup" name="All"> <jobs> <sql name="Create table"> <connection> <value value="${vars.connection}"/> </connection> <input> <buffer>create table greetings ( style varchar(20), greeting varchar(30),constraint greetings_pk primary key (style))</buffer> </input> </sql> <sql name="Insert1"> <connection> <value value="${vars.connection}"/> </connection> <input> <buffer>insert into greetings values ('nice', 'hello')</buffer> </input> </sql> <sql name="Insert1"> <connection> <value value="${vars.connection}"/> </connection> <input> <buffer>insert into greetings values ('grumpy', 'bah humbug')</buffer> </input> </sql> </jobs> </sequential> </jobs> </folder> <folder name="Query Sql"> <jobs> <sequential id="single-query" name="All"> <jobs> <sql id="query" name="Query"> <connection> <value value="${vars.connection}"/> </connection> <input> <buffer>select greeting from greetings where style='nice'</buffer> </input> <results> <sql-results-bean/> </results> </sql> <echo id="result">${query.results.row.GREETING}</echo> <echo id="resultindexed">${query.results.rows[0].GREETING}</echo> </jobs> </sequential> </jobs> </folder> <folder name="Query All"> <jobs> <sequential id="all-query" name="All"> <jobs> <sql id="queryall" name="Query"> <connection> <value value="${vars.connection}"/> </connection> <input> <buffer>select style, greeting from greetings</buffer> </input> <results> <sql-results-bean/> </results> </sql> <foreach id="for"> <values> <value value="${queryall.results.rows}"/> </values> <configuration> <inline> <foreach id="each"> <job> <echo name="Echo Row ${each.index}">${each.current.STYLE} is ${each.current.GREETING}</echo> </job> </foreach> </inline> </configuration> </foreach> </jobs> </sequential> </jobs> </folder> <folder name="Cleanup Sql"> <jobs> <sql id="clean-up" name="Sql Job"> <connection> <value value="${vars.connection}"/> </connection> <input> <buffer>drop table greetings</buffer> </input> </sql> </jobs> </folder> </jobs> </sequential> </job> </oddjob>
Using an HSQL Server to provide a sql-persister-service.
<oddjob> <job> <sequential name="Sql Persister Example"> <jobs> <hsql:hsqldb name="Database Server" xmlns:hsql="http://rgordon.co.uk/oddjob/hsql"> <database> <value key="ojdb" value="${work.dir}/ojdb"/> </database> <properties> <properties> <values> <value key="server.port" value="11002"/> <value key="server.silent" value="false"/> </values> </properties> </properties> </hsql:hsqldb> <variables id="vars"> <persisterConnection> <hsql:connection url="jdbc:hsqldb:hsql://localhost:11002/ojdb" username="sa" xmlns:hsql="http://rgordon.co.uk/oddjob/hsql"/> </persisterConnection> </variables> <sql name="Create table"> <connection> <value value="${vars.persisterConnection}"/> </connection> <input> <buffer>CREATE TABLE oddjob( path VARCHAR(32), id VARCHAR(32), job BLOB, CONSTRAINT oddjob_pk PRIMARY KEY (path, id))</buffer> </input> </sql> <sql-persister-service id="persister-service"> <connection> <value value="${vars.persisterConnection}"/> </connection> </sql-persister-service> <oddjob id="database-persist-example" name="A Database Persisted Oddjob"> <configuration> <arooa:configuration resource="org/oddjob/hsql/OddjobToPersist.xml" xmlns:arooa="http://rgordon.co.uk/oddjob/arooa"/> </configuration> <persister> <value value="${persister-service.persister(example)}"/> </persister> </oddjob> <folder name="Cleanup Sql"> <jobs> <sql id="clean-up" name="Sql Job"> <connection> <value value="${vars.persisterConnection}"/> </connection> <input> <buffer>drop table oddjob</buffer> </input> </sql> </jobs> </folder> </jobs> </sequential> </job> </oddjob>