0

我想用 MySQL 而不是嵌入式 H2 设置 Magnolia。

我按照 Magnolia 和 JackRabbit Wiki:https ://wiki.magnolia-cms.com/display/WIKI/Setting+up+a+Jackrabbit+persistence+manager进行了 4 项必要的更改:

  1. 我安装了 MySQL 并创建了一个 Magnolia 数据库和一个可以访问它的用户:

    创建数据库 magnl_author;
    创建数据库 magnl_public;
    创建用户'mgnl_admin'@'localhost'由'超级用户'识别;
    将 magnl_author.* 上的所有权限授予 'mgnl_admin'@'localhost';
    授予 magnl_public 上的所有权限。* TO 'mgnl_admin'@'localhost';

  2. 我在 magnolia.properties.xml 中设置了magnolia.repositories.jackrabbit.config = WEB-INF/config/repo-conf/jackrabbit-bundle-mysql- search.xml

  3. 我将mysql-connector-java-8.0.16.jar 添加webapps\magnoliaAuthor\WEB-INF\lib并删除了derby-10.14.1.0.jar

  4. 我配置了 jackrabbit-bundle-mysql-search.xml可以在https://drive.google.com/file/d/13QImOipAUwZd0bOTFi_kZloIG549URpk/view?usp=sharing中看到,因此 PM(持久性管理器)配置为两个版本控制和工作区。

但是,当我启动 Tomcat 时,我仍然收到以下错误: 错误 org.apache.jackrabbit.core.RepositoryImpl : failed to start Repository: Cannot instantiate persistence manager org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager

4

1 回答 1

1

根据您的堆栈跟踪,您的问题似乎与时区有关。我建议暂时将其设置为 UTC,看看是否对您有帮助。

为此,请将您的配置附加到以下行:

&serverTimezone=UTC

例如

  <param name="url" value="jdbc:mysql://localhost:3306/magnolia" />

变成

  <param name="url" value="jdbc:mysql://localhost:3306/magnolia?serverTimezone=UTC" />

希望有帮助,

干杯,

于 2019-06-14T14:15:15.540 回答