You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by Felix Meschberger <fm...@gmail.com> on 2009/03/26 15:18:04 UTC

Re: Building Sling for MySql

Hi Mathias,

I know this is an old request, but still ...

The problem is, that you want to use a different than the "default
default" workspace as the "default" workspace for Sling.

After Sling has started up go to the Configuration Manager page of the
web console (/system/console/configMgr) and select the "Embedded JCR
Repository" configuration (the one with the UUID-style string at the
end) and set the "Default Workspace" property to the name of your MySql
driven workspace.

Regards
Felix

Mathias Binder schrieb:
> 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 
>