You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Lars Janssen <la...@ukmix.net> on 2013/03/01 16:08:09 UTC

How to use MySQL persistence manager with Jackrabbit standalone

Hi all,

I've been successfully using Apache Jackrabbit 2.4.3 and now 2.6.0
(standalone server in both cases) using the default configuration, so the
repository is stored on the filesystem.

How can I make it connect to a MySQL back end instead? I don't need to
worry about migration, just set it up as a fresh install.

After trying the steps below, Jackrabbit fails to start correctly or
populate the DATASTORE table in the database, and I find this error in the
logs:

ERROR [main] RepositoryImpl.java:366
           failed to start Repository: Cannot instantiate persistence
manager org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
    javax.jcr.RepositoryException: Cannot instantiate persistence manager
org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
    [... oodles of backtrace cut ...]
What I've done so far:

I've created the Jackrabbit database/user, which I can connect to no
problem:

mysql -D jackrabbit -u jackrabbit -h localhost -pjackrabbit
I started with a clean slate (empty /var/jackrabbit directory), except the
configuration file comes from here:
https://raw.github.com/wiki/jackalope/jackalope/files/repository.xml

Here's the startup script I'm using:
https://github.com/sixty-nine/Jackrabbit-startup-script

And here's the java process that runs:

java -XX:MaxPermSize=128m -Xmx512M -Xms128M -Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=1111
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.password.file=/opt/jackrabbit/startup/jmx.user
-Dcom.sun.management.jmxremote.access.file=/opt/jackrabbit/startup/jmx.role
-jar /opt/jackrabbit/jackrabbit-standalone-2.6.0.jar -h 127.0.0.1 -p 8080
I don't think I get far enough for it to matter, but I'm using MySQL
5.5.28-1.

I'm having the above problem with both 2.4.3 and 2.6.0.

Also:

java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
Plus I subsequently installed the MySQL JDBC library on Debian:

apt-get install libmysql-java

Thanks,

Lars.

Re: How to use MySQL persistence manager with Jackrabbit standalone

Posted by Denis Trebulyov <de...@gmail.com>.
Seems that main moment is:
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Please check mysql-connector-java-*.jar in the classpath.

2013/3/1 Lars Janssen <la...@fazy.net>

> Hi Denis,
>
> Thanks, just given that a try. It looks like I get a similar error, log
> below.
>
> I'm not sure what it means by "Cannot instantiate persistence manager" - is
> there something I should do to install/configure the persistence managers?
> I must admit I've pretty much "taken it out of the box and switched it on"
> :)
>
> Error log follows...
>
>
> 2013-03-01 15:48:05.794 INFO  [main] RepositoryImpl.java:256
> Starting repository...
> 2013-03-01 15:48:05.796 INFO  [main] LocalFileSystem.java:164
>  LocalFileSystem initialized at path jackrabbit/repository
> 2013-03-01 15:48:05.876 INFO  [main] NodeTypeRegistry.java:870         no
> custom node type definitions found
> 2013-03-01 15:48:05.894 INFO  [main] LocalFileSystem.java:164
>  LocalFileSystem initialized at path jackrabbit/version
> 2013-03-01 15:48:05.906 WARN  [main] SimpleBeanFactory.java:38
> org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager has
> been deprecated
> 2013-03-01 15:48:05.912 ERROR [main] RepositoryImpl.java:366
> failed to start Repository: Cannot instantiate persistence manager
> org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager
> javax.jcr.RepositoryException: Cannot instantiate persistence manager
> org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager
>         at
>
> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1353)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:486)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:149)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at javax.servlet.GenericServlet.init(GenericServlet.java:241)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at org.mortbay.jetty.Server.doStart(Server.java:224)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at org.apache.jackrabbit.standalone.Main.run(Main.java:173)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at org.apache.jackrabbit.standalone.Main.main(Main.java:60)
> [jackrabbit-standalone-2.6.0.jar:na]
> Caused by: javax.jcr.RepositoryException: Could not load JDBC driver class
> com.mysql.jdbc.Driver
>         at
>
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:265)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.core.util.db.ConnectionFactory.createDataSource(ConnectionFactory.java:233)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataSource(ConnectionFactory.java:169)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager.getConnection(SimpleDbPersistenceManager.java:198)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.initConnection(DatabasePersistenceManager.java:779)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.init(DatabasePersistenceManager.java:219)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1349)
> [jackrabbit-standalone-2.6.0.jar:na]
>         ... 23 common frames omitted
> Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
> ~[na:1.6.0_24]
>         at java.security.AccessController.doPrivileged(Native Method)
> ~[na:1.6.0_24]
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
> ~[na:1.6.0_24]
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
> ~[na:1.6.0_24]
>         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
> ~[na:1.6.0_24]
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
> ~[na:1.6.0_24]
>         at java.lang.Class.forName0(Native Method) ~[na:1.6.0_24]
>         at java.lang.Class.forName(Class.java:186) ~[na:1.6.0_24]
>         at
>
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:260)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         ... 29 common frames omitted
> 2013-03-01 15:48:05.912 INFO  [main] RepositoryImpl.java:1060
>  Shutting down repository...
> 2013-03-01 15:48:05.914 INFO  [main] RepositoryImpl.java:1165
>  Repository has been shutdown
> 2013-03-01 15:48:05.915 WARN  [main] Slf4jLog.java:89
>  unavailable
> javax.jcr.RepositoryException: Cannot instantiate persistence manager
> org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager
>         at
>
> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1353)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:486)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:149)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at javax.servlet.GenericServlet.init(GenericServlet.java:241)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at org.mortbay.jetty.Server.doStart(Server.java:224)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at org.apache.jackrabbit.standalone.Main.run(Main.java:173)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at org.apache.jackrabbit.standalone.Main.main(Main.java:60)
> [jackrabbit-standalone-2.6.0.jar:na]
> Caused by: javax.jcr.RepositoryException: Could not load JDBC driver class
> com.mysql.jdbc.Driver
>         at
>
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:265)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.core.util.db.ConnectionFactory.createDataSource(ConnectionFactory.java:233)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataSource(ConnectionFactory.java:169)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager.getConnection(SimpleDbPersistenceManager.java:198)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.initConnection(DatabasePersistenceManager.java:779)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.init(DatabasePersistenceManager.java:219)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
>
> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1349)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         ... 23 common frames omitted
> Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
> ~[na:1.6.0_24]
>         at java.security.AccessController.doPrivileged(Native Method)
> ~[na:1.6.0_24]
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
> ~[na:1.6.0_24]
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
> ~[na:1.6.0_24]
>         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
> ~[na:1.6.0_24]
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
> ~[na:1.6.0_24]
>         at java.lang.Class.forName0(Native Method) ~[na:1.6.0_24]
>         at java.lang.Class.forName(Class.java:186) ~[na:1.6.0_24]
>         at
>
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:260)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         ... 29 common frames omitted
> 2013-03-01 15:48:05.916 INFO  [main] RepositoryAccessServlet.java:98
> RepositoryAccessServlet initialized.
> 2013-03-01 15:48:05.922 INFO  [main] AbstractWebdavServlet.java:169
>  authenticate-header = Basic realm="Jackrabbit Webdav Server"
> 2013-03-01 15:48:05.923 INFO  [main] AbstractWebdavServlet.java:174
>  csrf-protection = null
> 2013-03-01 15:48:05.923 INFO  [main] AbstractWebdavServlet.java:181
>  createAbsoluteURI = true
> 2013-03-01 15:48:05.923 INFO  [main] SimpleWebdavServlet.java:144
>  resource-path-prefix = '/repository'
> 2013-03-01 15:48:06.038 INFO  [main] AbstractWebdavServlet.java:169
>  authenticate-header = Basic realm="Jackrabbit Webdav Server"
> 2013-03-01 15:48:06.038 INFO  [main] AbstractWebdavServlet.java:174
>  csrf-protection = null
> 2013-03-01 15:48:06.038 INFO  [main] AbstractWebdavServlet.java:181
>  createAbsoluteURI = true
>
>
> Best regards,
>
> Lars.
>
>
>
> On Fri, Mar 1, 2013 at 3:34 PM, Denis Trebulyov <dendroidua@gmail.com
> >wrote:
>
> > Hi, Lars,
> > As variant - try to use
> > org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager
> > instead of
> > org.apache.jackrabbit.core.persistence.pool.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="....." />
> >            <param name="password" value="....." />
> >            <param name="schema" value="mysql" />
> >            <param name="schemaObjectPrefix" value="...." />
> >            <param name="externalBLOBs" value="false" />
> > </PersistenceManager>
> >
> > But I am not sure about usage in the latest jcr versions.
> >
> > Regards,
> > Denis
> >
> >
> > 2013/3/1 Lars Janssen <la...@ukmix.net>
> >
> > > Hi all,
> > >
> > > I've been successfully using Apache Jackrabbit 2.4.3 and now 2.6.0
> > > (standalone server in both cases) using the default configuration, so
> the
> > > repository is stored on the filesystem.
> > >
> > > How can I make it connect to a MySQL back end instead? I don't need to
> > > worry about migration, just set it up as a fresh install.
> > >
> > > After trying the steps below, Jackrabbit fails to start correctly or
> > > populate the DATASTORE table in the database, and I find this error in
> > the
> > > logs:
> > >
> > > ERROR [main] RepositoryImpl.java:366
> > >            failed to start Repository: Cannot instantiate persistence
> > > manager
> > org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
> > >     javax.jcr.RepositoryException: Cannot instantiate persistence
> manager
> > > org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
> > >     [... oodles of backtrace cut ...]
> > > What I've done so far:
> > >
> > > I've created the Jackrabbit database/user, which I can connect to no
> > > problem:
> > >
> > > mysql -D jackrabbit -u jackrabbit -h localhost -pjackrabbit
> > > I started with a clean slate (empty /var/jackrabbit directory), except
> > the
> > > configuration file comes from here:
> > > https://raw.github.com/wiki/jackalope/jackalope/files/repository.xml
> > >
> > > Here's the startup script I'm using:
> > > https://github.com/sixty-nine/Jackrabbit-startup-script
> > >
> > > And here's the java process that runs:
> > >
> > > java -XX:MaxPermSize=128m -Xmx512M -Xms128M
> > -Dcom.sun.management.jmxremote
> > > -Dcom.sun.management.jmxremote.port=1111
> > > -Dcom.sun.management.jmxremote.authenticate=true
> > > -Dcom.sun.management.jmxremote.ssl=false
> > >
> > >
> >
> -Dcom.sun.management.jmxremote.password.file=/opt/jackrabbit/startup/jmx.user
> > >
> >
> -Dcom.sun.management.jmxremote.access.file=/opt/jackrabbit/startup/jmx.role
> > > -jar /opt/jackrabbit/jackrabbit-standalone-2.6.0.jar -h 127.0.0.1 -p
> 8080
> > > I don't think I get far enough for it to matter, but I'm using MySQL
> > > 5.5.28-1.
> > >
> > > I'm having the above problem with both 2.4.3 and 2.6.0.
> > >
> > > Also:
> > >
> > > java version "1.6.0_24"
> > > OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-1)
> > > OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
> > > Plus I subsequently installed the MySQL JDBC library on Debian:
> > >
> > > apt-get install libmysql-java
> > >
> > > Thanks,
> > >
> > > Lars.
> > >
> >
>

Re: How to use MySQL persistence manager with Jackrabbit standalone

Posted by Lars Janssen <la...@fazy.net>.
Hi Denis,

Thanks, just given that a try. It looks like I get a similar error, log
below.

I'm not sure what it means by "Cannot instantiate persistence manager" - is
there something I should do to install/configure the persistence managers?
I must admit I've pretty much "taken it out of the box and switched it on"
:)

Error log follows...


2013-03-01 15:48:05.794 INFO  [main] RepositoryImpl.java:256
Starting repository...
2013-03-01 15:48:05.796 INFO  [main] LocalFileSystem.java:164
 LocalFileSystem initialized at path jackrabbit/repository
2013-03-01 15:48:05.876 INFO  [main] NodeTypeRegistry.java:870         no
custom node type definitions found
2013-03-01 15:48:05.894 INFO  [main] LocalFileSystem.java:164
 LocalFileSystem initialized at path jackrabbit/version
2013-03-01 15:48:05.906 WARN  [main] SimpleBeanFactory.java:38
org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager has
been deprecated
2013-03-01 15:48:05.912 ERROR [main] RepositoryImpl.java:366
failed to start Repository: Cannot instantiate persistence manager
org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager
javax.jcr.RepositoryException: Cannot instantiate persistence manager
org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager
        at
org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1353)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:486)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:149)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109)
[jackrabbit-standalone-2.6.0.jar:na]
        at javax.servlet.GenericServlet.init(GenericServlet.java:241)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
[jackrabbit-standalone-2.6.0.jar:na]
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
[jackrabbit-standalone-2.6.0.jar:na]
        at org.mortbay.jetty.Server.doStart(Server.java:224)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[jackrabbit-standalone-2.6.0.jar:na]
        at org.apache.jackrabbit.standalone.Main.run(Main.java:173)
[jackrabbit-standalone-2.6.0.jar:na]
        at org.apache.jackrabbit.standalone.Main.main(Main.java:60)
[jackrabbit-standalone-2.6.0.jar:na]
Caused by: javax.jcr.RepositoryException: Could not load JDBC driver class
com.mysql.jdbc.Driver
        at
org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:265)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.util.db.ConnectionFactory.createDataSource(ConnectionFactory.java:233)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataSource(ConnectionFactory.java:169)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager.getConnection(SimpleDbPersistenceManager.java:198)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.initConnection(DatabasePersistenceManager.java:779)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.init(DatabasePersistenceManager.java:219)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1349)
[jackrabbit-standalone-2.6.0.jar:na]
        ... 23 common frames omitted
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
~[na:1.6.0_24]
        at java.security.AccessController.doPrivileged(Native Method)
~[na:1.6.0_24]
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
~[na:1.6.0_24]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
~[na:1.6.0_24]
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
~[na:1.6.0_24]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
~[na:1.6.0_24]
        at java.lang.Class.forName0(Native Method) ~[na:1.6.0_24]
        at java.lang.Class.forName(Class.java:186) ~[na:1.6.0_24]
        at
org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:260)
~[jackrabbit-standalone-2.6.0.jar:na]
        ... 29 common frames omitted
2013-03-01 15:48:05.912 INFO  [main] RepositoryImpl.java:1060
 Shutting down repository...
2013-03-01 15:48:05.914 INFO  [main] RepositoryImpl.java:1165
 Repository has been shutdown
2013-03-01 15:48:05.915 WARN  [main] Slf4jLog.java:89
 unavailable
javax.jcr.RepositoryException: Cannot instantiate persistence manager
org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager
        at
org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1353)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:486)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:149)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109)
~[jackrabbit-standalone-2.6.0.jar:na]
        at javax.servlet.GenericServlet.init(GenericServlet.java:241)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
[jackrabbit-standalone-2.6.0.jar:na]
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
[jackrabbit-standalone-2.6.0.jar:na]
        at org.mortbay.jetty.Server.doStart(Server.java:224)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[jackrabbit-standalone-2.6.0.jar:na]
        at org.apache.jackrabbit.standalone.Main.run(Main.java:173)
[jackrabbit-standalone-2.6.0.jar:na]
        at org.apache.jackrabbit.standalone.Main.main(Main.java:60)
[jackrabbit-standalone-2.6.0.jar:na]
Caused by: javax.jcr.RepositoryException: Could not load JDBC driver class
com.mysql.jdbc.Driver
        at
org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:265)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.util.db.ConnectionFactory.createDataSource(ConnectionFactory.java:233)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataSource(ConnectionFactory.java:169)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager.getConnection(SimpleDbPersistenceManager.java:198)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.initConnection(DatabasePersistenceManager.java:779)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.init(DatabasePersistenceManager.java:219)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1349)
~[jackrabbit-standalone-2.6.0.jar:na]
        ... 23 common frames omitted
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
~[na:1.6.0_24]
        at java.security.AccessController.doPrivileged(Native Method)
~[na:1.6.0_24]
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
~[na:1.6.0_24]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
~[na:1.6.0_24]
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
~[na:1.6.0_24]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
~[na:1.6.0_24]
        at java.lang.Class.forName0(Native Method) ~[na:1.6.0_24]
        at java.lang.Class.forName(Class.java:186) ~[na:1.6.0_24]
        at
org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:260)
~[jackrabbit-standalone-2.6.0.jar:na]
        ... 29 common frames omitted
2013-03-01 15:48:05.916 INFO  [main] RepositoryAccessServlet.java:98
RepositoryAccessServlet initialized.
2013-03-01 15:48:05.922 INFO  [main] AbstractWebdavServlet.java:169
 authenticate-header = Basic realm="Jackrabbit Webdav Server"
2013-03-01 15:48:05.923 INFO  [main] AbstractWebdavServlet.java:174
 csrf-protection = null
2013-03-01 15:48:05.923 INFO  [main] AbstractWebdavServlet.java:181
 createAbsoluteURI = true
2013-03-01 15:48:05.923 INFO  [main] SimpleWebdavServlet.java:144
 resource-path-prefix = '/repository'
2013-03-01 15:48:06.038 INFO  [main] AbstractWebdavServlet.java:169
 authenticate-header = Basic realm="Jackrabbit Webdav Server"
2013-03-01 15:48:06.038 INFO  [main] AbstractWebdavServlet.java:174
 csrf-protection = null
2013-03-01 15:48:06.038 INFO  [main] AbstractWebdavServlet.java:181
 createAbsoluteURI = true


Best regards,

Lars.



On Fri, Mar 1, 2013 at 3:34 PM, Denis Trebulyov <de...@gmail.com>wrote:

