Liferay:从6.0迁移到6.1

时间:2015-01-26 15:19:55

标签: liferay liferay-6

我一直在尝试将Liferay 5.2升级到6.2。我已成功升级到6.0.6而没有任何问题 - 请参阅此博客中的此步骤http://itsliferay.blogspot.com/2012/06/upgrade-database-from-liferay-52-sp-3.html

但是,在升级到6.1(使用与指导相同的博客)期间 - 当运行升级过程的tomcat服务器时,我收到以下错误:

com.liferay.portal.kernel.events.ActionException: com.liferay.portal.verify.VerifyException: com.liferay.portal.verify.VerifyException: com.liferay.portlet.documentlibrary.NoSuchFileException: C:\barterfli\liferay_6.1.2\data\document_library\10112\128975\23\00\23005.afsh\23005_1.0.afsh
com.liferay.portal.kernel.events.ActionException: com.liferay.portal.verify.VerifyException: com.liferay.portal.verify.VerifyException: com.liferay.portlet.documentlibrary.NoSuchFileException: C:\barterfli\liferay_6.1.2\data\document_library\10112\128975\23\00\23005.afsh\23005_1.0.afsh
    at com.liferay.portal.events.StartupAction.run(StartupAction.java:56)
    at com.liferay.portal.servlet.MainServlet.processStartupEvents(MainServlet.java:1300)
    at com.liferay.portal.servlet.MainServlet.init(MainServlet.java:214)
    at javax.servlet.GenericServlet.init(GenericServlet.java:160)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5123)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5407)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:657)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1636)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

我的portal-ext.properties:

jdbc.default.jndi.name=jdbc/lportal
image.hook.impl=com.liferay.portal.image.FileSystemHook 
dl.hook.impl=com.liferay.documentlibrary.util.AdvancedFileSystemHook
dl.store.impl=com.liferay.portlet.documentlibrary.store.AdvancedFileSystemStore
users.screen.name.allow.numeric=true

**

  

*注意:对于文档库挂钩,我在升级到6.0期间已迁移到AdvancedFileSystemHook

**

首先,我意识到我错过了portal-ext.properties中名为dl.hook.file.system的属性,该属性需要指向旧的文档库路径。所以,我再次重新执行整个过程 - 重新导入6.0 db,更改portal-ext.properties,然后让tomcat服务器再次运行升级过程。

仍然是同样的错误。

我的新portal-ext.properties:

jdbc.default.jndi.name=jdbc/lportal
image.hook.impl=com.liferay.portal.image.FileSystemHook 
dl.hook.impl=com.liferay.documentlibrary.util.AdvancedFileSystemHook
dl.store.impl=com.liferay.portlet.documentlibrary.store.AdvancedFileSystemStore
dl.hook.file.system.root.dir=C:/barterfli/liferay/bundles/liferay-portal-6.0.6/data/document_library
users.screen.name.allow.numeric=true

我在文档库文件夹中检查了在异常中找不到的文件,并且提到的那些文件不在那里。

在Liferay论坛上,我发现了这个: https://www.liferay.com/community/forums/-/message_boards/message/14519864

尝试作为建议 - 对文件应用了更改,但问题仍然存在。

我被困住了,我需要帮助。

感谢。

1 个答案:

答案 0 :(得分:0)

我看到你提到的一个问题:"在更新到6.0期间,我从FileSystemHook迁移到AdvancedFileSystemHook。问题可能是你不能只是"只是"更新钩子并期望数据在那里:

FileSystemHook(FSH)和AdvancedFileSystemHook(AFSH)都将数据写入data / document_library文件夹,FSH位于单个子目录中,AFSH位于目录层次结构中(因此它可以处理更多文件)。

当您只是更改钩子实现时,AFSH将错过它所期望的文件 - 它们很可能是FSH写入它们的地方。

一般来说,使用AFSH会更好,但我会将迁移与实际升级区分开来。如果你很幸运,将钩子实现改回FSH就足够了。如果没有,请恢复备份并再次运行升级,这次不更新DL存储