[Design of JBoss Portal] - JSF-Portlet with modifed lifecycle
by herveminko
Hi guys,
I have a big problem. I have a jsf application, that i am deploying as jsf-portlet in Jboss Portal. i have made all necessary changes ni the xml descriptors and added all necessary jars, so that the application is portal-ready.
My problem is that my application ahas a modified lifecycle, set in the web.xml file using the element:
<context-param>
<param-name>javax.faces.LIFECYCLE_ID</param-name>
<param-value>DynLifecycle</param-value>
</context-param>
When i start my Jboss Portal application and try to view my jsf-portlet i get an exception (see below)
--------------------------------------------------------------------------------
java.lang.NullPointerException
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:82)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:221)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
at com.sun.faces.portlet.FacesPortlet.render(FacesPortlet.java:304)
at org.jboss.portal.portlet.PortletContainer.invokeRender(PortletContainer.java:521)
at org.jboss.portal.portlet.PortletContainer.dispatch(PortletContainer.java:433)
at org.jboss.portal.server.app.ComponentInvocation.dispatch(ComponentInvocation.java:79)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:140)
at org.jboss.portal.core.aspects.component.TransactionInterceptor.invoke(TransactionInterceptor.java:72)
at org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.core.aspects.component.HeaderInterceptor.invoke(HeaderInterceptor.java:50)
at org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.server.aspects.component.NavigationInterceptor.invoke(NavigationInterceptor.java:76)
at org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.server.aspects.component.CacheInterceptor.invoke(CacheInterceptor.java:167)
at org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.server.aspects.component.ModesInterceptor.invoke(ModesInterceptor.java:88)
at org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.server.aspects.component.WindowStatesInterceptor.invoke(WindowStatesInterceptor.java:87)
at org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.bridge.BridgeInterceptor.invoke(BridgeInterceptor.java:49)
at org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.portlet.aspects.component.SessionPostDispatchInterceptor.invoke(SessionPostDispatchInterceptor.java:65)
at org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.server.aspects.component.ContextDispatcherInterceptor$InvokeNextCommand.execute(ContextDispatcherInterceptor.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.portal.server.servlet.CommandServlet.doGet(CommandServlet.java:101)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:539)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
at org.jboss.portal.server.app.impl.AbstractRequestContext.include(AbstractRequestContext.java:247)
at org.jboss.portal.server.aspects.component.ContextDispatcherInterceptor$1.include(ContextDispatcherInterceptor.java:73)
at org.jboss.portal.server.servlet.CommandServlet.include(CommandServlet.java:81)
at org.jboss.portal.server.aspects.component.ContextDispatcherInterceptor.invoke(ContextDispatcherInterceptor.java:79)
at org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.portlet.aspects.component.SessionPreDispatchInterceptor.invoke(SessionPreDispatchInterceptor.java:94)
at org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.server.aspects.component.ContextTrackerInterceptor.invoke(ContextTrackerInterceptor.java:49)
at org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.portlet.aspects.component.SecureTransportInterceptor.invoke(SecureTransportInterceptor.java:69)
at org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.portlet.aspects.component.ValveInterceptor.invoke(ValveInterceptor.java:64)
at org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.server.invocation.Invocation.invoke(Invocation.java:175)
at org.jboss.portal.core.command.RenderWindowCommand.execute(RenderWindowCommand.java:84)
at org.jboss.portal.core.command.ControllerCommand.dispatch(ControllerCommand.java:78)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:140)
at org.jboss.portal.core.aspects.controller.EventBroadcasterInterceptor.invoke(EventBroadcasterInterceptor.java:85)
at org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.core.aspects.controller.PolicyEnforcementInterceptor.invoke(PolicyEnforcementInterceptor.java:168)
at org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.core.aspects.controller.PortalNodeInterceptor.invoke(PortalNodeInterceptor.java:61)
at org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.core.aspects.controller.NavigationInterceptor.invoke(NavigationInterceptor.java:68)
at org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.server.invocation.Invocation.invoke(Invocation.java:175)
at org.jboss.portal.core.command.CommandContext.execute(CommandContext.java:107)
at org.jboss.portal.core.command.CommandContext.chain(CommandContext.java:141)
at org.jboss.portal.core.command.RenderPageCommand.renderPortlets(RenderPageCommand.java:231)
at org.jboss.portal.core.command.RenderPageCommand.execute(RenderPageCommand.java:164)
at org.jboss.portal.core.command.ControllerCommand.dispatch(ControllerCommand.java:78)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:140)
at org.jboss.portal.core.aspects.controller.EventBroadcasterInterceptor.invoke(EventBroadcasterInterceptor.java:85)
at org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.core.aspects.controller.PolicyEnforcementInterceptor.invoke(PolicyEnforcementInterceptor.java:168)
at org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.core.aspects.controller.PortalNodeInterceptor.invoke(PortalNodeInterceptor.java:61)
at org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.core.aspects.controller.NavigationInterceptor.invoke(NavigationInterceptor.java:58)
at org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.server.invocation.Invocation.invoke(Invocation.java:175)
at org.jboss.portal.core.command.CommandContext.execute(CommandContext.java:107)
at org.jboss.portal.core.command.ExecutionContext.execute(ExecutionContext.java:93)
at org.jboss.portal.core.command.ExecutionContext.execute(ExecutionContext.java:77)
at org.jboss.portal.core.CoreController.handle(CoreController.java:190)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
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:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
at org.jboss.mx.util.JMXInvocationHandler.invoke(JMXInvocationHandler.java:273)
at $Proxy209.handle(Unknown Source)
at org.jboss.portal.server.ServerInvocation.dispatch(ServerInvocation.java:76)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:140)
at org.jboss.portal.core.aspects.server.SubjectAssociationInterceptor.invoke(SubjectAssociationInterceptor.java:47)
at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.core.aspects.server.PolicyAssociationInterceptor.invoke(PolicyAssociationInterceptor.java:52)
at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.server.aspects.server.ContentTypeInterceptor.invoke(ContentTypeInterceptor.java:68)
at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.core.aspects.server.LocaleInterceptor.invoke(LocaleInterceptor.java:69)
at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.core.aspects.server.UserInterceptor.invoke(UserInterceptor.java:184)
at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.server.aspects.server.SessionInvalidatorInterceptor.invoke(SessionInvalidatorInterceptor.java:87)
at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.core.aspects.server.TransactionInterceptor.invoke(TransactionInterceptor.java:75)
at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
at org.jboss.portal.server.invocation.Invocation.invoke(Invocation.java:175)
at org.jboss.portal.server.servlet.PortalServlet.doGet(PortalServlet.java:221)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:407)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
--------------------------------------------------------------------------------
Powered by JBoss Portal
My question is what do i have to set or confiure, so that my jsf-portlet uns with this modified lifecycle.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3963154#3963154
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3963154
19 years, 8 months
[Design of JBoss Portal] - Re: Stress/Load Testing plan/suggestions
by rutfield
In addition to stress and load, I would like to see volume testing included.
In other words, does performance degrade as the size of the database increases. I do understand results will vary widely with each application/portlet; however, it would be nice to know that the core JBP does not degrade going from 100 to 1000 to 10000 concurrent users doing what you mentioned.
The same could be said for content in the CMS and the number of items.
It would also be nice to have the results published and include the configuration. Is the system on a single box? If so, what OS, CPU, memory, etc.? As issues are found (locking, too many SQL connections, etc.), it would be nice to have a document as to what steps were taken to address each bottleneck. J2EE seems to have so many components and variables that it is difficult to know what to change when a limit is hit.
Are you going to also monitor the JMS queue and measure performance? I have seen instances where the queue grows as the number increases and performance degrades. In one case, we replaced the JVM and our issue went away.
Good stuff. Looking forward to it.
CR
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3963145#3963145
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3963145
19 years, 8 months
[Design of POJO Server] - Re: JBAS-1841 - ServiceController/Microcontainer integration
by scott.stark@jboss.org
I made good progress on tieing these together today. The server bootstrap is looking like:
| <!-- A ProfileServiceBootstrap bootstrap descriptor that uses the simple
| VFSDeploymentScanner that goes directly to the MainDeployer rather than the ProfileService.
| $Id$
| -->
| <deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
| xmlns="urn:jboss:bean-deployer:2.0">
| <!-- -->
| <bean name="ProfileService" class="org.jboss.system.server.profileservice.ProfileServiceImpl">
| <constructor>
| <parameter>${jboss.server.name}</parameter>
| </constructor>
| <property name="profileRoot">${jboss.server.home.url}/profile</property>
| </bean>
|
| <!-- The MainDeployer -->
| <bean name="MainDeployer" class="org.jboss.deployers.plugins.MainDeployerImpl">
| <property name="VFSFactory"><inject bean="VFSFactory"/></property>
| </bean>
| <!-- The factory for VFS instances -->
| <bean name="VFSFactory" class="org.jboss.vfs.file.DefaultVFSFactory">
| </bean>
|
| <!-- Deployers. Declaration order defines the deployer chain order
| -->
| <bean name="ClassLoadingDeployer" class="org.jboss.deployers.plugins.classloading.ClassLoadingDeployer">
| <property name="mainDeployer"><inject bean="MainDeployer"/></property>
| </bean>
| <bean name="BeanDeployer" class="org.jboss.deployers.plugins.bean.BeanDeployer">
| <property name="mainDeployer"><inject bean="MainDeployer"/></property>
| </bean>
| <bean name="SARDeployer" class="org.jboss.deployment.SARDeployer">
| <property name="useNamespaceAwareParser">true</property>
| </bean>
|
| <!-- A bean that setups a jboss-4.0.x type of jmx kernel to support the
| the legacy mbean deployments handled by the SARDeployer
| -->
| <bean name="JMXKernel" class="org.jboss.system.server.jmx.JMXKernel">
| <property name="serverImpl"><inject bean="ProfileService"/></property>
| <property name="serviceController"><inject bean="SARDeployer" property="serviceController" /></property>
| </bean>
|
| <!-- Hot deployment service that directly uses the MainDeployer -->
| <bean name="VFSDeploymentScanner" class="org.jboss.deployers.plugins.scanner.VFSDeploymentScannerImpl">
| <property name="mainDeployer"><inject bean="MainDeployer"/></property>
| <property name="VFSFactory"><inject bean="MainDeployer" property="VFSFactory" /></property>
| <property name="URIList">
| <list elementClass="java.net.URI"><value>${jboss.server.home.url}/deploy/</value></list>
| </property>
| <property name="scanPeriod"><value>5000</value></property>
| </bean>
|
| </deployment>
|
The JMXKernel is a stripped down version of the jboss-4.0.x ServerImpl that sets up the jmx env needed by the SARDeployer/ServiceController. Still haven't actually gotten an mbean service to deploy, but getting close.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3963092#3963092
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3963092
19 years, 8 months
[Design of Clustering on JBoss (Clusters/JBoss)] - Buddy replication and ClusteredSingleSignOn
by bstansberry@jboss.com
We currently share a cache for http session repl and clustered sso repl. This is problematic if buddy replication is used, as buddy replication isn't really appropriate for the sso use case.
With clustered sso, the user might be pinned to different servers for the different webapps being accessed. In this case, as the user moves from app to app, the sso will be gravitated from one server to another.
This may not be a huge problem, as in most cases a user will work for a while with one app then go to another; i.e. bouncing around isn't common.
Also, if the "emptySessionPath" attribute on the Tomcat Connector is set to true, the session cookie will be scoped to the host. If the suite of applications share the same virtual host name, the load balancer will should send the user to the same server for all apps. So, buddy replication would be fine.
In the 5.0 series, there is another cache available for use by SSO -- the cache used for HA-JNDI/DRM/DistributedState. So, if users didn't want BR for SSO they can configure it to use the non-BR cache.
This is not an alternative in the 4.0.x series; if users wanted BR for http sessions but not for SSO they would have to configure and deploy their own cache.
I'll create a wiki page (probably mostly stating the above) once I've thought a bit more about what to do in 4.0.x.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3963072#3963072
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3963072
19 years, 8 months