博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
liferay文档库重新部署后无法下载问题
阅读量:6222 次
发布时间:2019-06-21

本文共 5307 字,大约阅读时间需要 17 分钟。

hot3.png

【本文来自尚观知识库】

liferay的文档库的portlet用起来很方便,但是发现,当你把这个tomcat重新部署,或者把这个tomcat移植到其他机器上的时候,文档库里面以前上传上来的文档,虽然信息还在,但是无法下载了。

原因是,liferay文档库,默认的配置是把文档的数据存储到了你tomcat所在服务器的${user.home}/liferay下面的jackrabbit文件夹里面了,所以在重新部署tomcat 或者将tomcat移植到其他服务器上的时候,不能下载了。

解决办法:

    1。在portal.properties里面将resource.repositories.root=${user.home}/liferay的${user.home}修改成你的tomcat路径下。不要将这些信息存储到你的用户文件夹下。

   2。将文档的存储方式改变成以数据的形式存储到数据库中,我觉得这个方法更好一些。这个到${user.home}/liferay/jackrabbit下,修改repository.xml。

修改后的文件如下:

<?xml version="1.0"?>

<Repository>

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

 <!--

 Database File System (Cluster Configuration)

 This is sample configuration for mysql persistence that can be used for

 clustering Jackrabbit. For other databases, change the connection,
 credentials, and schema settings.
 -->

     <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">

      <param name="driver" value="com.mysql.jdbc.Driver"/>
      <param name="url" value="jdbc:mysql://localhost/jcr" />
      <param name="user" value="root" />
      <param name="password" value="admin" />
      <param name="schema" value="mysql"/>
      <param name="schemaObjectPrefix" value="J_R_FS_"/>
     </FileSystem>

 <Security appName="Jackrabbit">

  <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager" />
  <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
   <param name="anonymousId" value="anonymous" />
  </LoginModule>
 </Security>
 <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="liferay" />
 <Workspace name="${wsp.name}">
<!--  <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
   <param name="path" value="${wsp.home}" />
  </FileSystem>
  <PersistenceManager class="org.apache.jackrabbit.core.state.xml.XMLPersistenceManager" />
-->
  <!--
  Database File System and Persistence (Cluster Configuration)

  This is sample configuration for mysql persistence that can be used for

  clustering Jackrabbit. For other databases, change the  connection,
  credentials, and schema settings.
  -->

      <PersistenceManager class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">

       <param name="driver" value="com.mysql.jdbc.Driver" />
       <param name="url" value="jdbc:mysql://localhost/jcr" />
       <param name="user" value="root" />
       <param name="password" value="admin" />
       <param name="schema" value="mysql" />
       <param name="schemaObjectPrefix" value="J_PM_${wsp.name}_" />
       <param name="externalBLOBs" value="false" />
      </PersistenceManager>
      <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
       <param name="driver" value="com.mysql.jdbc.Driver"/>
       <param name="url" value="jdbc:mysql://localhost/jcr" />
       <param name="user" value="root" />
       <param name="password" value="admin" />
       <param name="schema" value="mysql"/>
       <param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/>
      </FileSystem>
 </Workspace>
 <Versioning rootPath="${rep.home}/version">
<!--  <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
   <param name="path" value="${rep.home}/version" />
  </FileSystem>

  <PersistenceManager class="org.apache.jackrabbit.core.state.xml.XMLPersistenceManager" />

-->
  <!--
  Database File System and Persistence (Cluster Configuration)

  This is sample configuration for mysql persistence that can be used for

  clustering Jackrabbit. For other databases, change the connection,
  credentials, and schema settings.
  -->

       <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">

        <param name="driver" value="com.mysql.jdbc.Driver"/>
        <param name="url" value="jdbc:mysql://localhost/jcr" />
        <param name="user" value="root" />
        <param name="password" value="admin" />
        <param name="schema" value="mysql"/>
        <param name="schemaObjectPrefix" value="J_V_FS_"/>
       </FileSystem>
       <PersistenceManager class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
        <param name="driver" value="com.mysql.jdbc.Driver" />
        <param name="url" value="jdbc:mysql://localhost/jcr" />
        <param name="user" value="root" />
        <param name="password" value="admin" />
        <param name="schema" value="mysql" />
        <param name="schemaObjectPrefix" value="J_V_PM_" />
        <param name="externalBLOBs" value="false" />
       </PersistenceManager>
 </Versioning>

 <!--

 Cluster Configuration

 This is sample configuration for mysql persistence that can be used for

 clustering Jackrabbit. For other databases, change the  connection,
 credentials, and schema settings.
 -->

    <!--<Cluster id="node_1" syncDelay="5">

  <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
   <param name="revision" value="${rep.home}/revision"/>
   <param name="driver" value="com.mysql.jdbc.Driver"/>
   <param name="url" value="jdbc:mysql://localhost/jcr"/>
   <param name="user" value=""/>
   <param name="password" value=""/>
   <param name="schema" value="mysql"/>
   <param name="schemaObjectPrefix" value="J_C_"/>
  </Journal>
    </Cluster>-->
</Repository>

注意:连接数据库时候的用户名和密码填写正确,还有数据库名,如果不想和tomcat用同一个数据库,那么就再另外建立一个jcr的数据库即可,里面的表会自动生成。

这样,不管tomcat怎么重新部署和移植,文档的数据是存储到数据库里面了,只要数据库文件还在,什么时候都能下载。

参考文档:http://wiki.liferay.com/index.php/Jackrabbit

补充:

     刚才一个网友告诉我可以在部署出来之前修改portal源码的相关配置,这样第一次部署tomcat生成的repository.xml就是存储到数据库的配置了。修改的源码是portal-impl.jar\com\liferay\portal\jcr\jackrabbit\dependencies\repository.xml  这个就是部署repository.xml之前的原文件。

转载于:https://my.oschina.net/u/180063/blog/86520

你可能感兴趣的文章
分享一个IIS日志分析工具-LogParse
查看>>
Silverlight中使用Grid创建自定义的Table表格
查看>>
Console-算法[for,if]-不用第三个变量,交换两字符串的值
查看>>
Hadoop入门(一):Hadoop伪分布安装
查看>>
Tomcat环境配置
查看>>
屌丝程序员的那些事(一)-毕业那年
查看>>
spring测试实例
查看>>
创建Sdcard
查看>>
cocos2d-x与ISO内存管理(转)
查看>>
磁盘I/O的性能评估方法
查看>>
计算机排序算法
查看>>
My Emacs For Common Lisp
查看>>
数据处理函数
查看>>
网站目录下多出的 core 文件
查看>>
The Definitive Guide To Django 2 学习笔记(五) 第四章 模板 (一)基本模板系统
查看>>
Ubuntu下无法安装sun-java6-jdk的解决办法
查看>>
c++智能指针
查看>>
Serializable java序列化
查看>>
SQL PLUS远程连接
查看>>
SharePoint 2013 InfoPath 无法保存下列表单
查看>>