> Hello team,
> Will be very grateful for your help or advice.
>
> Brief description of the modifications:
> I have switched Jackrabbit persistence from Derby to MySQL:
> - FileSystem
> - DataStore
> - Workspace
> - Versioning
>
> Here is my "repository.xml"
> <Repository>
>     <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>           <param name="driver" value="com.mysql.jdbc.Driver"/>
>           <param name="url"
> value="jdbc:mysql://localhost:3306/jackrabbit"/>
>           <param name="user" value="root"/>
>           <param name="password" value="pass"/>
>           <param name="schema" value="mysql"/>
>           <param name="schemaObjectPrefix" value="rep_"/>
>     </FileSystem>
>
>     <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
>         <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
>         <param name="user" value="root"/>
>         <param name="password" value="pass"/>
>         <param name="databaseType" value="mysql"/>
>         <param name="driver" value="com.mysql.jdbc.Driver"/>
>         <param name="minRecordLength" value="1024"/>
>         <param name="copyWhenReading" value="true"/>
>         <param name="schemaObjectPrefix" value="data_"/>
>     </DataStore>
>
>     <Security appName="Jackrabbit">
>         <SecurityManager
> class="org.apache.jackrabbit.core.DefaultSecurityManager"
> workspaceName="security">
>         </SecurityManager>
>         <AccessManager
> class="org.apache.sling.jcr.jackrabbit.server.impl.security.PluggableDefaultAccessManager">
>         </AccessManager>
>         <LoginModule
> class="org.apache.sling.jcr.jackrabbit.server.impl.security.PluggableDefaultLoginModule">
>             <param name="anonymousId" value="anonymous"/>
>             <param name="adminId" value="admin"/>
>         </LoginModule>
>     </Security>
>
>     <Workspaces rootPath="${rep.home}/workspaces"
> defaultWorkspace="default"/>
>
>     <Workspace name="default">
>         <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>           <param name="driver" value="com.mysql.jdbc.Driver"/>
>           <param name="url"
> value="jdbc:mysql://localhost:3306/jackrabbit"/>
>           <param name="user" value="root"/>
>           <param name="password" value="pass"/>
>           <param name="schema" value="mysql"/>
>           <param name="schemaObjectPrefix" value="rep_default_"/>
>         </FileSystem>
>
>         <PersistenceManager
> class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
>           <param name="consistencyCheck" value="true"/>
>           <param name="consistencyFix" value="true"/>
>           <param name="driver" value="com.mysql.jdbc.Driver"/>
>           <param name="url"
> value="jdbc:mysql://localhost:3306/jackrabbit"/>
>           <param name="user" value="root"/>
>           <param name="password" value="pass"/>
>           <param name="schema" value="mysql"/>
>           <param name="errorHandling" value=""/>
>           <param name="schemaObjectPrefix" value="default_"/>
>           <param name="externalBLOBs" value="false"/>
>         </PersistenceManager>
>         <SearchIndex
> class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>             <param name="path" value="${wsp.home}/index"/>
>             <param name="supportHighlighting" value="true"/>
>         </SearchIndex>
>     </Workspace>
>
>     <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://localhost:3306/jackrabbit"/>
>           <param name="user" value="root"/>
>           <param name="password" value="pass"/>
>           <param name="schema" value="mysql"/>
>           <param name="schemaObjectPrefix" value="rep_ver_"/>
>         </FileSystem>
>
>         <PersistenceManager
> class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
>           <param name="consistencyCheck" value="true"/>
>           <param name="consistencyFix" value="true"/>
>           <param name="driver" value="com.mysql.jdbc.Driver"/>
>           <param name="url"
> value="jdbc:mysql://localhost:3306/jackrabbit"/>
>           <param name="user" value="root"/>
>           <param name="password" value="pass"/>
>           <param name="schema" value="mysql"/>
>           <param name="errorHandling" value=""/>
>           <param name="schemaObjectPrefix" value="version_"/>
>           <param name="externalBLOBs" value="false"/>
>         </PersistenceManager>
>     </Versioning>
>
>     <SearchIndex
> class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>         <param name="path" value="${rep.home}/repository/index"/>
>         <param name="supportHighlighting" value="true"/>
>     </SearchIndex>
> </Repository>
>
> And after replacement of the Derby bundle with MySQL I have working
> repository. Everything fine.
> Only indexes files are stored in folders - so now there is an ability to
> backup jackrabbit data only by database dumping.
>
> Now I am checking how MySQL data can be reused when I clean/reinstall my
> Sling+launchpad.
>
> And I am getting such error in log when starting Sling+launchpad with
> already existing and filled database:
> ----------------------------------------------------------------------
> 12.02.2013 14:33:16.084 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.persistence.bundle.ConnectionRecoveryManager
> Database: MySQL / 5.5.27
> 12.02.2013 14:33:16.084 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.persistence.bundle.ConnectionRecoveryManager
> Driver: MySQL-AB JDBC Driver / mysql-connector-java-5.1.17 ( Revision:
> ${bzr.revision-id} )
> 12.02.2013 14:33:16.084 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager
> version: checking workspace consistency...
> 12.02.2013 14:33:16.084 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager
> version: checked 3/3 bundles.
> 12.02.2013 14:33:16.100 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.RepositoryImpl initializing workspace
> 'default'...
> 12.02.2013 14:33:16.116 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.persistence.bundle.ConnectionRecoveryManager
> Database: MySQL / 5.5.27
> 12.02.2013 14:33:16.116 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.persistence.bundle.ConnectionRecoveryManager
> Driver: MySQL-AB JDBC Driver / mysql-connector-java-5.1.17 ( Revision:
> ${bzr.revision-id} )
> 12.02.2013 14:33:16.116 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager
> default: checking workspace consistency...
> 12.02.2013 14:33:16.318 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager
> default: checked 261/261 bundles.
> 12.02.2013 14:33:16.630 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.query.lucene.SearchIndex Index initialized:
> C:\CS\sling\jackrabbit/repository/index Version: 3
> 12.02.2013 14:33:16.724 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.query.lucene.SearchIndex Index initialized:
> C:\CS\sling\jackrabbit\workspaces\default/index Version: 3
> 12.02.2013 14:33:16.724 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.RepositoryImpl workspace 'default' initialized
> 12.02.2013 14:33:16.724 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.RepositoryImpl Repository started
> 12.02.2013 14:33:16.724 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.RepositoryImpl initializing workspace
> 'security'...
> 12.02.2013 14:33:16.740 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.persistence.bundle.ConnectionRecoveryManager
> Database: MySQL / 5.5.27
> 12.02.2013 14:33:16.740 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.persistence.bundle.ConnectionRecoveryManager
> Driver: MySQL-AB JDBC Driver / mysql-connector-java-5.1.17 ( Revision:
> ${bzr.revision-id} )
> 12.02.2013 14:33:16.740 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager
> security: checking workspace consistency...
> 12.02.2013 14:33:16.911 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager
> security: checked 261/261 bundles.
> 12.02.2013 14:33:16.958 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.query.lucene.SearchIndex Index initialized:
> C:\CS\sling\jackrabbit\workspaces\security/index Version: 3
> 12.02.2013 14:33:16.958 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.RepositoryImpl workspace 'security' initialized
> 12.02.2013 14:33:16.958 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.DefaultSecurityManager init: use Repository
> Login-Configuration for Jackrabbit
> 12.02.2013 14:33:16.989 *INFO* [FelixStartLevel]
> org.apache.sling.jcr.jackrabbit.server pingAndCheck; loginAdministrative
> failed (javax.jcr.ItemNotFoundException: failed to build path of
> b29f3f21-5662-466b-92d8-7e855d45335d: cafebabe-cafe-babe-cafe-babecafebabe
> has no child entry for b29f3f21-5662-466b-92d8-7e855d45335d)
> javax.jcr.ItemNotFoundException: failed to build path of
> b29f3f21-5662-466b-92d8-7e855d45335d: cafebabe-cafe-babe-cafe-babecafebabe
> has no child entry for b29f3f21-5662-466b-92d8-7e855d45335d
>     at
> org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:291)
>     at
> org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:198)
>     at
> org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:280)
>     at
> org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:198)
>     at
> org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:280)
>     at
> org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:198)
>     at
> org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:280)
>     at
> org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:198)
>     at
> org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:280)
>     at
> org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:198)
>     at
> org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:280)
>     at
> org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:198)
>     at
> org.apache.jackrabbit.core.HierarchyManagerImpl.getPath(HierarchyManagerImpl.java:395)
>     at
> org.apache.jackrabbit.core.CachingHierarchyManager.getPath(CachingHierarchyManager.java:232)
>     at
> org.apache.jackrabbit.core.ItemImpl.getPrimaryPath(ItemImpl.java:216)
>     at
> org.apache.jackrabbit.core.NodeImpl.getPrimaryPath(NodeImpl.java:3072)
>     at org.apache.jackrabbit.core.ItemImpl.getPath(ItemImpl.java:1315)
>     at
> org.apache.jackrabbit.core.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:608)
>     at
> org.apache.jackrabbit.core.security.user.UserManagerImpl.internalGetAuthorizable(UserManagerImpl.java:668)
>     at
> org.apache.jackrabbit.core.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:337)
>     at
> org.apache.jackrabbit.core.DefaultSecurityManager.createSystemUsers(DefaultSecurityManager.java:581)
>     at
> org.apache.jackrabbit.core.DefaultSecurityManager.init(DefaultSecurityManager.java:202)
>     at
> org.apache.jackrabbit.core.RepositoryImpl.getSecurityManager(RepositoryImpl.java:483)
>     at
> org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java:1496)
>     at
> org.apache.sling.jcr.base.AbstractSlingRepository.login(AbstractSlingRepository.java:214)
>     at
> org.apache.sling.jcr.base.AbstractSlingRepository.loginAdministrative(AbstractSlingRepository.java:180)
>     at
> org.apache.sling.jcr.base.AbstractSlingRepository.pingAndCheck(AbstractSlingRepository.java:517)
>     at
> org.apache.sling.jcr.base.AbstractSlingRepository.startRepository(AbstractSlingRepository.java:804)
>     at
> org.apache.sling.jcr.base.AbstractSlingRepository.activate(AbstractSlingRepository.java:606)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>     at java.lang.reflect.Method.invoke(Unknown Source)
>     at
> org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:227)
>     at
> org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:38)
>     at
> org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:591)
>     at
> org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:472)
>     at
> org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:146)
>     at
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:226)
>     at
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118)
>     at
> org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:997)
>     at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:333)
>     at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:157)
>     at
> org.apache.felix.scr.impl.config.ConfiguredComponentHolder.enableComponents(ConfiguredComponentHolder.java:262)
>     at
> org.apache.felix.scr.impl.BundleComponentActivator.loadDescriptor(BundleComponentActivator.java:253)
>     at
> org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:147)
>     at
> org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:111)
>     at
> org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:285)
>     at
> org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:203)
>     at
> org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:807)
>     at
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:729)
>     at
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:610)
>     at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3758)
>     at org.apache.felix.framework.Felix.startBundle(Felix.java:1780)
>     at
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1156)
>     at
> org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
>     at java.lang.Thread.run(Unknown Source)
> 12.02.2013 14:33:16.989 *INFO* [FelixStartLevel]
> org.apache.jackrabbit.core.RepositoryImpl Shutting down repository...
>
> And repository can't start.
> Seems that Sling "doesn't" like exisitng MySQL data...
>
> Any Ideas how to reuse persisted data?
>
> Regards,
> Denis
>

FIXED by switch to
org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager
instead of
org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager
Like:
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager">
           <param name="driver" value="com.mysql.jdbc.Driver" />
           <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"
/>
           <param name="user" value="user" />
           <param name="password" value="pass" />
           <param name="schema" value="mysql" />
           <param name="schemaObjectPrefix" value="someprefix_" />
           <param name="externalBLOBs" value="false" />
</PersistenceManager>

Reply via email to