Hey Marcus,

I haven't had a chance to check out the orchestra code, but I noticed this was in a call to getInstance. It's possible that if the Orchestra code is trying to pull the conversion Manager from the thread local that this is the problem.

In a portal environment, Faces runs in a two-phased request. That is there is an action followed by a render. There is no guarantee that the ActionRequest and the RenderRequest will run on the same thread. This means that if the conversion manager was set up on the Render Thread it may not be available on the action thread.

The other thing that might cause this is if orchestra uses a filter. Filters do not get run in a portal environment until way late in the lifecycle and, only then, if they are set to run in an include.

I hope this helps you and some of the other Orchestra people figure out your issue.

Scott

markus.g wrote:
Hi all,

currently we're prototyping a portlet application (liferay 4.33)  with
orchestra , JPA (Hibernate) and myFaces 1.1.5. In a pure servlet container
(tomcat 5.5)  everything works fine. In the portlet environment, the
conversation manager throws a NullPointerException.
Caused by: java.lang.NullPointerException
        at
org.apache.myfaces.orchestra.conversation.ConversationManager.getInstance(ConversationManager.java:90)
        at
org.apache.myfaces.orchestra.conversation.ConversationManager.getInstance(ConversationManager.java:76)
        at
org.apache.myfaces.orchestra.conversation.spring.AbstractSpringOrchestraScope.getBean(AbstractSpringOrchestraScope.java:125)
        at
org.apache.myfaces.orchestra.conversation.spring.AbstractSpringOrchestraScope.get(AbstractSpringOrchestraScope.java:117)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:285)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
        at
org.springframework.aop.target.SimpleBeanTargetSource.getTarget(SimpleBeanTargetSource.java:33)
        at
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.getTarget(Cglib2AopProxy.java:661)
        at
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:611)
        at
de.seat.mitarbeiterinfo.view.mitarbeiterlist$$EnhancerByCGLIB$$4f90561b.getMitarbeiterListModel(<generated>)
        ... 125 more

Has anybody a solution for this problem?

Is it actually possible to run orchestra in a portlet environment?

thanks,
Markus



Reply via email to