問題
- Liferay 6.2からDXP 7.3へデータベースを移行した後、移行したあるテンプレートを使って新しいサイトを追加したいと考えました。 選択した後、以下のようなエラーが発生するので、サーバーを停止する必要があります:
ERROR [http-nio-9080-exec-3][LoggerExportImportLifecycleListener:236] Portlet export failed for portlet com_liferay_layout_set_prototype_web_portlet_SiteTemplateSettingsPortlet
com.liferay.exportimport.kernel.lar.PortletDataException
at com.liferay.exportimport.kernel.lar.BaseStagedModelDataHandler.exportStagedModel(BaseStagedModelDataHandler.java:149)
at com.liferay.exportimport.data.handler.base.BaseStagedModelDataHandler.exportStagedModel(BaseStagedModelDataHandler.java:80)
at com.liferay.exportimport.kernel.lar.StagedModelDataHandlerUtil.exportStagedModel(StagedModelDataHandlerUtil.java:170)
at com.liferay.exportimport.internal.controller.LayoutExportController.doExport(LayoutExportController.java:321)
at com.liferay.exportimport.internal.controller.LayoutExportController.export(LayoutExportController.java:119)
at com.liferay.portlet.exportimport.service.impl.ExportImportLocalServiceImpl.exportLayoutsAsFile(ExportImportLocalServiceImpl.java:62)
at jdk.internal.reflect.GeneratedMethodAccessor674.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:50)
at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:69)
at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
at com.liferay.change.tracking.internal.aop.CTTransactionAdvice.invoke(CTTransactionAdvice.java:80)
at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
at com.liferay.portal.spring.aop.AopInvocationHandler.invoke(AopInvocationHandler.java:49)
at com.sun.proxy.$Proxy109.exportLayoutsAsFile(Unknown Source)
at com.liferay.exportimport.kernel.service.ExportImportLocalServiceUtil.exportLayoutsAsFile(ExportImportLocalServiceUtil.java:45)
at com.liferay.portlet.sites.util.SitesImpl.exportLayoutSetPrototype(SitesImpl.java:714)
at com.liferay.sites.kernel.util.SitesUtil.exportLayoutSetPrototype(SitesUtil.java:155)
at com.liferay.layout.set.prototype.internal.exportimport.data.handler.LayoutSetPrototypeStagedModelDataHandler.exportLayouts(LayoutSetPrototypeStagedModelDataHandler.java:254)
at com.liferay.layout.set.prototype.internal.exportimport.data.handler.LayoutSetPrototypeStagedModelDataHandler.doExportStagedModel(LayoutSetPrototypeStagedModelDataHandler.java:125)
at com.liferay.layout.set.prototype.internal.exportimport.data.handler.LayoutSetPrototypeStagedModelDataHandler.doExportStagedModel(LayoutSetPrototypeStagedModelDataHandler.java:60)
.
.
.
Caused by: java.lang.StackOverflowError -
サイト構成で選択したテンプレートが表示されますが、サイトは作成されますが、テンプレートのページが表示されません。 他のテンプレートも動作し、新しいテンプレートを作成して使用することも可能です。
Environment
- DXP 7.3
解決策
- 現在の動作は、データベースのエントリに問題があるためです。 データベースでそのIDを見つける必要があります。 このような場合は、弊社サポートにチケットをお出しください。
- 例:問題のあるControl Panelポートレットが、サポートが終了したシンプルなページに割り当てられています。 これは、削除する必要があるポートレット環境設定です。
-
私たちの推奨は、APIでこのエントリーを削除することです。
そのためには、6.2用と7.3用の2つのスクリプトのいずれかを使用してください。ENTRYID
を実際のIDに置き換えることを確認してください。
- アップグレードを終了した場合は、7.3スクリプトを実行してください: 7310_deletingWrongPortletPreference.java
- 6210_deletingWrongPortletPreference.java6.2のスクリプトを実行してください。
追加情報