mysql - 在木兰: Replacing H2 with MySQL: JackRabbit Cannot instantiate persistence manager

标签 mysql jackrabbit magnolia

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

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

  1. 我安装了 MySQL 并创建了 Magnolia 数据库和有权访问该数据库的用户:

    创建数据库magnl_author;
    创建数据库magnl_public;
    创建由“ super 用户”标识的用户“mgnl_admin”@“localhost”;
    将 magnl_author.* 上的所有权限授予 'mgnl_admin'@'localhost';
    将 magnl_public.* 上的所有权限授予“mgnl_admin”@“localhost”;

  2. 我在 magnolia.properties 中设置 magnolia.repositories.jackrabbit.config = WEB-INF/config/repo-conf/jackrabbit-bundle-mysql-search.xml .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:无法启动存储库:无法实例化持久管理器org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager

最佳答案

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

为此,请在您的配置中附加以下行:

&serverTimezone=UTC

例如

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

变成了

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

希望有帮助,

干杯,

关于mysql - 在木兰: Replacing H2 with MySQL: JackRabbit Cannot instantiate persistence manager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56578170/

相关文章:

image - 存储图像以在 SOLR 搜索结果中显示

tomcat - mod_cache 返回 "broken expires header"

php - 如何转换 datetimepicker 日期 (bootstrap 4) 格式 16/07/2019 10 :00 to mysql format 2019-07-16 10:00 with laravel (5. 8) Carbon

mysql - 插入新的增量值

MySQL 变量从 SUM() 获取 NULL

magnolia - Magnolia 主子应用程序的自定义 CSS 样式

java - Magnolia 6.1.1 分析器(小写字母和重音符号)

php - 如何在单个查询中调整多个 'where' 子句?

apache - tomcat上部署sling+jackrabbit的优点?

java - Jackrabbit 更新或合并节点