我想用MySQL而不是嵌入式H2设置Magnolia。
我遵循了Magnolia and JackRabbit Wiki:https://wiki.magnolia-cms.com/display/WIKI/Setting+up+a+Jackrabbit+persistence+manager,并进行了4项必要的更改:
我安装了MySQL,并创建了一个Magnolia数据库和一个有权访问它的用户:
创建数据库magnl_author;
创建数据库magnl_public;
创建用户'mgnl_admin'@'localhost'由'超级用户'标识;
将所有特权授予magnl_author。*至'mgnl_admin'@'localhost';
将所有特权授予magnl_public。*至'mgnl_admin'@'localhost';
我在 magnolia.properties中设置了 magnolia.repositories.jackrabbit.config = WEB-INF / config / repo-conf / jackrabbit-bundle-mysql-search.xml .xml
我将 mysql-connector-java-8.0.16.jar 添加到 webapps \ magnoliaAuthor \ WEB-INF \ lib 中,并删除了 derby- 10.14.1.0.jar
我配置了 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
答案 0 :(得分:0)
根据您的堆栈跟踪,您的问题似乎与TimeZone有关。我建议暂时将其设置为UTC,看看是否有帮助。
为此,请在下面的行中附加您的配置:
&serverTimezone=UTC
例如
<param name="url" value="jdbc:mysql://localhost:3306/magnolia" />
成为
<param name="url" value="jdbc:mysql://localhost:3306/magnolia?serverTimezone=UTC" />
希望有帮助,
干杯