【问题标题】:Hippo cms and mysql on GlassfishGlassfish 上的 Hippo cms 和 mysql
【发布时间】:2015-04-05 01:35:50
【问题描述】:

我在向 Glassfish 添加 mysql 数据库时遇到了一个大问题。我完成了位于http://www.onehippo.org/library/deployment/configuring/configuring-hippo-7-for-mysql.html 的所有步骤。

当我使用时

$ mvn clean install
$ mvn -P cargo.run

看起来不错,因为在我的 workspace.xml 中有:

<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
  <param name="url" value="java:comp/env/jdbc/repositoryDS"/>
  <param name="driver" value="javax.naming.InitialContext"/>
  <param name="schemaObjectPrefix" value="${wsp.name}_"/>
  <param name="schema" value="mysql"/>
</FileSystem>

接下来我用

$ mvn clean install
$ mvn -P dist

并将创建的 cms.war 和 site.war 部署到 glassfish 服务器(以前,我复制了所有库并且一切正常。受 https://blogs.oracle.com/geertjan/entry/hippo_tip_deploying_hippo_to 启发)。所有项目都运行良好。

问题是数据库。在 glassfish (/opt/glassfish4/glassfish/domains/domain1/applications/cms/WEB-INF/storage/workspaces/default/workspace.xml) 的新 workspace.xml 中,我有:

<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
  <param name="path" value="${wsp.home}"/>
</FileSystem>

<PersistenceManager   class="org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager">
  <param name="url" value="jdbc:h2:file:${wsp.home}/db"/>
  <param name="schemaObjectPrefix" value="${wsp.name}_"/>
  <param name="minBlobSize" value="4194304"/>
</PersistenceManager>

并且服务器在 storage/workspace/default 中创建了 db.h2.db 文件,但我需要在 mysql 中建立一个基础。我能做错什么?

附加问题。如何检查数据库中的内容?在 mysql hippo 中创建了这样的东西:

+--------------------+
| Tables_in_hippo    |
+--------------------+
| DATASTORE          |
| DEFAULT_BINVAL     |
| DEFAULT_BUNDLE     |
| DEFAULT_FSENTRY    |
| DEFAULT_NAMES      |
| DEFAULT_REFS       |
| REPOSITORY_FSENTRY |
| VERSION_BINVAL     |
| VERSION_BUNDLE     |    
| VERSION_FSENTRY    |
| VERSION_NAMES      |
| VERSION_REFS       |
+--------------------+

没有像“Book”“Author”“Shop”这样的表。但在 Hippo 服务器中,我可以编辑所有这些数据。

感谢阅读。

【问题讨论】:

    标签: mysql glassfish hippocms


    【解决方案1】:

    您的 MySQL 配置似乎没问题。您必须记住,最重要的是 repository.xml 文件中的所有配置都必须正确。 workspace.xml 会在存储库第一次初始化后从 repository.xml 文件中生成/提取。因此,如果您在对 MySQL 进行正确设置之前部署了 Hippo,您的目录中可能有一个旧的 workspace.xml,这会导致使用 H2 db。

    您链接到的第一篇文章包含一个名为“使存储库使用此配置文件”的部分。如果您想使用自己的配置而不是利用 H2 数据库的内置配置,这一点非常重要。如果您不提供此系统属性,则将使用内置配置。

    附加问题。如何检查数据库中的内容?有 没有像“书”“作者”“商店”这样的表格。但在服务器河马拥有所有 我可以编辑这些数据。

    Jackrabbit 中的持久化有点复杂,首先阅读configuration overview documentationpersistence manager documentation 是有意义的。内容和数据的持久性由 internal Jackrabbit 组件处理,该组件处理内容节点和属性的持久性存储。属性值也存储在持久性管理器中,除了大的二进制值(通常存储在数据存储中)。

    【讨论】:

    • 首先,感谢您的回答 我的repository.xml 与页面onehippo.org/library/deployment/configuring/… 完全相同,当然我在配置文件“pom.xml”中使用了存储库您还有其他想法?
    • 请记住,在 pom.xml 中执行此操作只会更改基于本地货物的 Tomcat 实例,而不是您的 glassfish 实例。因此,您需要为 glassfish 容器提供相同的系统属性。
    • 谢谢 ;) 所以我会尝试设置我的 Glassfish 实例
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多