如何将大量XML内容导入Liferay?

如何将大量XML内容导入Liferay?,liferay,Liferay,我是新来的,雷。我正在做一项任务,因为我需要将XML中的列表内容转换为liferay文章。简而言之,我正在将庞大的内容列表转换为Liferay文章 我开发了一个门户,通过它我将内容导入liferay。在导入期间,几分钟内将内容成功导入liferay。几分钟后,我得到了以下例外。我尝试过多次导入,但未能将完整内容导入liferay importing:java.lang.ArrayIndexOutOfBoundsException Aug 27, 2015 9:38:16 AM org.apach

我是新来的,雷。我正在做一项任务,因为我需要将XML中的列表内容转换为liferay文章。简而言之,我正在将庞大的内容列表转换为Liferay文章

我开发了一个门户,通过它我将内容导入liferay。在导入期间,几分钟内将内容成功导入liferay。几分钟后,我得到了以下例外。我尝试过多次导入,但未能将完整内容导入liferay

importing:java.lang.ArrayIndexOutOfBoundsException
Aug 27, 2015 9:38:16 AM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException

atcom.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPermissionImpl.java:305)
atcom.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPermissionImpl.java:226)
atcom.liferay.portal.service.permission.PortletPermissionImpl.contains(PortletPermissionImpl.java:211)
atcom.liferay.portal.service.permission.PortletPermissionImpl.hasAccessPermission(PortletPermissionImpl.java:436)
atcom.liferay.portal.service.permission.PortletPermissionUtil.hasAccessPermission(PortletPermissionUtil.java:278)
atcom.liferay.portlet.SecurityPortletContainerWrapper.hasAccessPermission(SecurityPortletContainerWrapper.java:344)
atcom.liferay.portlet.SecurityPortletContainerWrapper.check(SecurityPortletContainerWrapper.java:209)
atcom.liferay.portlet.SecurityPortletContainerWrapper.checkRender(SecurityPortletContainerWrapper.java:243)
atcom.liferay.portlet.SecurityPortletContainerWrapper.render(SecurityPortletContainerWrapper.java:139)
atcom.liferay.portlet.RestrictPortletContainerWrapper.render(RestrictPortletContainerWrapper.java:126)
atcom.liferay.portal.kernel.portlet.PortletContainerUtil.render(PortletContainerUtil.java:156)
atcom.liferay.portal.layoutconfiguration.util.PortletRenderer._render(PortletRenderer.java:125)
atcom.liferay.portal.layoutconfiguration.util.PortletRenderer.access$4(PortletRenderer.java:107)
atcom.liferay.portal.layoutconfiguration.util.PortletRenderer$PortletRendererCallable.doCall(PortletRenderer.java:180)
atcom.liferay.portal.layoutconfiguration.util.PortletRenderer$PortletRendererCallable.doCall(PortletRenderer.java:1)
atcom.liferay.portal.kernel.executor.CopyThreadLocalCallable.call(CopyThreadLocalCallable.java:69)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
atcom.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask._runTask(ThreadPoolExecutor.java:682)
atcom.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask.run(ThreadPoolExecutor.java:593)
at java.lang.Thread.run(Thread.java:745)

09:38:16,735 ERROR [http-bio-9001-exec-134][status_jsp:753] javax.servlet.ServletException: java.util.concurrent.ExecutionException: com.liferay.portal.kernel.portlet.PortletContainerException: com.liferay.portal.kernel.portlet.PortletContainerException: java.lang.NullPointerException

作为解决方案,可以考虑增加最大队列大小:

index.search.writer.max.queue.size=9999999
此外,您还可以添加以下功能,以减少磁盘写入的频率:

lucene.commit.batch.size=10000
lucene.commit.time.interval=300000
你可以考虑查阅这篇笔记以获得更多的信息。

干杯! AJ

顺便说一句,这只是一个可能的解决方法或调整方法,但我认为如果上述方法不适用,在某些地方会有更好的解决方案