> Hi, Lars,
> As variant - try to use
> org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager
> instead of
> org.apache.jackrabbit.core.persistence.pool.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="....." />
>            <param name="password" value="....." />
>            <param name="schema" value="mysql" />
>            <param name="schemaObjectPrefix" value="...." />
>            <param name="externalBLOBs" value="false" />
> </PersistenceManager>
>
> But I am not sure about usage in the latest jcr versions.
>
> Regards,
> Denis
>
>
> 2013/3/1 Lars Janssen <la...@ukmix.net>
>
> > Hi all,
> >
> > I've been successfully using Apache Jackrabbit 2.4.3 and now 2.6.0
> > (standalone server in both cases) using the default configuration, so the
> > repository is stored on the filesystem.
> >
> > How can I make it connect to a MySQL back end instead? I don't need to
> > worry about migration, just set it up as a fresh install.
> >
> > After trying the steps below, Jackrabbit fails to start correctly or
> > populate the DATASTORE table in the database, and I find this error in
> the
> > logs:
> >
> > ERROR [main] RepositoryImpl.java:366
> >            failed to start Repository: Cannot instantiate persistence
> > manager
> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
> >     javax.jcr.RepositoryException: Cannot instantiate persistence manager
> > org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
> >     [... oodles of backtrace cut ...]
> > What I've done so far:
> >
> > I've created the Jackrabbit database/user, which I can connect to no
> > problem:
> >
> > mysql -D jackrabbit -u jackrabbit -h localhost -pjackrabbit
> > I started with a clean slate (empty /var/jackrabbit directory), except
> the
> > configuration file comes from here:
> > https://raw.github.com/wiki/jackalope/jackalope/files/repository.xml
> >
> > Here's the startup script I'm using:
> > https://github.com/sixty-nine/Jackrabbit-startup-script
> >
> > And here's the java process that runs:
> >
> > java -XX:MaxPermSize=128m -Xmx512M -Xms128M
> -Dcom.sun.management.jmxremote
> > -Dcom.sun.management.jmxremote.port=1111
> > -Dcom.sun.management.jmxremote.authenticate=true
> > -Dcom.sun.management.jmxremote.ssl=false
> >
> >
> -Dcom.sun.management.jmxremote.password.file=/opt/jackrabbit/startup/jmx.user
> >
> -Dcom.sun.management.jmxremote.access.file=/opt/jackrabbit/startup/jmx.role
> > -jar /opt/jackrabbit/jackrabbit-standalone-2.6.0.jar -h 127.0.0.1 -p 8080
> > I don't think I get far enough for it to matter, but I'm using MySQL
> > 5.5.28-1.
> >
> > I'm having the above problem with both 2.4.3 and 2.6.0.
> >
> > Also:
> >
> > java version "1.6.0_24"
> > OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-1)
> > OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
> > Plus I subsequently installed the MySQL JDBC library on Debian:
> >
> > apt-get install libmysql-java
> >
> > Thanks,
> >
> > Lars.
> >
>

Re: How to use MySQL persistence manager with Jackrabbit standalone

Posted by Denis Trebulyov <de...@gmail.com>.
Hi, Lars,
As variant - try to use
org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager
instead of
org.apache.jackrabbit.core.persistence.pool.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="....." />
           <param name="password" value="....." />
           <param name="schema" value="mysql" />
           <param name="schemaObjectPrefix" value="...." />
           <param name="externalBLOBs" value="false" />
</PersistenceManager>

But I am not sure about usage in the latest jcr versions.

Regards,
Denis


2013/3/1 Lars Janssen <la...@ukmix.net>

> Hi all,
>
> I've been successfully using Apache Jackrabbit 2.4.3 and now 2.6.0
> (standalone server in both cases) using the default configuration, so the
> repository is stored on the filesystem.
>
> How can I make it connect to a MySQL back end instead? I don't need to
> worry about migration, just set it up as a fresh install.
>
> After trying the steps below, Jackrabbit fails to start correctly or
> populate the DATASTORE table in the database, and I find this error in the
> logs:
>
> ERROR [main] RepositoryImpl.java:366
>            failed to start Repository: Cannot instantiate persistence
> manager org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>     javax.jcr.RepositoryException: Cannot instantiate persistence manager
> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>     [... oodles of backtrace cut ...]
> What I've done so far:
>
> I've created the Jackrabbit database/user, which I can connect to no
> problem:
>
> mysql -D jackrabbit -u jackrabbit -h localhost -pjackrabbit
> I started with a clean slate (empty /var/jackrabbit directory), except the
> configuration file comes from here:
> https://raw.github.com/wiki/jackalope/jackalope/files/repository.xml
>
> Here's the startup script I'm using:
> https://github.com/sixty-nine/Jackrabbit-startup-script
>
> And here's the java process that runs:
>
> java -XX:MaxPermSize=128m -Xmx512M -Xms128M -Dcom.sun.management.jmxremote
> -Dcom.sun.management.jmxremote.port=1111
> -Dcom.sun.management.jmxremote.authenticate=true
> -Dcom.sun.management.jmxremote.ssl=false
>
> -Dcom.sun.management.jmxremote.password.file=/opt/jackrabbit/startup/jmx.user
> -Dcom.sun.management.jmxremote.access.file=/opt/jackrabbit/startup/jmx.role
> -jar /opt/jackrabbit/jackrabbit-standalone-2.6.0.jar -h 127.0.0.1 -p 8080
> I don't think I get far enough for it to matter, but I'm using MySQL
> 5.5.28-1.
>
> I'm having the above problem with both 2.4.3 and 2.6.0.
>
> Also:
>
> java version "1.6.0_24"
> OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-1)
> OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
> Plus I subsequently installed the MySQL JDBC library on Debian:
>
> apt-get install libmysql-java
>
> Thanks,
>
> Lars.
>

Re: How to use MySQL persistence manager with Jackrabbit standalone

Posted by Lars Janssen <la...@ukmix.net>.
Hi all,

Thanks to everyone who offered help with this MySQL connection issue.

In the end I managed to get it working under Tomcat instead of the
standalone version, with the instructions here:

https://github.com/jackalope/jackalope/wiki/Running-jackrabbit-in-tomcat-with-mysql

I could probably also have got it working using the steps described
by Christoph Läubrich, given that in both cases there seems to be a need to
put classes into the Java library rather than using $CLASSPATH or -cp. But
anyway it's working fine under Tomcat now. :)

Best regards,

Lars.



On Fri, Mar 1, 2013 at 6:24 PM, Ron Wheeler
<rw...@artifact-software.com>wrote:

