Hi,
i've tried the ready-to run sling-webapp for a projekt that i am
involved in (deployed on my tomcat installation) and it worked well so
far.
Then i wanted Jackrabbit to use a mySQL-DB, because this is a
requirement for my projekt. To do so i created a new workspace in the
jackrabbit workspaces directory, named it like my projekt, and added a
workspace.xml, with this Filesystem- an PersistanceManager-Nodes:
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url"
value="jdbc:mysql://__db_url__:3306/__sheme__?autoReconnect=true"/>
<param name="user" value="__user__"/>
<param name="password" value="__pw__"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="rep_"/>
</FileSystem>
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceMana
ger">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url"
value="jdbc:mysql://__db_url__:3306/__sheme__?autoReconnect=true"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
<param name="user" value="__user__"/>
<param name="password" value="__pw__"/>
<param name="schema" value="mysql"/>
<param name="externalBLOBs" value="false"/>
</PersistenceManager>
But i didn't found an option to switch to that workspace, so that sling
also creates the necessary tables.
Next i've downloaded the source package of sling from the
downloads-site, an edited the repository.xml of jackrabbit before the
build like that:
The Filesystem-Node:
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url"
value="jdbc:mysql://__db_url__:3306/__sheme__?autoReconnect=true"/>
<param name="user" value="__user__"/>
<param name="password" value="__pw__"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="rep_fs_"/>
</FileSystem>
The Workspace-Node:
<Workspace name="${wsp.name}">
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceMana
ger">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url"
value="jdbc:mysql://__db_url__:3306/__sheme__?autoReconnect=true"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="rep_pm_${wsp.name}_"/>
<param name="user" value="__user__"/>
<param name="password" value="__pw__"/>
<param name="schema" value="mysql"/>
<param name="externalBLOBs" value="false"/>
</PersistenceManager>
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url"
value="jdbc:mysql://__db_url__:3306/__sheme__?autoReconnect=true"/>
<param name="user" value="__user__"/>
<param name="password" value="__pw__"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="rep_fs_${wsp.name}_"/>
</FileSystem>
</Workspace>
The Versioning-Node:
<Versioning rootPath="${rep.home}/version">
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url"
value="jdbc:mysql://__db_url__:3306/__sheme__?autoReconnect=true"/>
<param name="user" value="__user__"/>
<param name="password" value="__pw__"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="rep_v_fs_"/>
</FileSystem>
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceMana
ger">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url"
value="jdbc:mysql://__db_url__:3306/__sheme__?autoReconnect=true"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="rep_v_pm_"/>
<param name="user" value="__user__"/>
<param name="password" value="__pw__"/>
<param name="schema" value="mysql"/>
<param name="externalBLOBs" value="false"/>
</PersistenceManager>
</Versioning>
The DataStore-Node:
<DataStore class="org.apache.jackrabbit.core.data.FileDataStore.db"/>
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url"
value="jdbc:mysql://__db_url__:3306/__sheme__?autoReconnect=true"/>
<param name="user" value="__user__"/>
<param name="password" value="__pw__"/>
<param name="databaseType" value="mysql"/>
<param name="minRecordLength" value="1024"/>
<param name="maxConnections" value="2"/>
<param name="copyWhenReading" value="true"/>
</DataStore>
I've tried to build this package with "maven clean install", but the
buid failed, because 183 Unittests failed. Then I've built the package
once again, skipping the tests and tried "java -jar
org.apache.sling.launchpad.app-3-incubator.jar -c sling -f -", but as
expected sling didn't start. I've tried a lot, searched for an solution
over the net, but couldn't find a solution, or an example, how to set up
sling respectively jackrabbit to run with a mySQL-DB. Could anyone help
me with that or offer a link to such a solution/example?
regards,
Mathias