Como controlar HSQLDB em modo server pela aplicação?

pessoal,

Uso a seguinte classe ServiceLocator para mapear a conexão com o banco de dados.

package anaman.locator;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import javax.activation.DataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import anaman.exception.AnamanException;

public class ServiceLocator {
	private final String driver = "org.hsqldb.jdbcDriver";

	private final String dbPath = "C:\\Documents and Settings\\user\\Desktop\\build\\Anaman\\WebContent\\hsqldb\\anaman";
	//private final String dbPath = "hsql://localhost:59999/anaman";
	
	private final String url = "jdbc:hsqldb:" + dbPath;
	private final String user = "sa";
	private final String password = "";

	private static ServiceLocator instance = new ServiceLocator();

	private ServiceLocator() {
	}

	public static ServiceLocator getInstance() {
		return instance;
	}

	public Connection getConnection() throws AnamanException {
		Connection conn = null;
		try {
			Class.forName(driver);
			conn = DriverManager.getConnection(url, user, password);
		} catch (ClassNotFoundException driver) {
			System.out.println("Driver not found: " + driver.getMessage());
		} catch (SQLException dataSource) {
			System.out.println("Error in connecting to data source: "
					+ dataSource.getMessage());
		}
		return conn;
	}
	
	public DataSource getDataSource() throws AnamanException {
		DataSource datasource = null;
		try {
			Context initContext = new InitialContext();
			Context envContext = (Context)initContext.lookup("java:/comp/env");
			datasource = (DataSource)envContext.lookup("jdbc/AnamanDB");
		} catch (NamingException e) {
			System.out.println("[AnamanServiceLocator] - error connecting to datasource: " +
					e.getExplanation());
		}
		return datasource;
	}
}[/code]

Também postei essa classe no pastebin [url=http://pastebin.com/f2b22a0f4]aqui[/url] para facilitar o debugging =)

Hoje tenho que iniciar e parar o banco de dados na unha e gostaria que a conexão fosse controlada por essa classe. Tenho uma DAO que já usa essa classe para "falar" com o banco de dados, mas infelizmente não estou usando qualquer abstração  de persistência.

Também tentei, como podem ver, implementar um datasource mas não tive êxito. Mapeei a conexão ao datasource no web.xml assim:
[code]<!-- Datasource mapping -->
	<resource-ref>
		<description>Anaman HSQLDB</description>
		<res-ref-name>jdbc/AnamanDB</res-ref-name>
		<res-type>javax.sql.DataSource</res-type>
		<res-auth>Container</res-auth>
	</resource-ref>

Obrigado desde já,
Gustavo

você precisa configurar o datasource no container:

veja aqui um exemplo de como fazer isso no Tomcat.