You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Vitaliy Obmanjuk <ve...@gmail.com> on 2006/12/08 16:08:04 UTC

hsqldb configuration

Hi all
I'm new to jackrabbit.
I have a very simple question: how can I configure hsqldb for the jackrabbit
tests?
This is my directory structure:
====
jackrabbit/applications
jackrabbit/modules
jackrabbit/src
====
All the settings are default.
I'm ran "mvn clean install" comman wthin "jackrabbit" folder.
All the tests passed OK.

What is the simplest way to configure repository for the hsqldb?

AFAIK I need to configure
D:\java\projects\jackrabbit\applications\test\repository.xml
and
D:\java\projects\jackrabbit\applications\test\workspaces\default\workspace.xml

=======================
I need to replace
======
<PersistenceManager class="
org.apache.jackrabbit.core.persistence.db.DerbyPersistenceManager">
          <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
        </PersistenceManager>
======
with
======
<PersistenceManager class="
org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
          <param name="driver" value="org.hsqldb.jdbcDriver"/>
          <param name="url" value="jdbc:hsqldb:${wsp.home}/db;create=true"/>
          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
          <param name="schema" value="mysql" />
          <param name="externalBLOBs" value="true"/>
        </PersistenceManager>
======

is it correct?

If it is, why I have the following errors?
============================
08.12.2006 17:07:21 *ERROR* [main] RepositoryImpl: Failed to initialize
workspace 'default' (RepositoryImpl.java, line 257)
javax.jcr.RepositoryException: Cannot instantiate persistence manager
org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager: Wrong data
type: BLOB in statement [create table DEFAULT_NODE (NODE_ID char(36) not
null, NODE_DATA blob]: Wrong data type: BLOB in statement [create table
DEFAULT_NODE (NODE_ID char(36) not null, NODE_DATA blob]
    at org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(
RepositoryImpl.java:1083)
    at org.apache.jackrabbit.core.RepositoryImpl.access$500(
RepositoryImpl.java:89)
    at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(
RepositoryImpl.java:1620)
    at org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(
RepositoryImpl.java:516)
    at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java
:254)
    at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java
:497)
    at org.apache.jackrabbit.core.jndi.BindableRepository.init(
BindableRepository.java:137)
    at org.apache.jackrabbit.core.jndi.BindableRepository.create(
BindableRepository.java:123)
    at
org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.createInstance(
BindableRepositoryFactory.java:59)
    at org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository(
RegistryHelper.java:60)
    at org.apache.jackrabbit.core.JackrabbitRepositoryStub.getRepository(
JackrabbitRepositoryStub.java:108)
    at org.apache.jackrabbit.test.RepositoryHelper.getRepository(
RepositoryHelper.java:68)
    at org.apache.jackrabbit.test.RepositoryHelper.getProperty(
RepositoryHelper.java:150)
    at org.apache.jackrabbit.test.AbstractJCRTest.getProperty(
AbstractJCRTest.java:429)
    at org.apache.jackrabbit.test.AbstractJCRTest.setUp(AbstractJCRTest.java
:254)
    at junit.framework.TestCase.runBare(TestCase.java:125)

=============================


Thanks
-- 
Best regards,
Vitaliy

Re: hsqldb configuration

Posted by Stefan Guggisberg <st...@gmail.com>.
oops, the config should be:

<PersistenceManager
class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager">
        <param name="driver" value="org.hsqldb.jdbcDriver"/>
        <param name="url" value="jdbc:hsqldb:file:${wsp.home}/db"/>
        <param name="schemaObjectPrefix" value="${wsp.name}_"/>
        <param name="schema" value="default" />
        <param name="externalBLOBs" value="false"/>
    </PersistenceManager>