> Response to my first question is
> "bad configuration - wrong class name in the Jackrabbit configuration"
> org.gjt.mm.mysql.Driver is not com.mysql.jdbc.Driver.class
>
>
>
> On 01/03/2013 12:27 PM, Lars Janssen wrote:
>
>> It does appear to be:
>>
>> $ unzip -l /usr/share/java/mysql-**connector-java-5.1.16.jar | grep
>> Driver
>>         21  2011-09-06 19:35   META-INF/services/java.sql.**Driver
>>        648  2011-09-06 19:35   com/mysql/jdbc/Driver.class
>>      15550  2011-09-06 19:35   com/mysql/jdbc/**
>> NonRegisteringDriver.class
>>        690  2011-09-06 19:35
>> com/mysql/jdbc/**NonRegisteringReplicationDrive**r.class
>>        687  2011-09-06 19:35   com/mysql/jdbc/**ReplicationDriver.class
>>        336  2011-09-06 19:35   org/gjt/mm/mysql/Driver.class
>>
>> I am specifying the class path with java -cp, is this the right way?
>>
>>      java -cp /usr/share/java/mysql-**connector-java-5.1.16.jar
>>
>> For putting the connector into my jre library, in my case I believe
>> that's /usr/lib/jvm/java-6-openjdk-**amd64/jre/lib. Unfortunately this
>> hasn't
>> made any difference.
>>
>> I'm wondering if changing to a different JRE is likely to help? (e.g. the
>> Oracle one) Also, does it make any difference that I'm using the
>> standalone
>> JAR version of Jackrabbit?
>>
>> Sorry for so many questions!
>>
>>
>> On Fri, Mar 1, 2013 at 4:52 PM, Ron Wheeler
>> <rwheeler@artifact-software.**com <rw...@artifact-software.com>>wrote:
>>
>>  Is the missing class in the jar?
>>> - if not - wrong jar or bad configuration of the connector in your
>>> jackrabbit
>>> - If it is, you don't have the classpath specified correctly. You could
>>> just add the connector jar to your java jre library.
>>> Not the best long term solution since you will have to do it again when
>>> you switch java version but at least you can get to the next step and ten
>>> come back to classpath issues.
>>>
>>>
>>>
>>> On 01/03/2013 11:42 AM, Lars Janssen wrote:
>>>
>>>  I've also just tried downloading mysql-connector-java-5.1.23-****
>>>> bin.jar
>>>>
>>>> from
>>>> the Oracle MySql site, same problem.
>>>>
>>>>
>>>>
>>>> On Fri, Mar 1, 2013 at 4:30 PM, Lars Janssen <la...@fazy.net> wrote:
>>>>
>>>>   Still getting the same problem... :(
>>>>
>>>>> I wasn't sure if it was picking up the CLASSPATH variable, so I used
>>>>> -cp
>>>>> on the java command:
>>>>>
>>>>> java -cp /usr/share/java/mysql-****connector-java-5.1.16.jar
>>>>>
>>>>> -XX:MaxPermSize=128m -Xmx512M -Xms128M -Dcom.sun.management.jmxremote
>>>>> -Dcom.sun.management.****jmxremote.port=1111
>>>>> -Dcom.sun.management.****jmxremote.authenticate=true
>>>>> -Dcom.sun.management.****jmxremote.ssl=false
>>>>> -Dcom.sun.management.****jmxremote.password.file=/opt/****
>>>>> jackrabbit/startup/jmx.user
>>>>> -Dcom.sun.management.****jmxremote.access.file=/opt/**
>>>>> jackrabbit/startup/jmx.role
>>>>> -jar /opt/jackrabbit/jackrabbit-****standalone-2.6.0.jar
>>>>>
>>>>>
>>>>> I hope I'm using the right connector, this one from Debian APT:
>>>>>       libmysql-java - Java database (JDBC) driver for MySQL
>>>>>
>>>>> The apt-file command confirms that it's providing this file:
>>>>>       /usr/share/java/mysql-****connector-java-5.1.16.jar
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Lars.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Fri, Mar 1, 2013 at 4:02 PM, Stefan Guggisberg <
>>>>> stefan.guggisberg@gmail.com> wrote:
>>>>>
>>>>>   here's the culprit:
>>>>>
>>>>>> Caused by: java.lang.****ClassNotFoundException:
>>>>>> org.gjt.mm.mysql.Driver
>>>>>>
>>>>>>
>>>>>> make sure you've added the mysql jdbc driver to the classpath.
>>>>>>
>>>>>> cheers
>>>>>> stefan
>>>>>>
>>>>>> On Fri, Mar 1, 2013 at 4:40 PM, Lars Janssen <la...@fazy.net> wrote:
>>>>>>
>>>>>>  Hi Stefan,
>>>>>>>
>>>>>>> Thanks for replying. I cleared the log file and started Jackrabbit
>>>>>>>
>>>>>>>  again,
>>>>>>
>>>>>>  here is the entire log from the startup operation:
>>>>>>>
>>>>>>> 2013-03-01 15:35:26.586 INFO  [main] RepositoryImpl.java:256
>>>>>>> Starting repository...
>>>>>>> 2013-03-01 15:35:26.588 INFO  [main] LocalFileSystem.java:164
>>>>>>>    LocalFileSystem initialized at path jackrabbit/repository
>>>>>>> 2013-03-01 15:35:26.664 INFO  [main] NodeTypeRegistry.java:870
>>>>>>>
>>>>>>>  no
>>>>>>
>>>>>>  custom node type definitions found
>>>>>>> 2013-03-01 15:35:26.683 INFO  [main] LocalFileSystem.java:164
>>>>>>>    LocalFileSystem initialized at path jackrabbit/version
>>>>>>> 2013-03-01 15:35:27.717 ERROR [main] RepositoryImpl.java:366
>>>>>>> failed to start Repository: Cannot instantiate persistence manager
>>>>>>> org.apache.jackrabbit.core.****persistence.pool.**
>>>>>>>
>>>>>>> MySqlPersistenceManager
>>>>>>> javax.jcr.RepositoryException: Cannot instantiate persistence manager
>>>>>>> org.apache.jackrabbit.core.****persistence.pool.**
>>>>>>> MySqlPersistenceManager
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****RepositoryImpl.**
>>>>>>>
>>>>>> createPersistenceManager(****RepositoryImpl.java:1353)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****RepositoryImpl.****
>>>>>>> createVersionManager(**
>>>>>>>
>>>>>> RepositoryImpl.java:486)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****RepositoryImpl.<init>(**
>>>>>>>
>>>>>> RepositoryImpl.java:311)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****RepositoryImpl.create(**
>>>>>>>
>>>>>> RepositoryImpl.java:589)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****RepositoryContext.create(**
>>>>>>>
>>>>>> RepositoryContext.java:149)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.servlet.****jackrabbit.**
>>>>>>>
>>>>>> JackrabbitRepositoryServlet.****init(****
>>>>>> JackrabbitRepositoryServlet.**
>>>>>> java:109)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at javax.servlet.GenericServlet.****
>>>>>>> init(GenericServlet.java:241)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.mortbay.jetty.servlet.****ServletHolder.initServlet(**
>>>>>>>
>>>>>> ServletHolder.java:440)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>> org.mortbay.jetty.servlet.****ServletHolder.doStart(**
>>>>>>> ServletHolder.java:263)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>> org.mortbay.component.****AbstractLifeCycle.start(**
>>>>>>> AbstractLifeCycle.java:50)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.mortbay.jetty.servlet.****ServletHandler.initialize(**
>>>>>>>
>>>>>> ServletHandler.java:685)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>  org.mortbay.jetty.servlet.****Context.startContext(Context.***
>>>>>> *java:140)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.mortbay.jetty.webapp.****WebAppContext.startContext(**
>>>>>>>
>>>>>> WebAppContext.java:1250)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.mortbay.jetty.handler.****ContextHandler.doStart(**
>>>>>>>
>>>>>> ContextHandler.java:517)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>> org.mortbay.jetty.webapp.****WebAppContext.doStart(**
>>>>>>> WebAppContext.java:467)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>> org.mortbay.component.****AbstractLifeCycle.start(**
>>>>>>> AbstractLifeCycle.java:50)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.mortbay.jetty.handler.****HandlerWrapper.doStart(**
>>>>>>>
>>>>>> HandlerWrapper.java:130)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.mortbay.jetty.handler.****RequestLogHandler.doStart(**
>>>>>>>
>>>>>> RequestLogHandler.java:115)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>> org.mortbay.component.****AbstractLifeCycle.start(**
>>>>>>> AbstractLifeCycle.java:50)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.mortbay.jetty.handler.****HandlerWrapper.doStart(**
>>>>>>>
>>>>>> HandlerWrapper.java:130)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at org.mortbay.jetty.Server.****doStart(Server.java:224)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>> org.mortbay.component.****AbstractLifeCycle.start(**
>>>>>>> AbstractLifeCycle.java:50)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at org.apache.jackrabbit.****
>>>>>>> standalone.Main.run(Main.java:****
>>>>>>> 173)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at org.apache.jackrabbit.****standalone.Main.main(Main.**
>>>>>>> java:60)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>
>>>>>>> Caused by: javax.jcr.RepositoryException: Could not load JDBC driver
>>>>>>>
>>>>>>>  class
>>>>>>
>>>>>>  org.gjt.mm.mysql.Driver
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****util.db.ConnectionFactory.**
>>>>>>>
>>>>>> getDriverClass(****ConnectionFactory.java:265)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****util.db.ConnectionFactory.**
>>>>>>>
>>>>>> createDataSource(****ConnectionFactory.java:233)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****util.db.ConnectionFactory.**
>>>>>>>
>>>>>> getDataSource(****ConnectionFactory.java:169)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****persistence.pool.**
>>>>>>>
>>>>>> BundleDbPersistenceManager.****getDataSource(**
>>>>>> BundleDbPersistenceManager.****java:569)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****persistence.pool.**
>>>>>>>
>>>>>> BundleDbPersistenceManager.****init(****BundleDbPersistenceManager.**
>>>>>> java:537)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****persistence.pool.**
>>>>>>>
>>>>>> MySqlPersistenceManager.init(****MySqlPersistenceManager.java:****51)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****RepositoryImpl.**
>>>>>>>
>>>>>> createPersistenceManager(****RepositoryImpl.java:1349)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>
>>>>>>>           ... 23 common frames omitted
>>>>>>> Caused by: java.lang.****ClassNotFoundException:
>>>>>>> org.gjt.mm.mysql.Driver
>>>>>>>           at java.net.URLClassLoader$1.run(**
>>>>>>> **URLClassLoader.java:217)
>>>>>>> ~[na:1.6.0_24]
>>>>>>>           at java.security.****AccessController.doPrivileged(**
>>>>>>> **Native
>>>>>>> Method)
>>>>>>> ~[na:1.6.0_24]
>>>>>>>           at java.net.URLClassLoader.****
>>>>>>> findClass(URLClassLoader.java:****
>>>>>>> 205)
>>>>>>> ~[na:1.6.0_24]
>>>>>>>           at java.lang.ClassLoader.****loadClass(ClassLoader.java:**
>>>>>>> **321)
>>>>>>> ~[na:1.6.0_24]
>>>>>>>           at sun.misc.Launcher$****AppClassLoader.loadClass(**
>>>>>>>
>>>>>>> Launcher.java:294)
>>>>>>> ~[na:1.6.0_24]
>>>>>>>           at java.lang.ClassLoader.****loadClass(ClassLoader.java:**
>>>>>>> **266)
>>>>>>> ~[na:1.6.0_24]
>>>>>>>           at java.lang.Class.forName0(****Native Method)
>>>>>>> ~[na:1.6.0_24]
>>>>>>>           at java.lang.Class.forName(Class.****java:186)
>>>>>>> ~[na:1.6.0_24]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****util.db.ConnectionFactory.**
>>>>>>>
>>>>>> getDriverClass(****ConnectionFactory.java:260)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>
>>>>>>>           ... 29 common frames omitted
>>>>>>> 2013-03-01 15:35:27.718 INFO  [main] RepositoryImpl.java:1060
>>>>>>>    Shutting down repository...
>>>>>>> 2013-03-01 15:35:27.719 INFO  [main] RepositoryImpl.java:1165
>>>>>>>    Repository has been shutdown
>>>>>>> 2013-03-01 15:35:27.720 WARN  [main] Slf4jLog.java:89
>>>>>>>    unavailable
>>>>>>> javax.jcr.RepositoryException: Cannot instantiate persistence manager
>>>>>>> org.apache.jackrabbit.core.****persistence.pool.**
>>>>>>> MySqlPersistenceManager
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****RepositoryImpl.**
>>>>>>>
>>>>>> createPersistenceManager(****RepositoryImpl.java:1353)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****RepositoryImpl.****
>>>>>>> createVersionManager(**
>>>>>>>
>>>>>> RepositoryImpl.java:486)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****RepositoryImpl.<init>(**
>>>>>>>
>>>>>> RepositoryImpl.java:311)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****RepositoryImpl.create(**
>>>>>>>
>>>>>> RepositoryImpl.java:589)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****RepositoryContext.create(**
>>>>>>>
>>>>>> RepositoryContext.java:149)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.servlet.****jackrabbit.**
>>>>>>>
>>>>>> JackrabbitRepositoryServlet.****init(****
>>>>>> JackrabbitRepositoryServlet.**
>>>>>> java:109)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at javax.servlet.GenericServlet.****
>>>>>>> init(GenericServlet.java:241)
>>>>>>> ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.mortbay.jetty.servlet.****ServletHolder.initServlet(**
>>>>>>>
>>>>>> ServletHolder.java:440)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>> org.mortbay.jetty.servlet.****ServletHolder.doStart(**
>>>>>>> ServletHolder.java:263)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>> org.mortbay.component.****AbstractLifeCycle.start(**
>>>>>>> AbstractLifeCycle.java:50)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.mortbay.jetty.servlet.****ServletHandler.initialize(**
>>>>>>>
>>>>>> ServletHandler.java:685)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>  org.mortbay.jetty.servlet.****Context.startContext(Context.***
>>>>>> *java:140)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.mortbay.jetty.webapp.****WebAppContext.startContext(**
>>>>>>>
>>>>>> WebAppContext.java:1250)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.mortbay.jetty.handler.****ContextHandler.doStart(**
>>>>>>>
>>>>>> ContextHandler.java:517)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>> org.mortbay.jetty.webapp.****WebAppContext.doStart(**
>>>>>>> WebAppContext.java:467)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>> org.mortbay.component.****AbstractLifeCycle.start(**
>>>>>>> AbstractLifeCycle.java:50)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.mortbay.jetty.handler.****HandlerWrapper.doStart(**
>>>>>>>
>>>>>> HandlerWrapper.java:130)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.mortbay.jetty.handler.****RequestLogHandler.doStart(**
>>>>>>>
>>>>>> RequestLogHandler.java:115)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>> org.mortbay.component.****AbstractLifeCycle.start(**
>>>>>>> AbstractLifeCycle.java:50)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.mortbay.jetty.handler.****HandlerWrapper.doStart(**
>>>>>>>
>>>>>> HandlerWrapper.java:130)
>>>>>>
>>>>>>  [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at org.mortbay.jetty.Server.****doStart(Server.java:224)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>> org.mortbay.component.****AbstractLifeCycle.start(**
>>>>>>> AbstractLifeCycle.java:50)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at org.apache.jackrabbit.****
>>>>>>> standalone.Main.run(Main.java:****
>>>>>>> 173)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at org.apache.jackrabbit.****standalone.Main.main(Main.**
>>>>>>> java:60)
>>>>>>> [jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>
>>>>>>> Caused by: javax.jcr.RepositoryException: Could not load JDBC driver
>>>>>>>
>>>>>>>  class
>>>>>>
>>>>>>  org.gjt.mm.mysql.Driver
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****util.db.ConnectionFactory.**
>>>>>>>
>>>>>> getDriverClass(****ConnectionFactory.java:265)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****util.db.ConnectionFactory.**
>>>>>>>
>>>>>> createDataSource(****ConnectionFactory.java:233)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****util.db.ConnectionFactory.**
>>>>>>>
>>>>>> getDataSource(****ConnectionFactory.java:169)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****persistence.pool.**
>>>>>>>
>>>>>> BundleDbPersistenceManager.****getDataSource(**
>>>>>> BundleDbPersistenceManager.****java:569)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****persistence.pool.**
>>>>>>>
>>>>>> BundleDbPersistenceManager.****init(****BundleDbPersistenceManager.**
>>>>>> java:537)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****persistence.pool.**
>>>>>>>
>>>>>> MySqlPersistenceManager.init(****MySqlPersistenceManager.java:****51)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****RepositoryImpl.**
>>>>>>>
>>>>>> createPersistenceManager(****RepositoryImpl.java:1349)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>
>>>>>>>           ... 23 common frames omitted
>>>>>>> Caused by: java.lang.****ClassNotFoundException:
>>>>>>> org.gjt.mm.mysql.Driver
>>>>>>>           at java.net.URLClassLoader$1.run(**
>>>>>>> **URLClassLoader.java:217)
>>>>>>> ~[na:1.6.0_24]
>>>>>>>           at java.security.****AccessController.doPrivileged(**
>>>>>>> **Native
>>>>>>> Method)
>>>>>>> ~[na:1.6.0_24]
>>>>>>>           at java.net.URLClassLoader.****
>>>>>>> findClass(URLClassLoader.java:****
>>>>>>> 205)
>>>>>>> ~[na:1.6.0_24]
>>>>>>>           at java.lang.ClassLoader.****loadClass(ClassLoader.java:**
>>>>>>> **321)
>>>>>>> ~[na:1.6.0_24]
>>>>>>>           at sun.misc.Launcher$****AppClassLoader.loadClass(**
>>>>>>>
>>>>>>> Launcher.java:294)
>>>>>>> ~[na:1.6.0_24]
>>>>>>>           at java.lang.ClassLoader.****loadClass(ClassLoader.java:**
>>>>>>> **266)
>>>>>>> ~[na:1.6.0_24]
>>>>>>>           at java.lang.Class.forName0(****Native Method)
>>>>>>> ~[na:1.6.0_24]
>>>>>>>           at java.lang.Class.forName(Class.****java:186)
>>>>>>> ~[na:1.6.0_24]
>>>>>>>           at
>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****util.db.ConnectionFactory.**
>>>>>>>
>>>>>> getDriverClass(****ConnectionFactory.java:260)
>>>>>>
>>>>>>  ~[jackrabbit-standalone-2.6.0.****jar:na]
>>>>>>>
>>>>>>>           ... 29 common frames omitted
>>>>>>> 2013-03-01 15:35:27.721 INFO  [main] RepositoryAccessServlet.java:**
>>>>>>> **98
>>>>>>>
>>>>>>> RepositoryAccessServlet initialized.
>>>>>>> 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:169
>>>>>>>    authenticate-header = Basic realm="Jackrabbit Webdav Server"
>>>>>>> 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:174
>>>>>>>    csrf-protection = null
>>>>>>> 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:181
>>>>>>>    createAbsoluteURI = true
>>>>>>> 2013-03-01 15:35:27.728 INFO  [main] SimpleWebdavServlet.java:144
>>>>>>>    resource-path-prefix = '/repository'
>>>>>>> 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:169
>>>>>>>    authenticate-header = Basic realm="Jackrabbit Webdav Server"
>>>>>>> 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:174
>>>>>>>    csrf-protection = null
>>>>>>> 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:181
>>>>>>>    createAbsoluteURI = true
>>>>>>>
>>>>>>>
>>>>>>> Best regards,
>>>>>>>
>>>>>>> Lars.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Mar 1, 2013 at 3:19 PM, Stefan Guggisberg <
>>>>>>> stefan.guggisberg@gmail.com> wrote:
>>>>>>>
>>>>>>>   hi lars,
>>>>>>>
>>>>>>>> On Fri, Mar 1, 2013 at 4:08 PM, Lars Janssen <
>>>>>>>> lars-listmail@ukmix.net
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>  Hi all,
>>>>>>>>>
>>>>>>>>> I've been successfully using Apache Jackrabbit 2.4.3 and now 2.6.0
>>>>>>>>> (standalone server in both cases) using the default configuration,
>>>>>>>>>
>>>>>>>>>  so the
>>>>>>>>
>>>>>>>   repository is stored on the filesystem.
>>>>>>>
>>>>>>>> How can I make it connect to a MySQL back end instead? I don't need
>>>>>>>>>
>>>>>>>>>  to
>>>>>>>>
>>>>>>>   worry about migration, just set it up as a fresh install.
>>>>>>>
>>>>>>>> After trying the steps below, Jackrabbit fails to start correctly or
>>>>>>>>> populate the DATASTORE table in the database, and I find this error
>>>>>>>>>
>>>>>>>>>  in
>>>>>>>>
>>>>>>> the
>>>>>>>
>>>>>>>> logs:
>>>>>>>>>
>>>>>>>>> ERROR [main] RepositoryImpl.java:366
>>>>>>>>>              failed to start Repository: Cannot instantiate
>>>>>>>>> persistence
>>>>>>>>> manager
>>>>>>>>>
>>>>>>>>>  org.apache.jackrabbit.core.****persistence.pool.**
>>>>>>>>
>>>>>>>> MySqlPersistenceManager
>>>>>>>>
>>>>>>>>        javax.jcr.RepositoryException: Cannot instantiate persistence
>>>>>>>>>
>>>>>>>>>  manager
>>>>>>>>
>>>>>>>   org.apache.jackrabbit.core.****persistence.pool.**
>>>>>>>
>>>>>>>  MySqlPersistenceManager
>>>>>>>>>       [... oodles of backtrace cut ...]
>>>>>>>>>
>>>>>>>>>  could you please provide the full stack trace, or, even better,
>>>>>>>> the
>>>>>>>> complete error log?
>>>>>>>>
>>>>>>>> cheers
>>>>>>>> stefan
>>>>>>>>
>>>>>>>>   What I've done so far:
>>>>>>>>
>>>>>>>>> I've created the Jackrabbit database/user, which I can connect to
>>>>>>>>> no
>>>>>>>>> problem:
>>>>>>>>>
>>>>>>>>> mysql -D jackrabbit -u jackrabbit -h localhost -pjackrabbit
>>>>>>>>> I started with a clean slate (empty /var/jackrabbit directory),
>>>>>>>>>
>>>>>>>>>  except
>>>>>>>>
>>>>>>> the
>>>>>>>
>>>>>>>> configuration file comes from here:
>>>>>>>>> https://raw.github.com/wiki/****jackalope/jackalope/files/**<https://raw.github.com/wiki/**jackalope/jackalope/files/**>
>>>>>>>>> repository.xml<https://raw.**github.com/wiki/jackalope/**
>>>>>>>>> jackalope/files/repository.xml<https://raw.github.com/wiki/jackalope/jackalope/files/repository.xml>
>>>>>>>>> **>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Here's the startup script I'm using:
>>>>>>>>> https://github.com/sixty-nine/****Jackrabbit-startup-script<https://github.com/sixty-nine/**Jackrabbit-startup-script>
>>>>>>>>> <ht**tps://github.com/sixty-nine/**Jackrabbit-startup-script<https://github.com/sixty-nine/Jackrabbit-startup-script>
>>>>>>>>> >
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> And here's the java process that runs:
>>>>>>>>>
>>>>>>>>> java -XX:MaxPermSize=128m -Xmx512M -Xms128M
>>>>>>>>>
>>>>>>>>>  -Dcom.sun.management.jmxremote
>>>>>>>>
>>>>>>>>  -Dcom.sun.management.****jmxremote.port=1111
>>>>>>>>> -Dcom.sun.management.****jmxremote.authenticate=true
>>>>>>>>> -Dcom.sun.management.****jmxremote.ssl=false
>>>>>>>>>
>>>>>>>>>   -Dcom.sun.management.****jmxremote.password.file=/opt/****
>>>>>>>>>
>>>>>>>> jackrabbit/startup/jmx.user
>>>>>> -Dcom.sun.management.****jmxremote.access.file=/opt/**
>>>>>> jackrabbit/startup/jmx.role
>>>>>>
>>>>>>    -jar /opt/jackrabbit/jackrabbit-****standalone-2.6.0.jar -h
>>>>>>> 127.0.0.1
>>>>>>>
>>>>>>>  -p
>>>>>>>>>
>>>>>>>>>  8080
>>>>>>>>
>>>>>>>   I don't think I get far enough for it to matter, but I'm using
>>>>>>> MySQL
>>>>>>>
>>>>>>>> 5.5.28-1.
>>>>>>>>>
>>>>>>>>> I'm having the above problem with both 2.4.3 and 2.6.0.
>>>>>>>>>
>>>>>>>>> Also:
>>>>>>>>>
>>>>>>>>> java version "1.6.0_24"
>>>>>>>>> OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-1)
>>>>>>>>> OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
>>>>>>>>> Plus I subsequently installed the MySQL JDBC library on Debian:
>>>>>>>>>
>>>>>>>>> apt-get install libmysql-java
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>>
>>>>>>>>> Lars.
>>>>>>>>>
>>>>>>>>>  --
>>> Ron Wheeler
>>> President
>>> Artifact Software Inc
>>> email: rwheeler@artifact-software.com
>>> skype: ronaldmwheeler
>>> phone: 866-970-2435, ext 102
>>>
>>>
>>>
>
> --
> Ron Wheeler
> President
> Artifact Software Inc
> email: rwheeler@artifact-software.com
> skype: ronaldmwheeler
> phone: 866-970-2435, ext 102
>
>

Re: How to use MySQL persistence manager with Jackrabbit standalone

Posted by Ron Wheeler <rw...@artifact-software.com>.
Response to my first question is
"bad configuration - wrong class name in the Jackrabbit configuration"
org.gjt.mm.mysql.Driver is not com.mysql.jdbc.Driver.class


On 01/03/2013 12:27 PM, Lars Janssen wrote:
> It does appear to be:
>
> $ unzip -l /usr/share/java/mysql-connector-java-5.1.16.jar | grep Driver
>         21  2011-09-06 19:35   META-INF/services/java.sql.Driver
>        648  2011-09-06 19:35   com/mysql/jdbc/Driver.class
>      15550  2011-09-06 19:35   com/mysql/jdbc/NonRegisteringDriver.class
>        690  2011-09-06 19:35
> com/mysql/jdbc/NonRegisteringReplicationDriver.class
>        687  2011-09-06 19:35   com/mysql/jdbc/ReplicationDriver.class
>        336  2011-09-06 19:35   org/gjt/mm/mysql/Driver.class
>
> I am specifying the class path with java -cp, is this the right way?
>
>      java -cp /usr/share/java/mysql-connector-java-5.1.16.jar
>
> For putting the connector into my jre library, in my case I believe
> that's /usr/lib/jvm/java-6-openjdk-amd64/jre/lib. Unfortunately this hasn't
> made any difference.
>
> I'm wondering if changing to a different JRE is likely to help? (e.g. the
> Oracle one) Also, does it make any difference that I'm using the standalone
> JAR version of Jackrabbit?
>
> Sorry for so many questions!
>
>
> On Fri, Mar 1, 2013 at 4:52 PM, Ron Wheeler
> <rw...@artifact-software.com>wrote:
>
>> Is the missing class in the jar?
>> - if not - wrong jar or bad configuration of the connector in your
>> jackrabbit
>> - If it is, you don't have the classpath specified correctly. You could
>> just add the connector jar to your java jre library.
>> Not the best long term solution since you will have to do it again when
>> you switch java version but at least you can get to the next step and ten
>> come back to classpath issues.
>>
>>
>>
>> On 01/03/2013 11:42 AM, Lars Janssen wrote:
>>
>>> I've also just tried downloading mysql-connector-java-5.1.23-**bin.jar
>>> from
>>> the Oracle MySql site, same problem.
>>>
>>>
>>>
>>> On Fri, Mar 1, 2013 at 4:30 PM, Lars Janssen <la...@fazy.net> wrote:
>>>
>>>   Still getting the same problem... :(
>>>> I wasn't sure if it was picking up the CLASSPATH variable, so I used -cp
>>>> on the java command:
>>>>
>>>> java -cp /usr/share/java/mysql-**connector-java-5.1.16.jar
>>>> -XX:MaxPermSize=128m -Xmx512M -Xms128M -Dcom.sun.management.jmxremote
>>>> -Dcom.sun.management.**jmxremote.port=1111
>>>> -Dcom.sun.management.**jmxremote.authenticate=true
>>>> -Dcom.sun.management.**jmxremote.ssl=false
>>>> -Dcom.sun.management.**jmxremote.password.file=/opt/**
>>>> jackrabbit/startup/jmx.user
>>>> -Dcom.sun.management.**jmxremote.access.file=/opt/**
>>>> jackrabbit/startup/jmx.role
>>>> -jar /opt/jackrabbit/jackrabbit-**standalone-2.6.0.jar
>>>>
>>>> I hope I'm using the right connector, this one from Debian APT:
>>>>       libmysql-java - Java database (JDBC) driver for MySQL
>>>>
>>>> The apt-file command confirms that it's providing this file:
>>>>       /usr/share/java/mysql-**connector-java-5.1.16.jar
>>>>
>>>> Thanks,
>>>> Lars.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Fri, Mar 1, 2013 at 4:02 PM, Stefan Guggisberg <
>>>> stefan.guggisberg@gmail.com> wrote:
>>>>
>>>>   here's the culprit:
>>>>> Caused by: java.lang.**ClassNotFoundException: org.gjt.mm.mysql.Driver
>>>>>
>>>>> make sure you've added the mysql jdbc driver to the classpath.
>>>>>
>>>>> cheers
>>>>> stefan
>>>>>
>>>>> On Fri, Mar 1, 2013 at 4:40 PM, Lars Janssen <la...@fazy.net> wrote:
>>>>>
>>>>>> Hi Stefan,
>>>>>>
>>>>>> Thanks for replying. I cleared the log file and started Jackrabbit
>>>>>>
>>>>> again,
>>>>>
>>>>>> here is the entire log from the startup operation:
>>>>>>
>>>>>> 2013-03-01 15:35:26.586 INFO  [main] RepositoryImpl.java:256
>>>>>> Starting repository...
>>>>>> 2013-03-01 15:35:26.588 INFO  [main] LocalFileSystem.java:164
>>>>>>    LocalFileSystem initialized at path jackrabbit/repository
>>>>>> 2013-03-01 15:35:26.664 INFO  [main] NodeTypeRegistry.java:870
>>>>>>
>>>>> no
>>>>>
>>>>>> custom node type definitions found
>>>>>> 2013-03-01 15:35:26.683 INFO  [main] LocalFileSystem.java:164
>>>>>>    LocalFileSystem initialized at path jackrabbit/version
>>>>>> 2013-03-01 15:35:27.717 ERROR [main] RepositoryImpl.java:366
>>>>>> failed to start Repository: Cannot instantiate persistence manager
>>>>>> org.apache.jackrabbit.core.**persistence.pool.**
>>>>>> MySqlPersistenceManager
>>>>>> javax.jcr.RepositoryException: Cannot instantiate persistence manager
>>>>>> org.apache.jackrabbit.core.**persistence.pool.**
>>>>>> MySqlPersistenceManager
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**RepositoryImpl.**
>>>>> createPersistenceManager(**RepositoryImpl.java:1353)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**RepositoryImpl.**createVersionManager(**
>>>>> RepositoryImpl.java:486)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**RepositoryImpl.<init>(**
>>>>> RepositoryImpl.java:311)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**RepositoryImpl.create(**
>>>>> RepositoryImpl.java:589)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**RepositoryContext.create(**
>>>>> RepositoryContext.java:149)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.servlet.**jackrabbit.**
>>>>> JackrabbitRepositoryServlet.**init(**JackrabbitRepositoryServlet.**
>>>>> java:109)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at javax.servlet.GenericServlet.**
>>>>>> init(GenericServlet.java:241)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.mortbay.jetty.servlet.**ServletHolder.initServlet(**
>>>>> ServletHolder.java:440)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>> org.mortbay.jetty.servlet.**ServletHolder.doStart(**
>>>>>> ServletHolder.java:263)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>> org.mortbay.component.**AbstractLifeCycle.start(**
>>>>>> AbstractLifeCycle.java:50)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.mortbay.jetty.servlet.**ServletHandler.initialize(**
>>>>> ServletHandler.java:685)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>> org.mortbay.jetty.servlet.**Context.startContext(Context.**java:140)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.mortbay.jetty.webapp.**WebAppContext.startContext(**
>>>>> WebAppContext.java:1250)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.mortbay.jetty.handler.**ContextHandler.doStart(**
>>>>> ContextHandler.java:517)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>> org.mortbay.jetty.webapp.**WebAppContext.doStart(**
>>>>>> WebAppContext.java:467)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>> org.mortbay.component.**AbstractLifeCycle.start(**
>>>>>> AbstractLifeCycle.java:50)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.mortbay.jetty.handler.**HandlerWrapper.doStart(**
>>>>> HandlerWrapper.java:130)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.mortbay.jetty.handler.**RequestLogHandler.doStart(**
>>>>> RequestLogHandler.java:115)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>> org.mortbay.component.**AbstractLifeCycle.start(**
>>>>>> AbstractLifeCycle.java:50)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.mortbay.jetty.handler.**HandlerWrapper.doStart(**
>>>>> HandlerWrapper.java:130)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at org.mortbay.jetty.Server.**doStart(Server.java:224)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>> org.mortbay.component.**AbstractLifeCycle.start(**
>>>>>> AbstractLifeCycle.java:50)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at org.apache.jackrabbit.**standalone.Main.run(Main.java:**
>>>>>> 173)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at org.apache.jackrabbit.**standalone.Main.main(Main.**
>>>>>> java:60)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>> Caused by: javax.jcr.RepositoryException: Could not load JDBC driver
>>>>>>
>>>>> class
>>>>>
>>>>>> org.gjt.mm.mysql.Driver
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**util.db.ConnectionFactory.**
>>>>> getDriverClass(**ConnectionFactory.java:265)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**util.db.ConnectionFactory.**
>>>>> createDataSource(**ConnectionFactory.java:233)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**util.db.ConnectionFactory.**
>>>>> getDataSource(**ConnectionFactory.java:169)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**persistence.pool.**
>>>>> BundleDbPersistenceManager.**getDataSource(**
>>>>> BundleDbPersistenceManager.**java:569)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**persistence.pool.**
>>>>> BundleDbPersistenceManager.**init(**BundleDbPersistenceManager.**
>>>>> java:537)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**persistence.pool.**
>>>>> MySqlPersistenceManager.init(**MySqlPersistenceManager.java:**51)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**RepositoryImpl.**
>>>>> createPersistenceManager(**RepositoryImpl.java:1349)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           ... 23 common frames omitted
>>>>>> Caused by: java.lang.**ClassNotFoundException: org.gjt.mm.mysql.Driver
>>>>>>           at java.net.URLClassLoader$1.run(**URLClassLoader.java:217)
>>>>>> ~[na:1.6.0_24]
>>>>>>           at java.security.**AccessController.doPrivileged(**Native
>>>>>> Method)
>>>>>> ~[na:1.6.0_24]
>>>>>>           at java.net.URLClassLoader.**findClass(URLClassLoader.java:**
>>>>>> 205)
>>>>>> ~[na:1.6.0_24]
>>>>>>           at java.lang.ClassLoader.**loadClass(ClassLoader.java:**321)
>>>>>> ~[na:1.6.0_24]
>>>>>>           at sun.misc.Launcher$**AppClassLoader.loadClass(**
>>>>>> Launcher.java:294)
>>>>>> ~[na:1.6.0_24]
>>>>>>           at java.lang.ClassLoader.**loadClass(ClassLoader.java:**266)
>>>>>> ~[na:1.6.0_24]
>>>>>>           at java.lang.Class.forName0(**Native Method) ~[na:1.6.0_24]
>>>>>>           at java.lang.Class.forName(Class.**java:186) ~[na:1.6.0_24]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**util.db.ConnectionFactory.**
>>>>> getDriverClass(**ConnectionFactory.java:260)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           ... 29 common frames omitted
>>>>>> 2013-03-01 15:35:27.718 INFO  [main] RepositoryImpl.java:1060
>>>>>>    Shutting down repository...
>>>>>> 2013-03-01 15:35:27.719 INFO  [main] RepositoryImpl.java:1165
>>>>>>    Repository has been shutdown
>>>>>> 2013-03-01 15:35:27.720 WARN  [main] Slf4jLog.java:89
>>>>>>    unavailable
>>>>>> javax.jcr.RepositoryException: Cannot instantiate persistence manager
>>>>>> org.apache.jackrabbit.core.**persistence.pool.**
>>>>>> MySqlPersistenceManager
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**RepositoryImpl.**
>>>>> createPersistenceManager(**RepositoryImpl.java:1353)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**RepositoryImpl.**createVersionManager(**
>>>>> RepositoryImpl.java:486)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**RepositoryImpl.<init>(**
>>>>> RepositoryImpl.java:311)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**RepositoryImpl.create(**
>>>>> RepositoryImpl.java:589)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**RepositoryContext.create(**
>>>>> RepositoryContext.java:149)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.servlet.**jackrabbit.**
>>>>> JackrabbitRepositoryServlet.**init(**JackrabbitRepositoryServlet.**
>>>>> java:109)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at javax.servlet.GenericServlet.**
>>>>>> init(GenericServlet.java:241)
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.mortbay.jetty.servlet.**ServletHolder.initServlet(**
>>>>> ServletHolder.java:440)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>> org.mortbay.jetty.servlet.**ServletHolder.doStart(**
>>>>>> ServletHolder.java:263)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>> org.mortbay.component.**AbstractLifeCycle.start(**
>>>>>> AbstractLifeCycle.java:50)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.mortbay.jetty.servlet.**ServletHandler.initialize(**
>>>>> ServletHandler.java:685)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>> org.mortbay.jetty.servlet.**Context.startContext(Context.**java:140)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.mortbay.jetty.webapp.**WebAppContext.startContext(**
>>>>> WebAppContext.java:1250)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.mortbay.jetty.handler.**ContextHandler.doStart(**
>>>>> ContextHandler.java:517)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>> org.mortbay.jetty.webapp.**WebAppContext.doStart(**
>>>>>> WebAppContext.java:467)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>> org.mortbay.component.**AbstractLifeCycle.start(**
>>>>>> AbstractLifeCycle.java:50)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.mortbay.jetty.handler.**HandlerWrapper.doStart(**
>>>>> HandlerWrapper.java:130)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.mortbay.jetty.handler.**RequestLogHandler.doStart(**
>>>>> RequestLogHandler.java:115)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>> org.mortbay.component.**AbstractLifeCycle.start(**
>>>>>> AbstractLifeCycle.java:50)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.mortbay.jetty.handler.**HandlerWrapper.doStart(**
>>>>> HandlerWrapper.java:130)
>>>>>
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at org.mortbay.jetty.Server.**doStart(Server.java:224)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>> org.mortbay.component.**AbstractLifeCycle.start(**
>>>>>> AbstractLifeCycle.java:50)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at org.apache.jackrabbit.**standalone.Main.run(Main.java:**
>>>>>> 173)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at org.apache.jackrabbit.**standalone.Main.main(Main.**
>>>>>> java:60)
>>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>> Caused by: javax.jcr.RepositoryException: Could not load JDBC driver
>>>>>>
>>>>> class
>>>>>
>>>>>> org.gjt.mm.mysql.Driver
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**util.db.ConnectionFactory.**
>>>>> getDriverClass(**ConnectionFactory.java:265)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**util.db.ConnectionFactory.**
>>>>> createDataSource(**ConnectionFactory.java:233)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**util.db.ConnectionFactory.**
>>>>> getDataSource(**ConnectionFactory.java:169)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**persistence.pool.**
>>>>> BundleDbPersistenceManager.**getDataSource(**
>>>>> BundleDbPersistenceManager.**java:569)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**persistence.pool.**
>>>>> BundleDbPersistenceManager.**init(**BundleDbPersistenceManager.**
>>>>> java:537)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**persistence.pool.**
>>>>> MySqlPersistenceManager.init(**MySqlPersistenceManager.java:**51)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**RepositoryImpl.**
>>>>> createPersistenceManager(**RepositoryImpl.java:1349)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           ... 23 common frames omitted
>>>>>> Caused by: java.lang.**ClassNotFoundException: org.gjt.mm.mysql.Driver
>>>>>>           at java.net.URLClassLoader$1.run(**URLClassLoader.java:217)
>>>>>> ~[na:1.6.0_24]
>>>>>>           at java.security.**AccessController.doPrivileged(**Native
>>>>>> Method)
>>>>>> ~[na:1.6.0_24]
>>>>>>           at java.net.URLClassLoader.**findClass(URLClassLoader.java:**
>>>>>> 205)
>>>>>> ~[na:1.6.0_24]
>>>>>>           at java.lang.ClassLoader.**loadClass(ClassLoader.java:**321)
>>>>>> ~[na:1.6.0_24]
>>>>>>           at sun.misc.Launcher$**AppClassLoader.loadClass(**
>>>>>> Launcher.java:294)
>>>>>> ~[na:1.6.0_24]
>>>>>>           at java.lang.ClassLoader.**loadClass(ClassLoader.java:**266)
>>>>>> ~[na:1.6.0_24]
>>>>>>           at java.lang.Class.forName0(**Native Method) ~[na:1.6.0_24]
>>>>>>           at java.lang.Class.forName(Class.**java:186) ~[na:1.6.0_24]
>>>>>>           at
>>>>>>
>>>>>>   org.apache.jackrabbit.core.**util.db.ConnectionFactory.**
>>>>> getDriverClass(**ConnectionFactory.java:260)
>>>>>
>>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>>           ... 29 common frames omitted
>>>>>> 2013-03-01 15:35:27.721 INFO  [main] RepositoryAccessServlet.java:**98
>>>>>> RepositoryAccessServlet initialized.
>>>>>> 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:169
>>>>>>    authenticate-header = Basic realm="Jackrabbit Webdav Server"
>>>>>> 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:174
>>>>>>    csrf-protection = null
>>>>>> 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:181
>>>>>>    createAbsoluteURI = true
>>>>>> 2013-03-01 15:35:27.728 INFO  [main] SimpleWebdavServlet.java:144
>>>>>>    resource-path-prefix = '/repository'
>>>>>> 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:169
>>>>>>    authenticate-header = Basic realm="Jackrabbit Webdav Server"
>>>>>> 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:174
>>>>>>    csrf-protection = null
>>>>>> 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:181
>>>>>>    createAbsoluteURI = true
>>>>>>
>>>>>>
>>>>>> Best regards,
>>>>>>
>>>>>> Lars.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Fri, Mar 1, 2013 at 3:19 PM, Stefan Guggisberg <
>>>>>> stefan.guggisberg@gmail.com> wrote:
>>>>>>
>>>>>>   hi lars,
>>>>>>> On Fri, Mar 1, 2013 at 4:08 PM, Lars Janssen <lars-listmail@ukmix.net
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi all,
>>>>>>>>
>>>>>>>> I've been successfully using Apache Jackrabbit 2.4.3 and now 2.6.0
>>>>>>>> (standalone server in both cases) using the default configuration,
>>>>>>>>
>>>>>>> so the
>>>>>>   repository is stored on the filesystem.
>>>>>>>> How can I make it connect to a MySQL back end instead? I don't need
>>>>>>>>
>>>>>>> to
>>>>>>   worry about migration, just set it up as a fresh install.
>>>>>>>> After trying the steps below, Jackrabbit fails to start correctly or
>>>>>>>> populate the DATASTORE table in the database, and I find this error
>>>>>>>>
>>>>>>> in
>>>>>> the
>>>>>>>> logs:
>>>>>>>>
>>>>>>>> ERROR [main] RepositoryImpl.java:366
>>>>>>>>              failed to start Repository: Cannot instantiate
>>>>>>>> persistence
>>>>>>>> manager
>>>>>>>>
>>>>>>> org.apache.jackrabbit.core.**persistence.pool.**
>>>>>>> MySqlPersistenceManager
>>>>>>>
>>>>>>>>       javax.jcr.RepositoryException: Cannot instantiate persistence
>>>>>>>>
>>>>>>> manager
>>>>>>   org.apache.jackrabbit.core.**persistence.pool.**
>>>>>>>> MySqlPersistenceManager
>>>>>>>>       [... oodles of backtrace cut ...]
>>>>>>>>
>>>>>>> could you please provide the full stack trace, or, even better, the
>>>>>>> complete error log?
>>>>>>>
>>>>>>> cheers
>>>>>>> stefan
>>>>>>>
>>>>>>>   What I've done so far:
>>>>>>>> I've created the Jackrabbit database/user, which I can connect to no
>>>>>>>> problem:
>>>>>>>>
>>>>>>>> mysql -D jackrabbit -u jackrabbit -h localhost -pjackrabbit
>>>>>>>> I started with a clean slate (empty /var/jackrabbit directory),
>>>>>>>>
>>>>>>> except
>>>>>> the
>>>>>>>> configuration file comes from here:
>>>>>>>> https://raw.github.com/wiki/**jackalope/jackalope/files/**
>>>>>>>> repository.xml<https://raw.github.com/wiki/jackalope/jackalope/files/repository.xml>
>>>>>>>>
>>>>>>>> Here's the startup script I'm using:
>>>>>>>> https://github.com/sixty-nine/**Jackrabbit-startup-script<https://github.com/sixty-nine/Jackrabbit-startup-script>
>>>>>>>>
>>>>>>>> And here's the java process that runs:
>>>>>>>>
>>>>>>>> java -XX:MaxPermSize=128m -Xmx512M -Xms128M
>>>>>>>>
>>>>>>> -Dcom.sun.management.jmxremote
>>>>>>>
>>>>>>>> -Dcom.sun.management.**jmxremote.port=1111
>>>>>>>> -Dcom.sun.management.**jmxremote.authenticate=true
>>>>>>>> -Dcom.sun.management.**jmxremote.ssl=false
>>>>>>>>
>>>>>>>>   -Dcom.sun.management.**jmxremote.password.file=/opt/**
>>>>> jackrabbit/startup/jmx.user
>>>>> -Dcom.sun.management.**jmxremote.access.file=/opt/**
>>>>> jackrabbit/startup/jmx.role
>>>>>
>>>>>>   -jar /opt/jackrabbit/jackrabbit-**standalone-2.6.0.jar -h 127.0.0.1
>>>>>>>> -p
>>>>>>>>
>>>>>>> 8080
>>>>>>   I don't think I get far enough for it to matter, but I'm using MySQL
>>>>>>>> 5.5.28-1.
>>>>>>>>
>>>>>>>> I'm having the above problem with both 2.4.3 and 2.6.0.
>>>>>>>>
>>>>>>>> Also:
>>>>>>>>
>>>>>>>> java version "1.6.0_24"
>>>>>>>> OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-1)
>>>>>>>> OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
>>>>>>>> Plus I subsequently installed the MySQL JDBC library on Debian:
>>>>>>>>
>>>>>>>> apt-get install libmysql-java
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> Lars.
>>>>>>>>
>> --
>> Ron Wheeler
>> President
>> Artifact Software Inc
>> email: rwheeler@artifact-software.com
>> skype: ronaldmwheeler
>> phone: 866-970-2435, ext 102
>>
>>


-- 
Ron Wheeler
President
Artifact Software Inc
email: rwheeler@artifact-software.com
skype: ronaldmwheeler
phone: 866-970-2435, ext 102


Re: How to use MySQL persistence manager with Jackrabbit standalone

Posted by Lars Janssen <la...@fazy.net>.
It does appear to be:

$ unzip -l /usr/share/java/mysql-connector-java-5.1.16.jar | grep Driver
       21  2011-09-06 19:35   META-INF/services/java.sql.Driver
      648  2011-09-06 19:35   com/mysql/jdbc/Driver.class
    15550  2011-09-06 19:35   com/mysql/jdbc/NonRegisteringDriver.class
      690  2011-09-06 19:35
com/mysql/jdbc/NonRegisteringReplicationDriver.class
      687  2011-09-06 19:35   com/mysql/jdbc/ReplicationDriver.class
      336  2011-09-06 19:35   org/gjt/mm/mysql/Driver.class

I am specifying the class path with java -cp, is this the right way?

    java -cp /usr/share/java/mysql-connector-java-5.1.16.jar

For putting the connector into my jre library, in my case I believe
that's /usr/lib/jvm/java-6-openjdk-amd64/jre/lib. Unfortunately this hasn't
made any difference.

I'm wondering if changing to a different JRE is likely to help? (e.g. the
Oracle one) Also, does it make any difference that I'm using the standalone
JAR version of Jackrabbit?

Sorry for so many questions!


On Fri, Mar 1, 2013 at 4:52 PM, Ron Wheeler
<rw...@artifact-software.com>wrote:

> Is the missing class in the jar?
> - if not - wrong jar or bad configuration of the connector in your
> jackrabbit
> - If it is, you don't have the classpath specified correctly. You could
> just add the connector jar to your java jre library.
> Not the best long term solution since you will have to do it again when
> you switch java version but at least you can get to the next step and ten
> come back to classpath issues.
>
>
>
> On 01/03/2013 11:42 AM, Lars Janssen wrote:
>
>> I've also just tried downloading mysql-connector-java-5.1.23-**bin.jar
>> from
>> the Oracle MySql site, same problem.
>>
>>
>>
>> On Fri, Mar 1, 2013 at 4:30 PM, Lars Janssen <la...@fazy.net> wrote:
>>
>>  Still getting the same problem... :(
>>>
>>> I wasn't sure if it was picking up the CLASSPATH variable, so I used -cp
>>> on the java command:
>>>
>>> java -cp /usr/share/java/mysql-**connector-java-5.1.16.jar
>>> -XX:MaxPermSize=128m -Xmx512M -Xms128M -Dcom.sun.management.jmxremote
>>> -Dcom.sun.management.**jmxremote.port=1111
>>> -Dcom.sun.management.**jmxremote.authenticate=true
>>> -Dcom.sun.management.**jmxremote.ssl=false
>>> -Dcom.sun.management.**jmxremote.password.file=/opt/**
>>> jackrabbit/startup/jmx.user
>>> -Dcom.sun.management.**jmxremote.access.file=/opt/**
>>> jackrabbit/startup/jmx.role
>>> -jar /opt/jackrabbit/jackrabbit-**standalone-2.6.0.jar
>>>
>>> I hope I'm using the right connector, this one from Debian APT:
>>>      libmysql-java - Java database (JDBC) driver for MySQL
>>>
>>> The apt-file command confirms that it's providing this file:
>>>      /usr/share/java/mysql-**connector-java-5.1.16.jar
>>>
>>> Thanks,
>>> Lars.
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Fri, Mar 1, 2013 at 4:02 PM, Stefan Guggisberg <
>>> stefan.guggisberg@gmail.com> wrote:
>>>
>>>  here's the culprit:
>>>>
>>>> Caused by: java.lang.**ClassNotFoundException: org.gjt.mm.mysql.Driver
>>>>
>>>> make sure you've added the mysql jdbc driver to the classpath.
>>>>
>>>> cheers
>>>> stefan
>>>>
>>>> On Fri, Mar 1, 2013 at 4:40 PM, Lars Janssen <la...@fazy.net> wrote:
>>>>
>>>>> Hi Stefan,
>>>>>
>>>>> Thanks for replying. I cleared the log file and started Jackrabbit
>>>>>
>>>> again,
>>>>
>>>>> here is the entire log from the startup operation:
>>>>>
>>>>> 2013-03-01 15:35:26.586 INFO  [main] RepositoryImpl.java:256
>>>>> Starting repository...
>>>>> 2013-03-01 15:35:26.588 INFO  [main] LocalFileSystem.java:164
>>>>>   LocalFileSystem initialized at path jackrabbit/repository
>>>>> 2013-03-01 15:35:26.664 INFO  [main] NodeTypeRegistry.java:870
>>>>>
>>>> no
>>>>
>>>>> custom node type definitions found
>>>>> 2013-03-01 15:35:26.683 INFO  [main] LocalFileSystem.java:164
>>>>>   LocalFileSystem initialized at path jackrabbit/version
>>>>> 2013-03-01 15:35:27.717 ERROR [main] RepositoryImpl.java:366
>>>>> failed to start Repository: Cannot instantiate persistence manager
>>>>> org.apache.jackrabbit.core.**persistence.pool.**
>>>>> MySqlPersistenceManager
>>>>> javax.jcr.RepositoryException: Cannot instantiate persistence manager
>>>>> org.apache.jackrabbit.core.**persistence.pool.**
>>>>> MySqlPersistenceManager
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**RepositoryImpl.**
>>>> createPersistenceManager(**RepositoryImpl.java:1353)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**RepositoryImpl.**createVersionManager(**
>>>> RepositoryImpl.java:486)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**RepositoryImpl.<init>(**
>>>> RepositoryImpl.java:311)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**RepositoryImpl.create(**
>>>> RepositoryImpl.java:589)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**RepositoryContext.create(**
>>>> RepositoryContext.java:149)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.servlet.**jackrabbit.**
>>>> JackrabbitRepositoryServlet.**init(**JackrabbitRepositoryServlet.**
>>>> java:109)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at javax.servlet.GenericServlet.**
>>>>> init(GenericServlet.java:241)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.mortbay.jetty.servlet.**ServletHolder.initServlet(**
>>>> ServletHolder.java:440)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>> org.mortbay.jetty.servlet.**ServletHolder.doStart(**
>>>>> ServletHolder.java:263)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>> org.mortbay.component.**AbstractLifeCycle.start(**
>>>>> AbstractLifeCycle.java:50)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.mortbay.jetty.servlet.**ServletHandler.initialize(**
>>>> ServletHandler.java:685)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>> org.mortbay.jetty.servlet.**Context.startContext(Context.**java:140)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.mortbay.jetty.webapp.**WebAppContext.startContext(**
>>>> WebAppContext.java:1250)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.mortbay.jetty.handler.**ContextHandler.doStart(**
>>>> ContextHandler.java:517)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>> org.mortbay.jetty.webapp.**WebAppContext.doStart(**
>>>>> WebAppContext.java:467)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>> org.mortbay.component.**AbstractLifeCycle.start(**
>>>>> AbstractLifeCycle.java:50)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.mortbay.jetty.handler.**HandlerWrapper.doStart(**
>>>> HandlerWrapper.java:130)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.mortbay.jetty.handler.**RequestLogHandler.doStart(**
>>>> RequestLogHandler.java:115)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>> org.mortbay.component.**AbstractLifeCycle.start(**
>>>>> AbstractLifeCycle.java:50)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.mortbay.jetty.handler.**HandlerWrapper.doStart(**
>>>> HandlerWrapper.java:130)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at org.mortbay.jetty.Server.**doStart(Server.java:224)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>> org.mortbay.component.**AbstractLifeCycle.start(**
>>>>> AbstractLifeCycle.java:50)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at org.apache.jackrabbit.**standalone.Main.run(Main.java:**
>>>>> 173)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at org.apache.jackrabbit.**standalone.Main.main(Main.**
>>>>> java:60)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>> Caused by: javax.jcr.RepositoryException: Could not load JDBC driver
>>>>>
>>>> class
>>>>
>>>>> org.gjt.mm.mysql.Driver
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**util.db.ConnectionFactory.**
>>>> getDriverClass(**ConnectionFactory.java:265)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**util.db.ConnectionFactory.**
>>>> createDataSource(**ConnectionFactory.java:233)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**util.db.ConnectionFactory.**
>>>> getDataSource(**ConnectionFactory.java:169)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**persistence.pool.**
>>>> BundleDbPersistenceManager.**getDataSource(**
>>>> BundleDbPersistenceManager.**java:569)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**persistence.pool.**
>>>> BundleDbPersistenceManager.**init(**BundleDbPersistenceManager.**
>>>> java:537)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**persistence.pool.**
>>>> MySqlPersistenceManager.init(**MySqlPersistenceManager.java:**51)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**RepositoryImpl.**
>>>> createPersistenceManager(**RepositoryImpl.java:1349)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          ... 23 common frames omitted
>>>>> Caused by: java.lang.**ClassNotFoundException: org.gjt.mm.mysql.Driver
>>>>>          at java.net.URLClassLoader$1.run(**URLClassLoader.java:217)
>>>>> ~[na:1.6.0_24]
>>>>>          at java.security.**AccessController.doPrivileged(**Native
>>>>> Method)
>>>>> ~[na:1.6.0_24]
>>>>>          at java.net.URLClassLoader.**findClass(URLClassLoader.java:**
>>>>> 205)
>>>>> ~[na:1.6.0_24]
>>>>>          at java.lang.ClassLoader.**loadClass(ClassLoader.java:**321)
>>>>> ~[na:1.6.0_24]
>>>>>          at sun.misc.Launcher$**AppClassLoader.loadClass(**
>>>>> Launcher.java:294)
>>>>> ~[na:1.6.0_24]
>>>>>          at java.lang.ClassLoader.**loadClass(ClassLoader.java:**266)
>>>>> ~[na:1.6.0_24]
>>>>>          at java.lang.Class.forName0(**Native Method) ~[na:1.6.0_24]
>>>>>          at java.lang.Class.forName(Class.**java:186) ~[na:1.6.0_24]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**util.db.ConnectionFactory.**
>>>> getDriverClass(**ConnectionFactory.java:260)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          ... 29 common frames omitted
>>>>> 2013-03-01 15:35:27.718 INFO  [main] RepositoryImpl.java:1060
>>>>>   Shutting down repository...
>>>>> 2013-03-01 15:35:27.719 INFO  [main] RepositoryImpl.java:1165
>>>>>   Repository has been shutdown
>>>>> 2013-03-01 15:35:27.720 WARN  [main] Slf4jLog.java:89
>>>>>   unavailable
>>>>> javax.jcr.RepositoryException: Cannot instantiate persistence manager
>>>>> org.apache.jackrabbit.core.**persistence.pool.**
>>>>> MySqlPersistenceManager
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**RepositoryImpl.**
>>>> createPersistenceManager(**RepositoryImpl.java:1353)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**RepositoryImpl.**createVersionManager(**
>>>> RepositoryImpl.java:486)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**RepositoryImpl.<init>(**
>>>> RepositoryImpl.java:311)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**RepositoryImpl.create(**
>>>> RepositoryImpl.java:589)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**RepositoryContext.create(**
>>>> RepositoryContext.java:149)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.servlet.**jackrabbit.**
>>>> JackrabbitRepositoryServlet.**init(**JackrabbitRepositoryServlet.**
>>>> java:109)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at javax.servlet.GenericServlet.**
>>>>> init(GenericServlet.java:241)
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.mortbay.jetty.servlet.**ServletHolder.initServlet(**
>>>> ServletHolder.java:440)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>> org.mortbay.jetty.servlet.**ServletHolder.doStart(**
>>>>> ServletHolder.java:263)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>> org.mortbay.component.**AbstractLifeCycle.start(**
>>>>> AbstractLifeCycle.java:50)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.mortbay.jetty.servlet.**ServletHandler.initialize(**
>>>> ServletHandler.java:685)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>> org.mortbay.jetty.servlet.**Context.startContext(Context.**java:140)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.mortbay.jetty.webapp.**WebAppContext.startContext(**
>>>> WebAppContext.java:1250)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.mortbay.jetty.handler.**ContextHandler.doStart(**
>>>> ContextHandler.java:517)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>> org.mortbay.jetty.webapp.**WebAppContext.doStart(**
>>>>> WebAppContext.java:467)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>> org.mortbay.component.**AbstractLifeCycle.start(**
>>>>> AbstractLifeCycle.java:50)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.mortbay.jetty.handler.**HandlerWrapper.doStart(**
>>>> HandlerWrapper.java:130)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.mortbay.jetty.handler.**RequestLogHandler.doStart(**
>>>> RequestLogHandler.java:115)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>> org.mortbay.component.**AbstractLifeCycle.start(**
>>>>> AbstractLifeCycle.java:50)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.mortbay.jetty.handler.**HandlerWrapper.doStart(**
>>>> HandlerWrapper.java:130)
>>>>
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at org.mortbay.jetty.Server.**doStart(Server.java:224)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>> org.mortbay.component.**AbstractLifeCycle.start(**
>>>>> AbstractLifeCycle.java:50)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at org.apache.jackrabbit.**standalone.Main.run(Main.java:**
>>>>> 173)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at org.apache.jackrabbit.**standalone.Main.main(Main.**
>>>>> java:60)
>>>>> [jackrabbit-standalone-2.6.0.**jar:na]
>>>>> Caused by: javax.jcr.RepositoryException: Could not load JDBC driver
>>>>>
>>>> class
>>>>
>>>>> org.gjt.mm.mysql.Driver
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**util.db.ConnectionFactory.**
>>>> getDriverClass(**ConnectionFactory.java:265)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**util.db.ConnectionFactory.**
>>>> createDataSource(**ConnectionFactory.java:233)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**util.db.ConnectionFactory.**
>>>> getDataSource(**ConnectionFactory.java:169)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**persistence.pool.**
>>>> BundleDbPersistenceManager.**getDataSource(**
>>>> BundleDbPersistenceManager.**java:569)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**persistence.pool.**
>>>> BundleDbPersistenceManager.**init(**BundleDbPersistenceManager.**
>>>> java:537)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**persistence.pool.**
>>>> MySqlPersistenceManager.init(**MySqlPersistenceManager.java:**51)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**RepositoryImpl.**
>>>> createPersistenceManager(**RepositoryImpl.java:1349)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          ... 23 common frames omitted
>>>>> Caused by: java.lang.**ClassNotFoundException: org.gjt.mm.mysql.Driver
>>>>>          at java.net.URLClassLoader$1.run(**URLClassLoader.java:217)
>>>>> ~[na:1.6.0_24]
>>>>>          at java.security.**AccessController.doPrivileged(**Native
>>>>> Method)
>>>>> ~[na:1.6.0_24]
>>>>>          at java.net.URLClassLoader.**findClass(URLClassLoader.java:**
>>>>> 205)
>>>>> ~[na:1.6.0_24]
>>>>>          at java.lang.ClassLoader.**loadClass(ClassLoader.java:**321)
>>>>> ~[na:1.6.0_24]
>>>>>          at sun.misc.Launcher$**AppClassLoader.loadClass(**
>>>>> Launcher.java:294)
>>>>> ~[na:1.6.0_24]
>>>>>          at java.lang.ClassLoader.**loadClass(ClassLoader.java:**266)
>>>>> ~[na:1.6.0_24]
>>>>>          at java.lang.Class.forName0(**Native Method) ~[na:1.6.0_24]
>>>>>          at java.lang.Class.forName(Class.**java:186) ~[na:1.6.0_24]
>>>>>          at
>>>>>
>>>>>  org.apache.jackrabbit.core.**util.db.ConnectionFactory.**
>>>> getDriverClass(**ConnectionFactory.java:260)
>>>>
>>>>> ~[jackrabbit-standalone-2.6.0.**jar:na]
>>>>>          ... 29 common frames omitted
>>>>> 2013-03-01 15:35:27.721 INFO  [main] RepositoryAccessServlet.java:**98
>>>>> RepositoryAccessServlet initialized.
>>>>> 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:169
>>>>>   authenticate-header = Basic realm="Jackrabbit Webdav Server"
>>>>> 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:174
>>>>>   csrf-protection = null
>>>>> 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:181
>>>>>   createAbsoluteURI = true
>>>>> 2013-03-01 15:35:27.728 INFO  [main] SimpleWebdavServlet.java:144
>>>>>   resource-path-prefix = '/repository'
>>>>> 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:169
>>>>>   authenticate-header = Basic realm="Jackrabbit Webdav Server"
>>>>> 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:174
>>>>>   csrf-protection = null
>>>>> 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:181
>>>>>   createAbsoluteURI = true
>>>>>
>>>>>
>>>>> Best regards,
>>>>>
>>>>> Lars.
>>>>>
>>>>>
>>>>>
>>>>> On Fri, Mar 1, 2013 at 3:19 PM, Stefan Guggisberg <
>>>>> stefan.guggisberg@gmail.com> wrote:
>>>>>
>>>>>  hi lars,
>>>>>>
>>>>>> On Fri, Mar 1, 2013 at 4:08 PM, Lars Janssen <lars-listmail@ukmix.net
>>>>>> >
>>>>>> wrote:
>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> I've been successfully using Apache Jackrabbit 2.4.3 and now 2.6.0
>>>>>>> (standalone server in both cases) using the default configuration,
>>>>>>>
>>>>>> so the
>>>>
>>>>>  repository is stored on the filesystem.
>>>>>>>
>>>>>>> How can I make it connect to a MySQL back end instead? I don't need
>>>>>>>
>>>>>> to
>>>>
>>>>>  worry about migration, just set it up as a fresh install.
>>>>>>>
>>>>>>> After trying the steps below, Jackrabbit fails to start correctly or
>>>>>>> populate the DATASTORE table in the database, and I find this error
>>>>>>>
>>>>>> in
>>>>
>>>>> the
>>>>>>
>>>>>>> logs:
>>>>>>>
>>>>>>> ERROR [main] RepositoryImpl.java:366
>>>>>>>             failed to start Repository: Cannot instantiate
>>>>>>> persistence
>>>>>>> manager
>>>>>>>
>>>>>> org.apache.jackrabbit.core.**persistence.pool.**
>>>>>> MySqlPersistenceManager
>>>>>>
>>>>>>>      javax.jcr.RepositoryException: Cannot instantiate persistence
>>>>>>>
>>>>>> manager
>>>>
>>>>>  org.apache.jackrabbit.core.**persistence.pool.**
>>>>>>> MySqlPersistenceManager
>>>>>>>      [... oodles of backtrace cut ...]
>>>>>>>
>>>>>> could you please provide the full stack trace, or, even better, the
>>>>>> complete error log?
>>>>>>
>>>>>> cheers
>>>>>> stefan
>>>>>>
>>>>>>  What I've done so far:
>>>>>>>
>>>>>>> I've created the Jackrabbit database/user, which I can connect to no
>>>>>>> problem:
>>>>>>>
>>>>>>> mysql -D jackrabbit -u jackrabbit -h localhost -pjackrabbit
>>>>>>> I started with a clean slate (empty /var/jackrabbit directory),
>>>>>>>
>>>>>> except
>>>>
>>>>> the
>>>>>>
>>>>>>> configuration file comes from here:
>>>>>>> https://raw.github.com/wiki/**jackalope/jackalope/files/**
>>>>>>> repository.xml<https://raw.github.com/wiki/jackalope/jackalope/files/repository.xml>
>>>>>>>
>>>>>>> Here's the startup script I'm using:
>>>>>>> https://github.com/sixty-nine/**Jackrabbit-startup-script<https://github.com/sixty-nine/Jackrabbit-startup-script>
>>>>>>>
>>>>>>> And here's the java process that runs:
>>>>>>>
>>>>>>> java -XX:MaxPermSize=128m -Xmx512M -Xms128M
>>>>>>>
>>>>>> -Dcom.sun.management.jmxremote
>>>>>>
>>>>>>> -Dcom.sun.management.**jmxremote.port=1111
>>>>>>> -Dcom.sun.management.**jmxremote.authenticate=true
>>>>>>> -Dcom.sun.management.**jmxremote.ssl=false
>>>>>>>
>>>>>>>  -Dcom.sun.management.**jmxremote.password.file=/opt/**
>>>> jackrabbit/startup/jmx.user
>>>> -Dcom.sun.management.**jmxremote.access.file=/opt/**
>>>> jackrabbit/startup/jmx.role
>>>>
>>>>>  -jar /opt/jackrabbit/jackrabbit-**standalone-2.6.0.jar -h 127.0.0.1
>>>>>>> -p
>>>>>>>
>>>>>> 8080
>>>>
>>>>>  I don't think I get far enough for it to matter, but I'm using MySQL
>>>>>>> 5.5.28-1.
>>>>>>>
>>>>>>> I'm having the above problem with both 2.4.3 and 2.6.0.
>>>>>>>
>>>>>>> Also:
>>>>>>>
>>>>>>> java version "1.6.0_24"
>>>>>>> OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-1)
>>>>>>> OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
>>>>>>> Plus I subsequently installed the MySQL JDBC library on Debian:
>>>>>>>
>>>>>>> apt-get install libmysql-java
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> Lars.
>>>>>>>
>>>>>>
>>>
>
> --
> Ron Wheeler
> President
> Artifact Software Inc
> email: rwheeler@artifact-software.com
> skype: ronaldmwheeler
> phone: 866-970-2435, ext 102
>
>

Re: How to use MySQL persistence manager with Jackrabbit standalone

Posted by Ron Wheeler <rw...@artifact-software.com>.
Is the missing class in the jar?
- if not - wrong jar or bad configuration of the connector in your 
jackrabbit
- If it is, you don't have the classpath specified correctly. You could 
just add the connector jar to your java jre library.
Not the best long term solution since you will have to do it again when 
you switch java version but at least you can get to the next step and 
ten come back to classpath issues.


On 01/03/2013 11:42 AM, Lars Janssen wrote:
> I've also just tried downloading mysql-connector-java-5.1.23-bin.jar from
> the Oracle MySql site, same problem.
>
>
>
> On Fri, Mar 1, 2013 at 4:30 PM, Lars Janssen <la...@fazy.net> wrote:
>
>> Still getting the same problem... :(
>>
>> I wasn't sure if it was picking up the CLASSPATH variable, so I used -cp
>> on the java command:
>>
>> java -cp /usr/share/java/mysql-connector-java-5.1.16.jar
>> -XX:MaxPermSize=128m -Xmx512M -Xms128M -Dcom.sun.management.jmxremote
>> -Dcom.sun.management.jmxremote.port=1111
>> -Dcom.sun.management.jmxremote.authenticate=true
>> -Dcom.sun.management.jmxremote.ssl=false
>> -Dcom.sun.management.jmxremote.password.file=/opt/jackrabbit/startup/jmx.user
>> -Dcom.sun.management.jmxremote.access.file=/opt/jackrabbit/startup/jmx.role
>> -jar /opt/jackrabbit/jackrabbit-standalone-2.6.0.jar
>>
>> I hope I'm using the right connector, this one from Debian APT:
>>      libmysql-java - Java database (JDBC) driver for MySQL
>>
>> The apt-file command confirms that it's providing this file:
>>      /usr/share/java/mysql-connector-java-5.1.16.jar
>>
>> Thanks,
>> Lars.
>>
>>
>>
>>
>>
>>
>> On Fri, Mar 1, 2013 at 4:02 PM, Stefan Guggisberg <
>> stefan.guggisberg@gmail.com> wrote:
>>
>>> here's the culprit:
>>>
>>> Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
>>>
>>> make sure you've added the mysql jdbc driver to the classpath.
>>>
>>> cheers
>>> stefan
>>>
>>> On Fri, Mar 1, 2013 at 4:40 PM, Lars Janssen <la...@fazy.net> wrote:
>>>> Hi Stefan,
>>>>
>>>> Thanks for replying. I cleared the log file and started Jackrabbit
>>> again,
>>>> here is the entire log from the startup operation:
>>>>
>>>> 2013-03-01 15:35:26.586 INFO  [main] RepositoryImpl.java:256
>>>> Starting repository...
>>>> 2013-03-01 15:35:26.588 INFO  [main] LocalFileSystem.java:164
>>>>   LocalFileSystem initialized at path jackrabbit/repository
>>>> 2013-03-01 15:35:26.664 INFO  [main] NodeTypeRegistry.java:870
>>> no
>>>> custom node type definitions found
>>>> 2013-03-01 15:35:26.683 INFO  [main] LocalFileSystem.java:164
>>>>   LocalFileSystem initialized at path jackrabbit/version
>>>> 2013-03-01 15:35:27.717 ERROR [main] RepositoryImpl.java:366
>>>> failed to start Repository: Cannot instantiate persistence manager
>>>> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>>>> javax.jcr.RepositoryException: Cannot instantiate persistence manager
>>>> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1353)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:486)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:149)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at javax.servlet.GenericServlet.init(GenericServlet.java:241)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>> org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at org.mortbay.jetty.Server.doStart(Server.java:224)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at org.apache.jackrabbit.standalone.Main.run(Main.java:173)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at org.apache.jackrabbit.standalone.Main.main(Main.java:60)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>> Caused by: javax.jcr.RepositoryException: Could not load JDBC driver
>>> class
>>>> org.gjt.mm.mysql.Driver
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:265)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.util.db.ConnectionFactory.createDataSource(ConnectionFactory.java:233)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataSource(ConnectionFactory.java:169)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.getDataSource(BundleDbPersistenceManager.java:569)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:537)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager.init(MySqlPersistenceManager.java:51)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1349)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          ... 23 common frames omitted
>>>> Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
>>>>          at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
>>>> ~[na:1.6.0_24]
>>>>          at java.security.AccessController.doPrivileged(Native Method)
>>>> ~[na:1.6.0_24]
>>>>          at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
>>>> ~[na:1.6.0_24]
>>>>          at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
>>>> ~[na:1.6.0_24]
>>>>          at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
>>>> ~[na:1.6.0_24]
>>>>          at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
>>>> ~[na:1.6.0_24]
>>>>          at java.lang.Class.forName0(Native Method) ~[na:1.6.0_24]
>>>>          at java.lang.Class.forName(Class.java:186) ~[na:1.6.0_24]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:260)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          ... 29 common frames omitted
>>>> 2013-03-01 15:35:27.718 INFO  [main] RepositoryImpl.java:1060
>>>>   Shutting down repository...
>>>> 2013-03-01 15:35:27.719 INFO  [main] RepositoryImpl.java:1165
>>>>   Repository has been shutdown
>>>> 2013-03-01 15:35:27.720 WARN  [main] Slf4jLog.java:89
>>>>   unavailable
>>>> javax.jcr.RepositoryException: Cannot instantiate persistence manager
>>>> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1353)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:486)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:149)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at javax.servlet.GenericServlet.init(GenericServlet.java:241)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>> org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at org.mortbay.jetty.Server.doStart(Server.java:224)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at org.apache.jackrabbit.standalone.Main.run(Main.java:173)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>>          at org.apache.jackrabbit.standalone.Main.main(Main.java:60)
>>>> [jackrabbit-standalone-2.6.0.jar:na]
>>>> Caused by: javax.jcr.RepositoryException: Could not load JDBC driver
>>> class
>>>> org.gjt.mm.mysql.Driver
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:265)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.util.db.ConnectionFactory.createDataSource(ConnectionFactory.java:233)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataSource(ConnectionFactory.java:169)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.getDataSource(BundleDbPersistenceManager.java:569)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:537)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager.init(MySqlPersistenceManager.java:51)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1349)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          ... 23 common frames omitted
>>>> Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
>>>>          at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
>>>> ~[na:1.6.0_24]
>>>>          at java.security.AccessController.doPrivileged(Native Method)
>>>> ~[na:1.6.0_24]
>>>>          at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
>>>> ~[na:1.6.0_24]
>>>>          at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
>>>> ~[na:1.6.0_24]
>>>>          at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
>>>> ~[na:1.6.0_24]
>>>>          at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
>>>> ~[na:1.6.0_24]
>>>>          at java.lang.Class.forName0(Native Method) ~[na:1.6.0_24]
>>>>          at java.lang.Class.forName(Class.java:186) ~[na:1.6.0_24]
>>>>          at
>>>>
>>> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:260)
>>>> ~[jackrabbit-standalone-2.6.0.jar:na]
>>>>          ... 29 common frames omitted
>>>> 2013-03-01 15:35:27.721 INFO  [main] RepositoryAccessServlet.java:98
>>>> RepositoryAccessServlet initialized.
>>>> 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:169
>>>>   authenticate-header = Basic realm="Jackrabbit Webdav Server"
>>>> 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:174
>>>>   csrf-protection = null
>>>> 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:181
>>>>   createAbsoluteURI = true
>>>> 2013-03-01 15:35:27.728 INFO  [main] SimpleWebdavServlet.java:144
>>>>   resource-path-prefix = '/repository'
>>>> 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:169
>>>>   authenticate-header = Basic realm="Jackrabbit Webdav Server"
>>>> 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:174
>>>>   csrf-protection = null
>>>> 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:181
>>>>   createAbsoluteURI = true
>>>>
>>>>
>>>> Best regards,
>>>>
>>>> Lars.
>>>>
>>>>
>>>>
>>>> On Fri, Mar 1, 2013 at 3:19 PM, Stefan Guggisberg <
>>>> stefan.guggisberg@gmail.com> wrote:
>>>>
>>>>> hi lars,
>>>>>
>>>>> On Fri, Mar 1, 2013 at 4:08 PM, Lars Janssen <la...@ukmix.net>
>>>>> wrote:
>>>>>> Hi all,
>>>>>>
>>>>>> I've been successfully using Apache Jackrabbit 2.4.3 and now 2.6.0
>>>>>> (standalone server in both cases) using the default configuration,
>>> so the
>>>>>> repository is stored on the filesystem.
>>>>>>
>>>>>> How can I make it connect to a MySQL back end instead? I don't need
>>> to
>>>>>> worry about migration, just set it up as a fresh install.
>>>>>>
>>>>>> After trying the steps below, Jackrabbit fails to start correctly or
>>>>>> populate the DATASTORE table in the database, and I find this error
>>> in
>>>>> the
>>>>>> logs:
>>>>>>
>>>>>> ERROR [main] RepositoryImpl.java:366
>>>>>>             failed to start Repository: Cannot instantiate persistence
>>>>>> manager
>>>>> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>>>>>>      javax.jcr.RepositoryException: Cannot instantiate persistence
>>> manager
>>>>>> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>>>>>>      [... oodles of backtrace cut ...]
>>>>> could you please provide the full stack trace, or, even better, the
>>>>> complete error log?
>>>>>
>>>>> cheers
>>>>> stefan
>>>>>
>>>>>> What I've done so far:
>>>>>>
>>>>>> I've created the Jackrabbit database/user, which I can connect to no
>>>>>> problem:
>>>>>>
>>>>>> mysql -D jackrabbit -u jackrabbit -h localhost -pjackrabbit
>>>>>> I started with a clean slate (empty /var/jackrabbit directory),
>>> except
>>>>> the
>>>>>> configuration file comes from here:
>>>>>> https://raw.github.com/wiki/jackalope/jackalope/files/repository.xml
>>>>>>
>>>>>> Here's the startup script I'm using:
>>>>>> https://github.com/sixty-nine/Jackrabbit-startup-script
>>>>>>
>>>>>> And here's the java process that runs:
>>>>>>
>>>>>> java -XX:MaxPermSize=128m -Xmx512M -Xms128M
>>>>> -Dcom.sun.management.jmxremote
>>>>>> -Dcom.sun.management.jmxremote.port=1111
>>>>>> -Dcom.sun.management.jmxremote.authenticate=true
>>>>>> -Dcom.sun.management.jmxremote.ssl=false
>>>>>>
>>> -Dcom.sun.management.jmxremote.password.file=/opt/jackrabbit/startup/jmx.user
>>> -Dcom.sun.management.jmxremote.access.file=/opt/jackrabbit/startup/jmx.role
>>>>>> -jar /opt/jackrabbit/jackrabbit-standalone-2.6.0.jar -h 127.0.0.1 -p
>>> 8080
>>>>>> I don't think I get far enough for it to matter, but I'm using MySQL
>>>>>> 5.5.28-1.
>>>>>>
>>>>>> I'm having the above problem with both 2.4.3 and 2.6.0.
>>>>>>
>>>>>> Also:
>>>>>>
>>>>>> java version "1.6.0_24"
>>>>>> OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-1)
>>>>>> OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
>>>>>> Plus I subsequently installed the MySQL JDBC library on Debian:
>>>>>>
>>>>>> apt-get install libmysql-java
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Lars.
>>


-- 
Ron Wheeler
President
Artifact Software Inc
email: rwheeler@artifact-software.com
skype: ronaldmwheeler
phone: 866-970-2435, ext 102


Re: How to use MySQL persistence manager with Jackrabbit standalone

Posted by Lars Janssen <la...@fazy.net>.
I've also just tried downloading mysql-connector-java-5.1.23-bin.jar from
the Oracle MySql site, same problem.



On Fri, Mar 1, 2013 at 4:30 PM, Lars Janssen <la...@fazy.net> wrote:

> Still getting the same problem... :(
>
> I wasn't sure if it was picking up the CLASSPATH variable, so I used -cp
> on the java command:
>
> java -cp /usr/share/java/mysql-connector-java-5.1.16.jar
> -XX:MaxPermSize=128m -Xmx512M -Xms128M -Dcom.sun.management.jmxremote
> -Dcom.sun.management.jmxremote.port=1111
> -Dcom.sun.management.jmxremote.authenticate=true
> -Dcom.sun.management.jmxremote.ssl=false
> -Dcom.sun.management.jmxremote.password.file=/opt/jackrabbit/startup/jmx.user
> -Dcom.sun.management.jmxremote.access.file=/opt/jackrabbit/startup/jmx.role
> -jar /opt/jackrabbit/jackrabbit-standalone-2.6.0.jar
>
> I hope I'm using the right connector, this one from Debian APT:
>     libmysql-java - Java database (JDBC) driver for MySQL
>
> The apt-file command confirms that it's providing this file:
>     /usr/share/java/mysql-connector-java-5.1.16.jar
>
> Thanks,
> Lars.
>
>
>
>
>
>
> On Fri, Mar 1, 2013 at 4:02 PM, Stefan Guggisberg <
> stefan.guggisberg@gmail.com> wrote:
>
>> here's the culprit:
>>
>> Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
>>
>> make sure you've added the mysql jdbc driver to the classpath.
>>
>> cheers
>> stefan
>>
>> On Fri, Mar 1, 2013 at 4:40 PM, Lars Janssen <la...@fazy.net> wrote:
>> > Hi Stefan,
>> >
>> > Thanks for replying. I cleared the log file and started Jackrabbit
>> again,
>> > here is the entire log from the startup operation:
>> >
>> > 2013-03-01 15:35:26.586 INFO  [main] RepositoryImpl.java:256
>> > Starting repository...
>> > 2013-03-01 15:35:26.588 INFO  [main] LocalFileSystem.java:164
>> >  LocalFileSystem initialized at path jackrabbit/repository
>> > 2013-03-01 15:35:26.664 INFO  [main] NodeTypeRegistry.java:870
>> no
>> > custom node type definitions found
>> > 2013-03-01 15:35:26.683 INFO  [main] LocalFileSystem.java:164
>> >  LocalFileSystem initialized at path jackrabbit/version
>> > 2013-03-01 15:35:27.717 ERROR [main] RepositoryImpl.java:366
>> > failed to start Repository: Cannot instantiate persistence manager
>> > org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>> > javax.jcr.RepositoryException: Cannot instantiate persistence manager
>> > org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>> >         at
>> >
>> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1353)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:486)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:149)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at javax.servlet.GenericServlet.init(GenericServlet.java:241)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> > org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at org.mortbay.jetty.Server.doStart(Server.java:224)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at org.apache.jackrabbit.standalone.Main.run(Main.java:173)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at org.apache.jackrabbit.standalone.Main.main(Main.java:60)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> > Caused by: javax.jcr.RepositoryException: Could not load JDBC driver
>> class
>> > org.gjt.mm.mysql.Driver
>> >         at
>> >
>> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:265)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.util.db.ConnectionFactory.createDataSource(ConnectionFactory.java:233)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataSource(ConnectionFactory.java:169)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.getDataSource(BundleDbPersistenceManager.java:569)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:537)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager.init(MySqlPersistenceManager.java:51)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1349)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         ... 23 common frames omitted
>> > Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
>> >         at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
>> > ~[na:1.6.0_24]
>> >         at java.security.AccessController.doPrivileged(Native Method)
>> > ~[na:1.6.0_24]
>> >         at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
>> > ~[na:1.6.0_24]
>> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
>> > ~[na:1.6.0_24]
>> >         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
>> > ~[na:1.6.0_24]
>> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
>> > ~[na:1.6.0_24]
>> >         at java.lang.Class.forName0(Native Method) ~[na:1.6.0_24]
>> >         at java.lang.Class.forName(Class.java:186) ~[na:1.6.0_24]
>> >         at
>> >
>> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:260)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         ... 29 common frames omitted
>> > 2013-03-01 15:35:27.718 INFO  [main] RepositoryImpl.java:1060
>> >  Shutting down repository...
>> > 2013-03-01 15:35:27.719 INFO  [main] RepositoryImpl.java:1165
>> >  Repository has been shutdown
>> > 2013-03-01 15:35:27.720 WARN  [main] Slf4jLog.java:89
>> >  unavailable
>> > javax.jcr.RepositoryException: Cannot instantiate persistence manager
>> > org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>> >         at
>> >
>> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1353)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:486)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:149)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at javax.servlet.GenericServlet.init(GenericServlet.java:241)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> > org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at org.mortbay.jetty.Server.doStart(Server.java:224)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at org.apache.jackrabbit.standalone.Main.run(Main.java:173)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> >         at org.apache.jackrabbit.standalone.Main.main(Main.java:60)
>> > [jackrabbit-standalone-2.6.0.jar:na]
>> > Caused by: javax.jcr.RepositoryException: Could not load JDBC driver
>> class
>> > org.gjt.mm.mysql.Driver
>> >         at
>> >
>> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:265)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.util.db.ConnectionFactory.createDataSource(ConnectionFactory.java:233)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataSource(ConnectionFactory.java:169)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.getDataSource(BundleDbPersistenceManager.java:569)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:537)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager.init(MySqlPersistenceManager.java:51)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         at
>> >
>> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1349)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         ... 23 common frames omitted
>> > Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
>> >         at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
>> > ~[na:1.6.0_24]
>> >         at java.security.AccessController.doPrivileged(Native Method)
>> > ~[na:1.6.0_24]
>> >         at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
>> > ~[na:1.6.0_24]
>> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
>> > ~[na:1.6.0_24]
>> >         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
>> > ~[na:1.6.0_24]
>> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
>> > ~[na:1.6.0_24]
>> >         at java.lang.Class.forName0(Native Method) ~[na:1.6.0_24]
>> >         at java.lang.Class.forName(Class.java:186) ~[na:1.6.0_24]
>> >         at
>> >
>> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:260)
>> > ~[jackrabbit-standalone-2.6.0.jar:na]
>> >         ... 29 common frames omitted
>> > 2013-03-01 15:35:27.721 INFO  [main] RepositoryAccessServlet.java:98
>> > RepositoryAccessServlet initialized.
>> > 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:169
>> >  authenticate-header = Basic realm="Jackrabbit Webdav Server"
>> > 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:174
>> >  csrf-protection = null
>> > 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:181
>> >  createAbsoluteURI = true
>> > 2013-03-01 15:35:27.728 INFO  [main] SimpleWebdavServlet.java:144
>> >  resource-path-prefix = '/repository'
>> > 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:169
>> >  authenticate-header = Basic realm="Jackrabbit Webdav Server"
>> > 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:174
>> >  csrf-protection = null
>> > 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:181
>> >  createAbsoluteURI = true
>> >
>> >
>> > Best regards,
>> >
>> > Lars.
>> >
>> >
>> >
>> > On Fri, Mar 1, 2013 at 3:19 PM, Stefan Guggisberg <
>> > stefan.guggisberg@gmail.com> wrote:
>> >
>> >> hi lars,
>> >>
>> >> On Fri, Mar 1, 2013 at 4:08 PM, Lars Janssen <la...@ukmix.net>
>> >> wrote:
>> >> > Hi all,
>> >> >
>> >> > I've been successfully using Apache Jackrabbit 2.4.3 and now 2.6.0
>> >> > (standalone server in both cases) using the default configuration,
>> so the
>> >> > repository is stored on the filesystem.
>> >> >
>> >> > How can I make it connect to a MySQL back end instead? I don't need
>> to
>> >> > worry about migration, just set it up as a fresh install.
>> >> >
>> >> > After trying the steps below, Jackrabbit fails to start correctly or
>> >> > populate the DATASTORE table in the database, and I find this error
>> in
>> >> the
>> >> > logs:
>> >> >
>> >> > ERROR [main] RepositoryImpl.java:366
>> >> >            failed to start Repository: Cannot instantiate persistence
>> >> > manager
>> >> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>> >> >     javax.jcr.RepositoryException: Cannot instantiate persistence
>> manager
>> >> > org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>> >> >     [... oodles of backtrace cut ...]
>> >>
>> >> could you please provide the full stack trace, or, even better, the
>> >> complete error log?
>> >>
>> >> cheers
>> >> stefan
>> >>
>> >> > What I've done so far:
>> >> >
>> >> > I've created the Jackrabbit database/user, which I can connect to no
>> >> > problem:
>> >> >
>> >> > mysql -D jackrabbit -u jackrabbit -h localhost -pjackrabbit
>> >> > I started with a clean slate (empty /var/jackrabbit directory),
>> except
>> >> the
>> >> > configuration file comes from here:
>> >> > https://raw.github.com/wiki/jackalope/jackalope/files/repository.xml
>> >> >
>> >> > Here's the startup script I'm using:
>> >> > https://github.com/sixty-nine/Jackrabbit-startup-script
>> >> >
>> >> > And here's the java process that runs:
>> >> >
>> >> > java -XX:MaxPermSize=128m -Xmx512M -Xms128M
>> >> -Dcom.sun.management.jmxremote
>> >> > -Dcom.sun.management.jmxremote.port=1111
>> >> > -Dcom.sun.management.jmxremote.authenticate=true
>> >> > -Dcom.sun.management.jmxremote.ssl=false
>> >> >
>> >>
>> -Dcom.sun.management.jmxremote.password.file=/opt/jackrabbit/startup/jmx.user
>> >> >
>> >>
>> -Dcom.sun.management.jmxremote.access.file=/opt/jackrabbit/startup/jmx.role
>> >> > -jar /opt/jackrabbit/jackrabbit-standalone-2.6.0.jar -h 127.0.0.1 -p
>> 8080
>> >> > I don't think I get far enough for it to matter, but I'm using MySQL
>> >> > 5.5.28-1.
>> >> >
>> >> > I'm having the above problem with both 2.4.3 and 2.6.0.
>> >> >
>> >> > Also:
>> >> >
>> >> > java version "1.6.0_24"
>> >> > OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-1)
>> >> > OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
>> >> > Plus I subsequently installed the MySQL JDBC library on Debian:
>> >> >
>> >> > apt-get install libmysql-java
>> >> >
>> >> > Thanks,
>> >> >
>> >> > Lars.
>> >>
>>
>
>

Re: How to use MySQL persistence manager with Jackrabbit standalone

Posted by Christoph Läubrich <la...@googlemail.com>.
a) Using the MYSQL  JDBC driver you have to adjust the Driver name  
com.mysql.jdbc.Driver in the config
b) specify the classpath like -cp 
/usr/share/java/mysql-connector-java-5.1.16.jar:/opt/jackrabbit/jackrabbit-standalone-2.6.0.jar
c) instead of the -jar Option specify the MainClass directly (wich one 
is called can be found by  the manifest of the 
/opt/jackrabbit/jackrabbit-standalone-2.6.0.jar file)

Then it should work (i'm using mysql as a store for jackrabbit)

Am 01.03.2013 17:30, schrieb Lars Janssen:

> Still getting the same problem... :(
>
> I wasn't sure if it was picking up the CLASSPATH variable, so I used -cp on
> the java command:
>
> java -cp /usr/share/java/mysql-connector-java-5.1.16.jar
> -XX:MaxPermSize=128m -Xmx512M -Xms128M -Dcom.sun.management.jmxremote
> -Dcom.sun.management.jmxremote.port=1111
> -Dcom.sun.management.jmxremote.authenticate=true
> -Dcom.sun.management.jmxremote.ssl=false
> -Dcom.sun.management.jmxremote.password.file=/opt/jackrabbit/startup/jmx.user
> -Dcom.sun.management.jmxremote.access.file=/opt/jackrabbit/startup/jmx.role
> -jar /opt/jackrabbit/jackrabbit-standalone-2.6.0.jar
>
> I hope I'm using the right connector, this one from Debian APT:
>      libmysql-java - Java database (JDBC) driver for MySQL
>
> The apt-file command confirms that it's providing this file:
>      /usr/share/java/mysql-connector-java-5.1.16.jar
>
> Thanks,
> Lars.
>    


Re: How to use MySQL persistence manager with Jackrabbit standalone

Posted by Lars Janssen <la...@fazy.net>.
Still getting the same problem... :(

I wasn't sure if it was picking up the CLASSPATH variable, so I used -cp on
the java command:

java -cp /usr/share/java/mysql-connector-java-5.1.16.jar
-XX:MaxPermSize=128m -Xmx512M -Xms128M -Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=1111
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.password.file=/opt/jackrabbit/startup/jmx.user
-Dcom.sun.management.jmxremote.access.file=/opt/jackrabbit/startup/jmx.role
-jar /opt/jackrabbit/jackrabbit-standalone-2.6.0.jar

I hope I'm using the right connector, this one from Debian APT:
    libmysql-java - Java database (JDBC) driver for MySQL

The apt-file command confirms that it's providing this file:
    /usr/share/java/mysql-connector-java-5.1.16.jar

Thanks,
Lars.






On Fri, Mar 1, 2013 at 4:02 PM, Stefan Guggisberg <
stefan.guggisberg@gmail.com> wrote:

> here's the culprit:
>
> Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
>
> make sure you've added the mysql jdbc driver to the classpath.
>
> cheers
> stefan
>
> On Fri, Mar 1, 2013 at 4:40 PM, Lars Janssen <la...@fazy.net> wrote:
> > Hi Stefan,
> >
> > Thanks for replying. I cleared the log file and started Jackrabbit again,
> > here is the entire log from the startup operation:
> >
> > 2013-03-01 15:35:26.586 INFO  [main] RepositoryImpl.java:256
> > Starting repository...
> > 2013-03-01 15:35:26.588 INFO  [main] LocalFileSystem.java:164
> >  LocalFileSystem initialized at path jackrabbit/repository
> > 2013-03-01 15:35:26.664 INFO  [main] NodeTypeRegistry.java:870         no
> > custom node type definitions found
> > 2013-03-01 15:35:26.683 INFO  [main] LocalFileSystem.java:164
> >  LocalFileSystem initialized at path jackrabbit/version
> > 2013-03-01 15:35:27.717 ERROR [main] RepositoryImpl.java:366
> > failed to start Repository: Cannot instantiate persistence manager
> > org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
> > javax.jcr.RepositoryException: Cannot instantiate persistence manager
> > org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
> >         at
> >
> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1353)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:486)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:149)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at javax.servlet.GenericServlet.init(GenericServlet.java:241)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at org.mortbay.jetty.Server.doStart(Server.java:224)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at org.apache.jackrabbit.standalone.Main.run(Main.java:173)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at org.apache.jackrabbit.standalone.Main.main(Main.java:60)
> > [jackrabbit-standalone-2.6.0.jar:na]
> > Caused by: javax.jcr.RepositoryException: Could not load JDBC driver
> class
> > org.gjt.mm.mysql.Driver
> >         at
> >
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:265)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.core.util.db.ConnectionFactory.createDataSource(ConnectionFactory.java:233)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataSource(ConnectionFactory.java:169)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.getDataSource(BundleDbPersistenceManager.java:569)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:537)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager.init(MySqlPersistenceManager.java:51)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1349)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         ... 23 common frames omitted
> > Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
> >         at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
> > ~[na:1.6.0_24]
> >         at java.security.AccessController.doPrivileged(Native Method)
> > ~[na:1.6.0_24]
> >         at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
> > ~[na:1.6.0_24]
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
> > ~[na:1.6.0_24]
> >         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
> > ~[na:1.6.0_24]
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
> > ~[na:1.6.0_24]
> >         at java.lang.Class.forName0(Native Method) ~[na:1.6.0_24]
> >         at java.lang.Class.forName(Class.java:186) ~[na:1.6.0_24]
> >         at
> >
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:260)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         ... 29 common frames omitted
> > 2013-03-01 15:35:27.718 INFO  [main] RepositoryImpl.java:1060
> >  Shutting down repository...
> > 2013-03-01 15:35:27.719 INFO  [main] RepositoryImpl.java:1165
> >  Repository has been shutdown
> > 2013-03-01 15:35:27.720 WARN  [main] Slf4jLog.java:89
> >  unavailable
> > javax.jcr.RepositoryException: Cannot instantiate persistence manager
> > org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
> >         at
> >
> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1353)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:486)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:149)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at javax.servlet.GenericServlet.init(GenericServlet.java:241)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at org.mortbay.jetty.Server.doStart(Server.java:224)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at org.apache.jackrabbit.standalone.Main.run(Main.java:173)
> > [jackrabbit-standalone-2.6.0.jar:na]
> >         at org.apache.jackrabbit.standalone.Main.main(Main.java:60)
> > [jackrabbit-standalone-2.6.0.jar:na]
> > Caused by: javax.jcr.RepositoryException: Could not load JDBC driver
> class
> > org.gjt.mm.mysql.Driver
> >         at
> >
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:265)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.core.util.db.ConnectionFactory.createDataSource(ConnectionFactory.java:233)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataSource(ConnectionFactory.java:169)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.getDataSource(BundleDbPersistenceManager.java:569)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:537)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager.init(MySqlPersistenceManager.java:51)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         at
> >
> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1349)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         ... 23 common frames omitted
> > Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
> >         at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
> > ~[na:1.6.0_24]
> >         at java.security.AccessController.doPrivileged(Native Method)
> > ~[na:1.6.0_24]
> >         at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
> > ~[na:1.6.0_24]
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
> > ~[na:1.6.0_24]
> >         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
> > ~[na:1.6.0_24]
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
> > ~[na:1.6.0_24]
> >         at java.lang.Class.forName0(Native Method) ~[na:1.6.0_24]
> >         at java.lang.Class.forName(Class.java:186) ~[na:1.6.0_24]
> >         at
> >
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:260)
> > ~[jackrabbit-standalone-2.6.0.jar:na]
> >         ... 29 common frames omitted
> > 2013-03-01 15:35:27.721 INFO  [main] RepositoryAccessServlet.java:98
> > RepositoryAccessServlet initialized.
> > 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:169
> >  authenticate-header = Basic realm="Jackrabbit Webdav Server"
> > 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:174
> >  csrf-protection = null
> > 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:181
> >  createAbsoluteURI = true
> > 2013-03-01 15:35:27.728 INFO  [main] SimpleWebdavServlet.java:144
> >  resource-path-prefix = '/repository'
> > 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:169
> >  authenticate-header = Basic realm="Jackrabbit Webdav Server"
> > 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:174
> >  csrf-protection = null
> > 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:181
> >  createAbsoluteURI = true
> >
> >
> > Best regards,
> >
> > Lars.
> >
> >
> >
> > On Fri, Mar 1, 2013 at 3:19 PM, Stefan Guggisberg <
> > stefan.guggisberg@gmail.com> wrote:
> >
> >> hi lars,
> >>
> >> On Fri, Mar 1, 2013 at 4:08 PM, Lars Janssen <la...@ukmix.net>
> >> wrote:
> >> > Hi all,
> >> >
> >> > I've been successfully using Apache Jackrabbit 2.4.3 and now 2.6.0
> >> > (standalone server in both cases) using the default configuration, so
> the
> >> > repository is stored on the filesystem.
> >> >
> >> > How can I make it connect to a MySQL back end instead? I don't need to
> >> > worry about migration, just set it up as a fresh install.
> >> >
> >> > After trying the steps below, Jackrabbit fails to start correctly or
> >> > populate the DATASTORE table in the database, and I find this error in
> >> the
> >> > logs:
> >> >
> >> > ERROR [main] RepositoryImpl.java:366
> >> >            failed to start Repository: Cannot instantiate persistence
> >> > manager
> >> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
> >> >     javax.jcr.RepositoryException: Cannot instantiate persistence
> manager
> >> > org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
> >> >     [... oodles of backtrace cut ...]
> >>
> >> could you please provide the full stack trace, or, even better, the
> >> complete error log?
> >>
> >> cheers
> >> stefan
> >>
> >> > What I've done so far:
> >> >
> >> > I've created the Jackrabbit database/user, which I can connect to no
> >> > problem:
> >> >
> >> > mysql -D jackrabbit -u jackrabbit -h localhost -pjackrabbit
> >> > I started with a clean slate (empty /var/jackrabbit directory), except
> >> the
> >> > configuration file comes from here:
> >> > https://raw.github.com/wiki/jackalope/jackalope/files/repository.xml
> >> >
> >> > Here's the startup script I'm using:
> >> > https://github.com/sixty-nine/Jackrabbit-startup-script
> >> >
> >> > And here's the java process that runs:
> >> >
> >> > java -XX:MaxPermSize=128m -Xmx512M -Xms128M
> >> -Dcom.sun.management.jmxremote
> >> > -Dcom.sun.management.jmxremote.port=1111
> >> > -Dcom.sun.management.jmxremote.authenticate=true
> >> > -Dcom.sun.management.jmxremote.ssl=false
> >> >
> >>
> -Dcom.sun.management.jmxremote.password.file=/opt/jackrabbit/startup/jmx.user
> >> >
> >>
> -Dcom.sun.management.jmxremote.access.file=/opt/jackrabbit/startup/jmx.role
> >> > -jar /opt/jackrabbit/jackrabbit-standalone-2.6.0.jar -h 127.0.0.1 -p
> 8080
> >> > I don't think I get far enough for it to matter, but I'm using MySQL
> >> > 5.5.28-1.
> >> >
> >> > I'm having the above problem with both 2.4.3 and 2.6.0.
> >> >
> >> > Also:
> >> >
> >> > java version "1.6.0_24"
> >> > OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-1)
> >> > OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
> >> > Plus I subsequently installed the MySQL JDBC library on Debian:
> >> >
> >> > apt-get install libmysql-java
> >> >
> >> > Thanks,
> >> >
> >> > Lars.
> >>
>

Re: How to use MySQL persistence manager with Jackrabbit standalone

Posted by Stefan Guggisberg <st...@gmail.com>.
here's the culprit:

Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver

make sure you've added the mysql jdbc driver to the classpath.

cheers
stefan

On Fri, Mar 1, 2013 at 4:40 PM, Lars Janssen <la...@fazy.net> wrote:
> Hi Stefan,
>
> Thanks for replying. I cleared the log file and started Jackrabbit again,
> here is the entire log from the startup operation:
>
> 2013-03-01 15:35:26.586 INFO  [main] RepositoryImpl.java:256
> Starting repository...
> 2013-03-01 15:35:26.588 INFO  [main] LocalFileSystem.java:164
>  LocalFileSystem initialized at path jackrabbit/repository
> 2013-03-01 15:35:26.664 INFO  [main] NodeTypeRegistry.java:870         no
> custom node type definitions found
> 2013-03-01 15:35:26.683 INFO  [main] LocalFileSystem.java:164
>  LocalFileSystem initialized at path jackrabbit/version
> 2013-03-01 15:35:27.717 ERROR [main] RepositoryImpl.java:366
> failed to start Repository: Cannot instantiate persistence manager
> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
> javax.jcr.RepositoryException: Cannot instantiate persistence manager
> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>         at
> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1353)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:486)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:149)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at javax.servlet.GenericServlet.init(GenericServlet.java:241)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at org.mortbay.jetty.Server.doStart(Server.java:224)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at org.apache.jackrabbit.standalone.Main.run(Main.java:173)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at org.apache.jackrabbit.standalone.Main.main(Main.java:60)
> [jackrabbit-standalone-2.6.0.jar:na]
> Caused by: javax.jcr.RepositoryException: Could not load JDBC driver class
> org.gjt.mm.mysql.Driver
>         at
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:265)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.util.db.ConnectionFactory.createDataSource(ConnectionFactory.java:233)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataSource(ConnectionFactory.java:169)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.getDataSource(BundleDbPersistenceManager.java:569)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:537)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager.init(MySqlPersistenceManager.java:51)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1349)
> [jackrabbit-standalone-2.6.0.jar:na]
>         ... 23 common frames omitted
> Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
> ~[na:1.6.0_24]
>         at java.security.AccessController.doPrivileged(Native Method)
> ~[na:1.6.0_24]
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
> ~[na:1.6.0_24]
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
> ~[na:1.6.0_24]
>         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
> ~[na:1.6.0_24]
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
> ~[na:1.6.0_24]
>         at java.lang.Class.forName0(Native Method) ~[na:1.6.0_24]
>         at java.lang.Class.forName(Class.java:186) ~[na:1.6.0_24]
>         at
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:260)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         ... 29 common frames omitted
> 2013-03-01 15:35:27.718 INFO  [main] RepositoryImpl.java:1060
>  Shutting down repository...
> 2013-03-01 15:35:27.719 INFO  [main] RepositoryImpl.java:1165
>  Repository has been shutdown
> 2013-03-01 15:35:27.720 WARN  [main] Slf4jLog.java:89
>  unavailable
> javax.jcr.RepositoryException: Cannot instantiate persistence manager
> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>         at
> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1353)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:486)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:149)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at javax.servlet.GenericServlet.init(GenericServlet.java:241)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at org.mortbay.jetty.Server.doStart(Server.java:224)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at org.apache.jackrabbit.standalone.Main.run(Main.java:173)
> [jackrabbit-standalone-2.6.0.jar:na]
>         at org.apache.jackrabbit.standalone.Main.main(Main.java:60)
> [jackrabbit-standalone-2.6.0.jar:na]
> Caused by: javax.jcr.RepositoryException: Could not load JDBC driver class
> org.gjt.mm.mysql.Driver
>         at
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:265)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.util.db.ConnectionFactory.createDataSource(ConnectionFactory.java:233)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataSource(ConnectionFactory.java:169)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.getDataSource(BundleDbPersistenceManager.java:569)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:537)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager.init(MySqlPersistenceManager.java:51)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         at
> org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1349)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         ... 23 common frames omitted
> Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
> ~[na:1.6.0_24]
>         at java.security.AccessController.doPrivileged(Native Method)
> ~[na:1.6.0_24]
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
> ~[na:1.6.0_24]
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
> ~[na:1.6.0_24]
>         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
> ~[na:1.6.0_24]
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
> ~[na:1.6.0_24]
>         at java.lang.Class.forName0(Native Method) ~[na:1.6.0_24]
>         at java.lang.Class.forName(Class.java:186) ~[na:1.6.0_24]
>         at
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:260)
> ~[jackrabbit-standalone-2.6.0.jar:na]
>         ... 29 common frames omitted
> 2013-03-01 15:35:27.721 INFO  [main] RepositoryAccessServlet.java:98
> RepositoryAccessServlet initialized.
> 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:169
>  authenticate-header = Basic realm="Jackrabbit Webdav Server"
> 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:174
>  csrf-protection = null
> 2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:181
>  createAbsoluteURI = true
> 2013-03-01 15:35:27.728 INFO  [main] SimpleWebdavServlet.java:144
>  resource-path-prefix = '/repository'
> 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:169
>  authenticate-header = Basic realm="Jackrabbit Webdav Server"
> 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:174
>  csrf-protection = null
> 2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:181
>  createAbsoluteURI = true
>
>
> Best regards,
>
> Lars.
>
>
>
> On Fri, Mar 1, 2013 at 3:19 PM, Stefan Guggisberg <
> stefan.guggisberg@gmail.com> wrote:
>
>> hi lars,
>>
>> On Fri, Mar 1, 2013 at 4:08 PM, Lars Janssen <la...@ukmix.net>
>> wrote:
>> > Hi all,
>> >
>> > I've been successfully using Apache Jackrabbit 2.4.3 and now 2.6.0
>> > (standalone server in both cases) using the default configuration, so the
>> > repository is stored on the filesystem.
>> >
>> > How can I make it connect to a MySQL back end instead? I don't need to
>> > worry about migration, just set it up as a fresh install.
>> >
>> > After trying the steps below, Jackrabbit fails to start correctly or
>> > populate the DATASTORE table in the database, and I find this error in
>> the
>> > logs:
>> >
>> > ERROR [main] RepositoryImpl.java:366
>> >            failed to start Repository: Cannot instantiate persistence
>> > manager
>> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>> >     javax.jcr.RepositoryException: Cannot instantiate persistence manager
>> > org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>> >     [... oodles of backtrace cut ...]
>>
>> could you please provide the full stack trace, or, even better, the
>> complete error log?
>>
>> cheers
>> stefan
>>
>> > What I've done so far:
>> >
>> > I've created the Jackrabbit database/user, which I can connect to no
>> > problem:
>> >
>> > mysql -D jackrabbit -u jackrabbit -h localhost -pjackrabbit
>> > I started with a clean slate (empty /var/jackrabbit directory), except
>> the
>> > configuration file comes from here:
>> > https://raw.github.com/wiki/jackalope/jackalope/files/repository.xml
>> >
>> > Here's the startup script I'm using:
>> > https://github.com/sixty-nine/Jackrabbit-startup-script
>> >
>> > And here's the java process that runs:
>> >
>> > java -XX:MaxPermSize=128m -Xmx512M -Xms128M
>> -Dcom.sun.management.jmxremote
>> > -Dcom.sun.management.jmxremote.port=1111
>> > -Dcom.sun.management.jmxremote.authenticate=true
>> > -Dcom.sun.management.jmxremote.ssl=false
>> >
>> -Dcom.sun.management.jmxremote.password.file=/opt/jackrabbit/startup/jmx.user
>> >
>> -Dcom.sun.management.jmxremote.access.file=/opt/jackrabbit/startup/jmx.role
>> > -jar /opt/jackrabbit/jackrabbit-standalone-2.6.0.jar -h 127.0.0.1 -p 8080
>> > I don't think I get far enough for it to matter, but I'm using MySQL
>> > 5.5.28-1.
>> >
>> > I'm having the above problem with both 2.4.3 and 2.6.0.
>> >
>> > Also:
>> >
>> > java version "1.6.0_24"
>> > OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-1)
>> > OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
>> > Plus I subsequently installed the MySQL JDBC library on Debian:
>> >
>> > apt-get install libmysql-java
>> >
>> > Thanks,
>> >
>> > Lars.
>>

Re: How to use MySQL persistence manager with Jackrabbit standalone

Posted by Lars Janssen <la...@fazy.net>.
Hi Stefan,

Thanks for replying. I cleared the log file and started Jackrabbit again,
here is the entire log from the startup operation:

2013-03-01 15:35:26.586 INFO  [main] RepositoryImpl.java:256
Starting repository...
2013-03-01 15:35:26.588 INFO  [main] LocalFileSystem.java:164
 LocalFileSystem initialized at path jackrabbit/repository
2013-03-01 15:35:26.664 INFO  [main] NodeTypeRegistry.java:870         no
custom node type definitions found
2013-03-01 15:35:26.683 INFO  [main] LocalFileSystem.java:164
 LocalFileSystem initialized at path jackrabbit/version
2013-03-01 15:35:27.717 ERROR [main] RepositoryImpl.java:366
failed to start Repository: Cannot instantiate persistence manager
org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
javax.jcr.RepositoryException: Cannot instantiate persistence manager
org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
        at
org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1353)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:486)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:149)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109)
[jackrabbit-standalone-2.6.0.jar:na]
        at javax.servlet.GenericServlet.init(GenericServlet.java:241)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
[jackrabbit-standalone-2.6.0.jar:na]
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
[jackrabbit-standalone-2.6.0.jar:na]
        at org.mortbay.jetty.Server.doStart(Server.java:224)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[jackrabbit-standalone-2.6.0.jar:na]
        at org.apache.jackrabbit.standalone.Main.run(Main.java:173)
[jackrabbit-standalone-2.6.0.jar:na]
        at org.apache.jackrabbit.standalone.Main.main(Main.java:60)
[jackrabbit-standalone-2.6.0.jar:na]
Caused by: javax.jcr.RepositoryException: Could not load JDBC driver class
org.gjt.mm.mysql.Driver
        at
org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:265)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.util.db.ConnectionFactory.createDataSource(ConnectionFactory.java:233)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataSource(ConnectionFactory.java:169)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.getDataSource(BundleDbPersistenceManager.java:569)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:537)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager.init(MySqlPersistenceManager.java:51)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1349)
[jackrabbit-standalone-2.6.0.jar:na]
        ... 23 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
~[na:1.6.0_24]
        at java.security.AccessController.doPrivileged(Native Method)
~[na:1.6.0_24]
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
~[na:1.6.0_24]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
~[na:1.6.0_24]
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
~[na:1.6.0_24]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
~[na:1.6.0_24]
        at java.lang.Class.forName0(Native Method) ~[na:1.6.0_24]
        at java.lang.Class.forName(Class.java:186) ~[na:1.6.0_24]
        at
org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:260)
~[jackrabbit-standalone-2.6.0.jar:na]
        ... 29 common frames omitted
2013-03-01 15:35:27.718 INFO  [main] RepositoryImpl.java:1060
 Shutting down repository...
2013-03-01 15:35:27.719 INFO  [main] RepositoryImpl.java:1165
 Repository has been shutdown
2013-03-01 15:35:27.720 WARN  [main] Slf4jLog.java:89
 unavailable
javax.jcr.RepositoryException: Cannot instantiate persistence manager
org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
        at
org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1353)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:486)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:589)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryContext.create(RepositoryContext.java:149)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.servlet.jackrabbit.JackrabbitRepositoryServlet.init(JackrabbitRepositoryServlet.java:109)
~[jackrabbit-standalone-2.6.0.jar:na]
        at javax.servlet.GenericServlet.init(GenericServlet.java:241)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
[jackrabbit-standalone-2.6.0.jar:na]
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
[jackrabbit-standalone-2.6.0.jar:na]
        at org.mortbay.jetty.Server.doStart(Server.java:224)
[jackrabbit-standalone-2.6.0.jar:na]
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[jackrabbit-standalone-2.6.0.jar:na]
        at org.apache.jackrabbit.standalone.Main.run(Main.java:173)
[jackrabbit-standalone-2.6.0.jar:na]
        at org.apache.jackrabbit.standalone.Main.main(Main.java:60)
[jackrabbit-standalone-2.6.0.jar:na]
Caused by: javax.jcr.RepositoryException: Could not load JDBC driver class
org.gjt.mm.mysql.Driver
        at
org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:265)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.util.db.ConnectionFactory.createDataSource(ConnectionFactory.java:233)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataSource(ConnectionFactory.java:169)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.getDataSource(BundleDbPersistenceManager.java:569)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:537)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager.init(MySqlPersistenceManager.java:51)
~[jackrabbit-standalone-2.6.0.jar:na]
        at
org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1349)
~[jackrabbit-standalone-2.6.0.jar:na]
        ... 23 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
~[na:1.6.0_24]
        at java.security.AccessController.doPrivileged(Native Method)
~[na:1.6.0_24]
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
~[na:1.6.0_24]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
~[na:1.6.0_24]
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
~[na:1.6.0_24]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
~[na:1.6.0_24]
        at java.lang.Class.forName0(Native Method) ~[na:1.6.0_24]
        at java.lang.Class.forName(Class.java:186) ~[na:1.6.0_24]
        at
org.apache.jackrabbit.core.util.db.ConnectionFactory.getDriverClass(ConnectionFactory.java:260)
~[jackrabbit-standalone-2.6.0.jar:na]
        ... 29 common frames omitted
2013-03-01 15:35:27.721 INFO  [main] RepositoryAccessServlet.java:98
RepositoryAccessServlet initialized.
2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:169
 authenticate-header = Basic realm="Jackrabbit Webdav Server"
2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:174
 csrf-protection = null
2013-03-01 15:35:27.727 INFO  [main] AbstractWebdavServlet.java:181
 createAbsoluteURI = true
2013-03-01 15:35:27.728 INFO  [main] SimpleWebdavServlet.java:144
 resource-path-prefix = '/repository'
2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:169
 authenticate-header = Basic realm="Jackrabbit Webdav Server"
2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:174
 csrf-protection = null
2013-03-01 15:35:27.838 INFO  [main] AbstractWebdavServlet.java:181
 createAbsoluteURI = true


Best regards,

Lars.



On Fri, Mar 1, 2013 at 3:19 PM, Stefan Guggisberg <
stefan.guggisberg@gmail.com> wrote:

> hi lars,
>
> On Fri, Mar 1, 2013 at 4:08 PM, Lars Janssen <la...@ukmix.net>
> wrote:
> > Hi all,
> >
> > I've been successfully using Apache Jackrabbit 2.4.3 and now 2.6.0
> > (standalone server in both cases) using the default configuration, so the
> > repository is stored on the filesystem.
> >
> > How can I make it connect to a MySQL back end instead? I don't need to
> > worry about migration, just set it up as a fresh install.
> >
> > After trying the steps below, Jackrabbit fails to start correctly or
> > populate the DATASTORE table in the database, and I find this error in
> the
> > logs:
> >
> > ERROR [main] RepositoryImpl.java:366
> >            failed to start Repository: Cannot instantiate persistence
> > manager
> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
> >     javax.jcr.RepositoryException: Cannot instantiate persistence manager
> > org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
> >     [... oodles of backtrace cut ...]
>
> could you please provide the full stack trace, or, even better, the
> complete error log?
>
> cheers
> stefan
>
> > What I've done so far:
> >
> > I've created the Jackrabbit database/user, which I can connect to no
> > problem:
> >
> > mysql -D jackrabbit -u jackrabbit -h localhost -pjackrabbit
> > I started with a clean slate (empty /var/jackrabbit directory), except
> the
> > configuration file comes from here:
> > https://raw.github.com/wiki/jackalope/jackalope/files/repository.xml
> >
> > Here's the startup script I'm using:
> > https://github.com/sixty-nine/Jackrabbit-startup-script
> >
> > And here's the java process that runs:
> >
> > java -XX:MaxPermSize=128m -Xmx512M -Xms128M
> -Dcom.sun.management.jmxremote
> > -Dcom.sun.management.jmxremote.port=1111
> > -Dcom.sun.management.jmxremote.authenticate=true
> > -Dcom.sun.management.jmxremote.ssl=false
> >
> -Dcom.sun.management.jmxremote.password.file=/opt/jackrabbit/startup/jmx.user
> >
> -Dcom.sun.management.jmxremote.access.file=/opt/jackrabbit/startup/jmx.role
> > -jar /opt/jackrabbit/jackrabbit-standalone-2.6.0.jar -h 127.0.0.1 -p 8080
> > I don't think I get far enough for it to matter, but I'm using MySQL
> > 5.5.28-1.
> >
> > I'm having the above problem with both 2.4.3 and 2.6.0.
> >
> > Also:
> >
> > java version "1.6.0_24"
> > OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-1)
> > OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
> > Plus I subsequently installed the MySQL JDBC library on Debian:
> >
> > apt-get install libmysql-java
> >
> > Thanks,
> >
> > Lars.
>

Re: How to use MySQL persistence manager with Jackrabbit standalone

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

On Fri, Mar 1, 2013 at 4:08 PM, Lars Janssen <la...@ukmix.net> wrote:
> Hi all,
>
> I've been successfully using Apache Jackrabbit 2.4.3 and now 2.6.0
> (standalone server in both cases) using the default configuration, so the
> repository is stored on the filesystem.
>
> How can I make it connect to a MySQL back end instead? I don't need to
> worry about migration, just set it up as a fresh install.
>
> After trying the steps below, Jackrabbit fails to start correctly or
> populate the DATASTORE table in the database, and I find this error in the
> logs:
>
> ERROR [main] RepositoryImpl.java:366
>            failed to start Repository: Cannot instantiate persistence
> manager org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>     javax.jcr.RepositoryException: Cannot instantiate persistence manager
> org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager
>     [... oodles of backtrace cut ...]

could you please provide the full stack trace, or, even better, the
complete error log?

cheers
stefan

> What I've done so far:
>
> I've created the Jackrabbit database/user, which I can connect to no
> problem:
>
> mysql -D jackrabbit -u jackrabbit -h localhost -pjackrabbit
> I started with a clean slate (empty /var/jackrabbit directory), except the
> configuration file comes from here:
> https://raw.github.com/wiki/jackalope/jackalope/files/repository.xml
>
> Here's the startup script I'm using:
> https://github.com/sixty-nine/Jackrabbit-startup-script
>
> And here's the java process that runs:
>
> java -XX:MaxPermSize=128m -Xmx512M -Xms128M -Dcom.sun.management.jmxremote
> -Dcom.sun.management.jmxremote.port=1111
> -Dcom.sun.management.jmxremote.authenticate=true
> -Dcom.sun.management.jmxremote.ssl=false
> -Dcom.sun.management.jmxremote.password.file=/opt/jackrabbit/startup/jmx.user
> -Dcom.sun.management.jmxremote.access.file=/opt/jackrabbit/startup/jmx.role
> -jar /opt/jackrabbit/jackrabbit-standalone-2.6.0.jar -h 127.0.0.1 -p 8080
> I don't think I get far enough for it to matter, but I'm using MySQL
> 5.5.28-1.
>
> I'm having the above problem with both 2.4.3 and 2.6.0.
>
> Also:
>
> java version "1.6.0_24"
> OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-1)
> OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
> Plus I subsequently installed the MySQL JDBC library on Debian:
>
> apt-get install libmysql-java
>
> Thanks,
>
> Lars.