[jboss-user] [JBoss Portal] - A couple of bug in clustered environment

ssolfaroli do-not-reply at jboss.com
Tue Apr 15 05:43:59 EDT 2008


I think I found a couple of bug when using portal in a clustered environment.

First bug: doing a search in CMSAdminPortlet I obtain a NullPointereException with the stack trace in the portlet window.
The error orginated in org.jboss.portal.search.impl.jcr.JCRQuery, and the in 
portal-cms.sar\portal-cms.war\WEB-INF\jsp\cms\admin\searchResult.jsp
is not managed the null value, so the exception in the portlet.
I solved placing:
in jsp

  | List files = (List)request.getAttribute("files");
  |    String createDate = "";
  |    String modifiedDate = "";
  | 	if  (files==null) {
  | 	%>
  | <h2>Search error</h2>
  | <%
  | 	} else if (files.size() > 0)
  |    {
  | 
instead of

  | List files = (List)request.getAttribute("files");
  |    String createDate = "";
  |    String modifiedDate = "";
  | 	if (files.size() > 0)
  |    {
  |    

The error during the search is this:

  | 2008-04-12 14:43:08,784 ERROR [org.jboss.portal.jems.ha.HASingletonInvoker] Cannot invoke proxy will no more retry
  | java.rmi.MarshalException: error marshalling arguments; nested exception is:
  |         java.io.NotSerializableException: org.jboss.portal.search.impl.jcr.JCRQuery
  |         at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122)
  |         at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown Source)
  |         at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:133)
  |         at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:365)
  |         at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:197)
  |         at org.jboss.proxy.ClientMethodInterceptor.invoke(ClientMethodInterceptor.java:74)
  |         at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
  |         at $Proxy187.invoke(Unknown Source)
  |         at org.jboss.portal.jems.ha.HASingletonInvoker.invoke(HASingletonInvoker.java:147)
  |         at org.jboss.portal.cms.impl.jcr.ha.HAJCRCMS.execute(HAJCRCMS.java:86)
  |         at sun.reflect.GeneratedMethodAccessor363.invoke(Unknown Source)
  |         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |         at java.lang.reflect.Method.invoke(Method.java:585)
  |         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
  |         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  |         at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
  |         at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  |         at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
  |         at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  |         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  |         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  |         at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
  |         at $Proxy273.execute(Unknown Source)
  |         at org.jboss.portal.core.cms.ui.admin.CMSAdminPortlet.internalDoView(CMSAdminPortlet.java:322)
  |         at org.jboss.portal.core.cms.ui.admin.CMSAdminPortlet.doView(CMSAdminPortlet.java:172)
  | 

I solved modifing the declaration of org.jboss.portal.search.impl.jcr.JCRQuery so:

  | import java.io.Serializable;
  | 
  | public class JCRQuery implements Query, Serializable
  | 

instead of 


  | public class JCRQuery implements Query
  | 

After recompiling and replacing the portal-search-lib.jar in jboss-portal.sar\lib search is now working.

Other error on which I'm still blocked is related to the  publish/approval workflow; after activating it, if I try on the jboss instance 
on which is running the CMS singleton it's working fine, on other instance I get this error trying to preview a pending content item:


  | Cause: java.lang.RuntimeException: javax.naming.NameNotFoundException: CMS not bound
  | Message: javax.naming.NameNotFoundException: CMS not bound
  | StackTrace:
  | 
  | java.lang.RuntimeException: javax.naming.NameNotFoundException: CMS not bound
  | 	at org.jboss.portal.cms.workflow.CMSWorkflowUtil.getCMSService(CMSWorkflowUtil.java:116)
  | 	at org.jboss.portal.cms.workflow.CMSWorkflowUtil.getPendingContent(CMSWorkflowUtil.java:55)
  | 	at org.jboss.portal.core.cms.ui.admin.CMSAdminPortlet.internalDoView(CMSAdminPortlet.java:645)
  | 	at org.jboss.portal.core.cms.ui.admin.CMSAdminPortlet.doView(CMSAdminPortlet.java:172)
  | 

Any hint on what can I try?

Thanks in advance
Stefano Solfaroli


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4144168#4144168

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4144168



More information about the jboss-user mailing list