On 12/8/06, Stefan Guggisberg <st...@gmail.com> wrote:
> hi vitaliy
>
> the following config should work:
>
> <PersistenceManager
> class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
>          <param name="driver" value="org.hsqldb.jdbcDriver"/>
>          <param name="url" value="jdbc:hsqldb:file:${wsp.home}/db"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>          <param name="schema" value="default" />
>          <param name="externalBLOBs" value="false"/>
>      </PersistenceManager>
>
> you've chosen the wrong schema (mysql.ddl doesn't work with hsqldb),
> default.ddl should be fine.
>
> be sure to delete your hsqldb data before you try the new config.
>
> cheers
> stefan
>
>
> On 12/8/06, Vitaliy Obmanjuk <ve...@gmail.com> wrote:
> > Hi all
> > I'm new to jackrabbit.
> > I have a very simple question: how can I configure hsqldb for the jackrabbit
> > tests?
> > This is my directory structure:
> > ====
> > jackrabbit/applications
> > jackrabbit/modules
> > jackrabbit/src
> > ====
> > All the settings are default.
> > I'm ran "mvn clean install" comman wthin "jackrabbit" folder.
> > All the tests passed OK.
> >
> > What is the simplest way to configure repository for the hsqldb?
> >
> > AFAIK I need to configure
> > D:\java\projects\jackrabbit\applications\test\repository.xml
> > and
> > D:\java\projects\jackrabbit\applications\test\workspaces\default\workspace.xml
> >
> > =======================
> > I need to replace
> > ======
> > <PersistenceManager class="
> > org.apache.jackrabbit.core.persistence.db.DerbyPersistenceManager">
> >           <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
> >           <param name="schemaObjectPrefix" value="${wsp.name}_"/>
> >         </PersistenceManager>
> > ======
> > with
> > ======
> > <PersistenceManager class="
> > org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
> >           <param name="driver" value="org.hsqldb.jdbcDriver"/>
> >           <param name="url" value="jdbc:hsqldb:${wsp.home}/db;create=true"/>
> >           <param name="schemaObjectPrefix" value="${wsp.name}_"/>
> >           <param name="schema" value="mysql" />
> >           <param name="externalBLOBs" value="true"/>
> >         </PersistenceManager>
> > ======
> >
> > is it correct?
> >
> > If it is, why I have the following errors?
> > ============================
> > 08.12.2006 17:07:21 *ERROR* [main] RepositoryImpl: Failed to initialize
> > workspace 'default' (RepositoryImpl.java, line 257)
> > javax.jcr.RepositoryException: Cannot instantiate persistence manager
> > org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager: Wrong data
> > type: BLOB in statement [create table DEFAULT_NODE (NODE_ID char(36) not
> > null, NODE_DATA blob]: Wrong data type: BLOB in statement [create table
> > DEFAULT_NODE (NODE_ID char(36) not null, NODE_DATA blob]
> >     at org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(
> > RepositoryImpl.java:1083)
> >     at org.apache.jackrabbit.core.RepositoryImpl.access$500(
> > RepositoryImpl.java:89)
> >     at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(
> > RepositoryImpl.java:1620)
> >     at org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(
> > RepositoryImpl.java:516)
> >     at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java
> > :254)
> >     at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java
> > :497)
> >     at org.apache.jackrabbit.core.jndi.BindableRepository.init(
> > BindableRepository.java:137)
> >     at org.apache.jackrabbit.core.jndi.BindableRepository.create(
> > BindableRepository.java:123)
> >     at
> > org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.createInstance(
> > BindableRepositoryFactory.java:59)
> >     at org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository(
> > RegistryHelper.java:60)
> >     at org.apache.jackrabbit.core.JackrabbitRepositoryStub.getRepository(
> > JackrabbitRepositoryStub.java:108)
> >     at org.apache.jackrabbit.test.RepositoryHelper.getRepository(
> > RepositoryHelper.java:68)
> >     at org.apache.jackrabbit.test.RepositoryHelper.getProperty(
> > RepositoryHelper.java:150)
> >     at org.apache.jackrabbit.test.AbstractJCRTest.getProperty(
> > AbstractJCRTest.java:429)
> >     at org.apache.jackrabbit.test.AbstractJCRTest.setUp(AbstractJCRTest.java
> > :254)
> >     at junit.framework.TestCase.runBare(TestCase.java:125)
> >
> > =============================
> >
> >
> > Thanks
> > --
> > Best regards,
> > Vitaliy
> >
> >
>

Re: hsqldb configuration

