Older Version of the JavaMelody Hook Prevents Creating Structured Web Content in Liferay Portal 6.2 SP13 and above

This article is a legacy article. It applies to previous versions of the Liferay product. While the article is no longer maintained, the information may still be applicable.

This article documents the solution to a known issue when creating structured web content if the customer is using an older version of the JavaMelody hook developed for Liferay Portal.

During the structured web content creation process, customers will see the following error message in the console logs:

ERROR [http-bio-8080-exec-3][render_portlet_jsp:132] null
java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String
    at com.liferay.portlet.dynamicdatamapping.util.DDMImpl.getFields(DDMImpl.java:220)
    at com.liferay.portlet.dynamicdatamapping.util.DDMImpl.getFields(DDMImpl.java:203)
    at com.liferay.portlet.dynamicdatamapping.util.DDMImpl.getFields(DDMImpl.java:261)
    at com.liferay.portlet.dynamicdatamapping.util.DDMUtil.getFields(DDMUtil.java:73)
    at com.liferay.portlet.journal.action.ActionUtil.getContentAndImages(ActionUtil.java:276)
    at com.liferay.portlet.journal.action.EditArticleAction.updateArticle(EditArticleAction.java:642)
    at com.liferay.portlet.journal.action.EditArticleAction.processAction(EditArticleAction.java:149)
    at com.liferay.portal.struts.PortletRequestProcessor.process(PortletRequestProcessor.java:166)
    at com.liferay.portlet.StrutsPortlet.processAction(StrutsPortlet.java:218)
    at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:71)
    at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
    at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:597)
    at com.liferay.portlet.InvokerPortletImpl.invokeAction(InvokerPortletImpl.java:628)
    at com.liferay.portlet.InvokerPortletImpl.processAction(InvokerPortletImpl.java:308)
    at com.liferay.portlet.PortletContainerImpl._doProcessAction(PortletContainerImpl.java:389)
    at com.liferay.portlet.PortletContainerImpl.processAction(PortletContainerImpl.java:107)
    at com.liferay.portlet.SecurityPortletContainerWrapper.processAction(SecurityPortletContainerWrapper.java:109)
    at com.liferay.portlet.RestrictPortletContainerWrapper.processAction(RestrictPortletContainerWrapper.java:75)
    at com.liferay.portal.kernel.portlet.PortletContainerUtil.processAction(PortletContainerUtil.java:115)
    at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:386)

Root Cause

liferay-javamelody hook (version 1.62.0 or earlier) is incompatible with LPS-57997 (contained in the fix pack portal-73-6210).

Resolution

Upgrade the hook to a version higher than 1.62.0.

Additional Information

JavaMelody is an open source lightweight product designed to monitor Java applications. Liferay has forked a branch on GitHub to create this plugin.

Other Resources

¿Fue útil este artículo?
Usuarios a los que les pareció útil: 0 de 0