I tried it again with a simpler web application. I converted "blank.war"
(it is part of myfaces-examples downloaded from apache site) into a
portlet but still getting the same error while adding it to a page.
The stack trace in jetspeed.log file is as follow:
2006-01-17 12:53:57,226 [http-8080-Processor23] DEBUG
org.apache.jetspeed.aggregator.impl.PageAggregatorImpl - Rendering
portlet fragment: [[name, blank::blank], [id, P-108da253283-10000]]
2006-01-17 12:53:57,226 [http-8080-Processor23] DEBUG
org.apache.jetspeed.aggregator.impl.RenderingJobImpl - Rendering OID
P-108da253283-10000
[EMAIL PROTECTED]
[EMAIL PROTECTED]
2006-01-17 12:53:57,246 [http-8080-Processor23] ERROR
org.apache.jetspeed.factory.JetspeedPortletFactory - Cannot create
Portlet instance org.apache.myfaces.portlet.MyFacesGenericPortlet for
Portlet Application blank
java.lang.ClassCastException
at
org.apache.jetspeed.factory.JetspeedPortletFactory.getPortletInstance(Je
tspeedPortletFactory.java:204)
at
org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(Servl
etPortletInvoker.java:189)
at
org.apache.jetspeed.container.invoker.ServletPortletInvoker.render(Servl
etPortletInvoker.java:125)
at
org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerImpl
.java:119)
at
org.apache.jetspeed.container.JetspeedPortletContainerWrapper.renderPort
let(JetspeedPortletContainerWrapper.java:120)
at
org.apache.jetspeed.aggregator.impl.RenderingJobImpl.execute(RenderingJo
bImpl.java:120)
at
org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(Portle
tRendererImpl.java:110)
at
org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.aggregateAndRende
r(PageAggregatorImpl.java:199)
at
org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.aggregateAndRende
r(PageAggregatorImpl.java:182)
at
org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.build(PageAggrega
torImpl.java:106)
at
org.apache.jetspeed.aggregator.AggregatorValve.invoke(AggregatorValve.ja
va:48)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionVal
veImpl.java:132)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:
76)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.decoration.DecorationValve.invoke(DecorationValve.ja
va:100)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValve
Impl.java:179)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginV
alidationValveImpl.java:143)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(Pas
swordCredentialValveImpl.java:148)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(Local
izationValveImpl.java:168)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSe
curityValve.java:117)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:437)
at
org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(AbstractS
ecurityValve.java:111)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(PortalU
RLValveImpl.java:55)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(Capabil
ityValveImpl.java:128)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(JetspeedPipeline.ja
va:185)
at
org.apache.jetspeed.engine.JetspeedEngine.service(JetspeedEngine.java:23
1)
at
org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java:22
6)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:178)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:432)
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:1
48)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:86
8)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc
essConnection(Http11BaseProtocol.java:663)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow
erWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:684)
at java.lang.Thread.run(Thread.java:534)
2006-01-17 12:53:57,246 [http-8080-Processor23] ERROR
org.apache.jetspeed.aggregator.impl.RenderingJobImpl - Error rendering
portlet OID P-108da253283-10000
javax.portlet.UnavailableException: Cannot create Portlet instance
org.apache.myfaces.portlet.MyFacesGenericPortlet for Portlet Application
blank
at
org.apache.jetspeed.factory.JetspeedPortletFactory.getPortletInstance(Je
tspeedPortletFactory.java:215)
at
org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(Servl
etPortletInvoker.java:189)
at
org.apache.jetspeed.container.invoker.ServletPortletInvoker.render(Servl
etPortletInvoker.java:125)
at
org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerImpl
.java:119)
at
org.apache.jetspeed.container.JetspeedPortletContainerWrapper.renderPort
let(JetspeedPortletContainerWrapper.java:120)
at
org.apache.jetspeed.aggregator.impl.RenderingJobImpl.execute(RenderingJo
bImpl.java:120)
at
org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(Portle
tRendererImpl.java:110)
at
org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.aggregateAndRende
r(PageAggregatorImpl.java:199)
at
org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.aggregateAndRende
r(PageAggregatorImpl.java:182)
at
org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.build(PageAggrega
torImpl.java:106)
at
org.apache.jetspeed.aggregator.AggregatorValve.invoke(AggregatorValve.ja
va:48)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionVal
veImpl.java:132)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:
76)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.decoration.DecorationValve.invoke(DecorationValve.ja
va:100)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValve
Impl.java:179)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginV
alidationValveImpl.java:143)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(Pas
swordCredentialValveImpl.java:148)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(Local
izationValveImpl.java:168)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSe
curityValve.java:117)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:437)
at
org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(AbstractS
ecurityValve.java:111)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(PortalU
RLValveImpl.java:55)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(Capabil
ityValveImpl.java:128)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipelin
e.java:203)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(JetspeedPipeline.ja
va:185)
at
org.apache.jetspeed.engine.JetspeedEngine.service(JetspeedEngine.java:23
1)
at
org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java:22
6)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:178)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:432)
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:1
48)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:86
8)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc
essConnection(Http11BaseProtocol.java:663)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow
erWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:684)
at java.lang.Thread.run(Thread.java:534)
The MyFacesGenericPortlet.class is in /WEB_INF/lib/myfaces-impl.jar. I
put it in common/lib also.
Moreover, I added the following to web.xml:
<listener>
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener<
/listener-class>
</listener>
<servlet>
<servlet-name>JetspeedContainer</servlet-name>
<display-name>Jetspeed Container</display-name>
<description>MVC Servlet for Jetspeed Portlet
Applications</description>
<servlet-class>org.apache.jetspeed.container.JetspeedContainerServlet</s
ervlet-class>
<init-param>
<param-name>contextName</param-name>
<param-value>blank</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JetspeedContainer</servlet-name>
<url-pattern>/container/*</url-pattern>
</servlet-mapping>
Still I am getting the same error.
I don't know whats wrong with it.
Has anyone come across this problem?
Please help.
Thanks,
Sunil
-----Original Message-----
From: Tiwari, Sunil Kumar [mailto:[EMAIL PROTECTED]
Sent: Monday, January 16, 2006 12:14 PM
To: [email protected]
Subject: How to turn a JSF into a portlet
Hi All,
I tried converting a sample myfaces (I took simple.war that comes with
myfaces example) web application into a portlet application on
jetspeed2.
I came to know that myfaces application can be readily converted into a
portlet app by simply adding a portlet.xml and ensuring that there are
no redirects in faces-config.xml
I made the changes and deployed it on jetspeed2. The application was
deployed successfully and registered in search engine.
But when I add the portlet on a page, it displays an error message
saying "Cannot create Portlet instance
org.apache.myfaces.portlet.MyFacesGenericPortlet for Portlet Application
simple "
I searched on net but it wasn't of any help.
I checked the jar files and the above mentioned class is in the lib.
Any ideas?
Thanks in advance.
-Sunil
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]