Posted by Stefan Guggisberg <st...@gmail.com>.
hi vitaliy

the following config should work:

<PersistenceManager
class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
         <param name="driver" value="org.hsqldb.jdbcDriver"/>
         <param name="url" value="jdbc:hsqldb:file:${wsp.home}/db"/>
         <param name="schemaObjectPrefix" value="${wsp.name}_"/>
         <param name="schema" value="default" />
         <param name="externalBLOBs" value="false"/>
     </PersistenceManager>

you've chosen the wrong schema (mysql.ddl doesn't work with hsqldb),
default.ddl should be fine.

be sure to delete your hsqldb data before you try the new config.

cheers
stefan


On 12/8/06, Vitaliy Obmanjuk <ve...@gmail.com> wrote:
> Hi all
> I'm new to jackrabbit.
> I have a very simple question: how can I configure hsqldb for the jackrabbit
> tests?
> This is my directory structure:
> ====
> jackrabbit/applications
> jackrabbit/modules
> jackrabbit/src
> ====
> All the settings are default.
> I'm ran "mvn clean install" comman wthin "jackrabbit" folder.
> All the tests passed OK.
>
> What is the simplest way to configure repository for the hsqldb?
>
> AFAIK I need to configure
> D:\java\projects\jackrabbit\applications\test\repository.xml
> and
> D:\java\projects\jackrabbit\applications\test\workspaces\default\workspace.xml
>
> =======================
> I need to replace
> ======
> <PersistenceManager class="
> org.apache.jackrabbit.core.persistence.db.DerbyPersistenceManager">
>           <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
>           <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>         </PersistenceManager>
> ======
> with
> ======
> <PersistenceManager class="
> org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
>           <param name="driver" value="org.hsqldb.jdbcDriver"/>
>           <param name="url" value="jdbc:hsqldb:${wsp.home}/db;create=true"/>
>           <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>           <param name="schema" value="mysql" />
>           <param name="externalBLOBs" value="true"/>
>         </PersistenceManager>
> ======
>
> is it correct?
>
> If it is, why I have the following errors?
> ============================
> 08.12.2006 17:07:21 *ERROR* [main] RepositoryImpl: Failed to initialize
> workspace 'default' (RepositoryImpl.java, line 257)
> javax.jcr.RepositoryException: Cannot instantiate persistence manager
> org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager: Wrong data
> type: BLOB in statement [create table DEFAULT_NODE (NODE_ID char(36) not
> null, NODE_DATA blob]: Wrong data type: BLOB in statement [create table
> DEFAULT_NODE (NODE_ID char(36) not null, NODE_DATA blob]
>     at org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(
> RepositoryImpl.java:1083)
>     at org.apache.jackrabbit.core.RepositoryImpl.access$500(
> RepositoryImpl.java:89)
>     at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(
> RepositoryImpl.java:1620)
>     at org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(
> RepositoryImpl.java:516)
>     at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java
> :254)
>     at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java
> :497)
>     at org.apache.jackrabbit.core.jndi.BindableRepository.init(
> BindableRepository.java:137)
>     at org.apache.jackrabbit.core.jndi.BindableRepository.create(
> BindableRepository.java:123)
>     at
> org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.createInstance(
> BindableRepositoryFactory.java:59)
>     at org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository(
> RegistryHelper.java:60)
>     at org.apache.jackrabbit.core.JackrabbitRepositoryStub.getRepository(
> JackrabbitRepositoryStub.java:108)
>     at org.apache.jackrabbit.test.RepositoryHelper.getRepository(
> RepositoryHelper.java:68)
>     at org.apache.jackrabbit.test.RepositoryHelper.getProperty(
> RepositoryHelper.java:150)
>     at org.apache.jackrabbit.test.AbstractJCRTest.getProperty(
> AbstractJCRTest.java:429)
>     at org.apache.jackrabbit.test.AbstractJCRTest.setUp(AbstractJCRTest.java
> :254)
>     at junit.framework.TestCase.runBare(TestCase.java:125)
>
> =============================
>
>
> Thanks
> --
> Best regards,
> Vitaliy
>
>