Glassfish上的河马cms和mysql

时间:2015-02-05 09:03:16

标签: mysql glassfish hippocms

向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的新workspace.xml中(/opt/glassfish4/glassfish/domains/domain1/applications/cms/WEB-INF/storage/workspaces/default/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       |
+--------------------+

没有像&#34; Book&#34; &#34;作者&#34; &#34;商店&#34 ;.但是在服务器中,Hippo拥有我可以编辑的所有这些数据。

感谢阅读。

1 个答案:

答案 0 :(得分:1)

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

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

  

其他问题。如何检查数据库中的内容?有   没有像&#34; Book&#34; &#34;作者&#34; &#34;商店&#34 ;.但在服务器河马有所有   这个我可以编辑的数据。

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