[jboss-user] [JBoss Portal] - Anybody got seam 2.0 portlets working?
mhinten
do-not-reply at jboss.com
Wed Jan 9 03:32:45 EST 2008
Environment:
JBoss Portal Version: 2.6.3
Did you get Portal from CVS? or download it? --> download binaries
JBoss AS Version --> 4.2.2.GA
Database Vendor and Version --> Oracle 10g
JDBC Connector and Version --> ojdbc14.jar
OS Platform --> Windows XP
Problem/Question
I know this has been posted before, but am unable to verify wether anybody has successfully implemented portlets based on Seam 2.0.
Is there anybody out there who has made a simple working seam 2.0 portlet, and has starting with seam-gen?
I did get the examples working (well, more or less: there are still serious issues like several links that don't work, but at least the portlet shows in the portal), following this blog entry: http://blog.jboss-portal.org/2007/11/seam-20-portlet-example.html
But when I try to cook my own Seam 2.0 portlets I am getting all kinds of errors, the last one being:
17:07:04,530 ERROR [STDERR] Caused by: java.lang.ClassCastException: javax.portlet.faces.GenericFacesPortlet
| 17:07:04,530 ERROR [STDERR] at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.start(PortletContainerImpl.java:231)
| 17:07:04,530 ERROR [STDERR] ... 74 more
| 17:07:04,546 WARN [InstanceMetaData] The instance SimpleSeamPortletInstance will not be created because the component referenced is
| outside of the same web app portlets06simpleSeam.SimpleSeamPortlet
| 17:07:04,546 WARN [PortletAppDeployment] Failed to create instance SimpleSeamPortletInstance of portlet /portlets06simpleSeam.Simpl
| eSeamPortlet because portlet /portlets06simpleSeam.SimpleSeamPortlet is not available
(full stack trace pasted further down below).
My config files are:
faces-config.xml:
| <?xml version='1.0' encoding='UTF-8'?>
| <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
|
| <application>
| <locale-config>
| <default-locale>en</default-locale>
| </locale-config>
|
| <view-handler>com.sun.facelets.FaceletPortletViewHandler</view-handler>
|
| </application>
| </faces-config>
|
portlet.xml
<portlet-app version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="http://java.sun.com/xml/ns/portlet" xmlns="http://java.sun.com/xml/ns/portlet">
|
|
| <!-- this is a seam 2.0 portlet that doesn't work -->
| <portlet>
| <portlet-name>SimpleSeamPortlet</portlet-name>
| <portlet-class> javax.portlet.faces.GenericFacesPortlet </portlet-class>
|
| <init-param>
| <name>javax.portlet.faces.defaultViewId.view</name>
| <value>/home.xhtml</value>
| </init-param>
|
| <init-param>
| <name>javax.portlet.faces.defaultViewId.edit</name>
| <value>/edit_portlet.xhtml</value>
| </init-param>
|
| <init-param>
| <name>javax.portlet.faces.defaultViewId.help</name>
| <value>/help.xhtml</value>
| </init-param>
|
| <expiration-cache>-0</expiration-cache>
| <portlet-info>
| <title>Simple Seam Portlet</title>
| </portlet-info>
| <supports>
| <mime-type>text/html</mime-type>
| <portlet-mode>VIEW</portlet-mode>
| <portlet-mode>EDIT</portlet-mode>
| <portlet-mode>HELP</portlet-mode>
| </supports>
| </portlet>
|
| <!-- This is a non-seam portlet that works -->
| <portlet>
| <portlet-name>MultiMasterPortlet</portlet-name>
| <portlet-class>nl.geotax.MultiMasterPortlet</portlet-class>
| <supports>
| <mime-type>text/html</mime-type>
| <portlet-mode>VIEW</portlet-mode>
| <portlet-mode>EDIT</portlet-mode>
| <portlet-mode>HELP</portlet-mode>
| </supports>
| <portlet-info>
| <title>Geotax IPC Multi Master Portlet</title>
| </portlet-info>
| </portlet>
|
| </portlet-app>
|
portlet-instances.xml:
| <?xml version="1.0" encoding="utf-8" standalone="yes"?>
| <deployments>
| <!-- seam portlet that doesn't work -->
| <deployment>
| <instance>
| <instance-id>SimpleSeamPortletInstance</instance-id>
| <portlet-ref>SimpleSeamPortlet</portlet-ref>
| </instance>
| </deployment>
|
| <!-- non seam portlet that works -->
| <deployment>
| <instance>
| <instance-id>MultiMasterPortletInstance</instance-id>
| <portlet-ref>MultiMasterPortlet</portlet-ref>
| </instance>
| </deployment>
| </deployments>
|
seamportlet-object.xm:l
| <?xml version="1.0" encoding="UTF-8"?>
| <deployments>
|
| <!-- attempts at creating a seam portlet -->
| <deployment>
| <parent-ref>default</parent-ref>
| <if-exists>overwrite</if-exists>
| <instance>
| <instance-name>SimpleSeamPortletInstance</instance-name>
| <component-ref>portlets06simpleSeam.SimpleSeamPortlet</component-ref>
| </instance>
| </deployment>
|
|
| <deployment>
| <if-exists>overwrite</if-exists>
| <parent-ref>default</parent-ref>
| <page>
| <page-name>Simple Seam Portlets</page-name>
| <window>
| <window-name>SimpleSeamPortlet</window-name>
| <instance-ref>SimpleSeamPortletInstance</instance-ref>
| <region>left</region>
| <height>0</height>
| </window>
| </page>
| </deployment>
|
| <!-- non-seam portlet that works -->
| <deployment>
| <if-exists>overwrite</if-exists>
| <parent-ref>default</parent-ref>
| <page>
| <page-name>PoC Multi IPC-2</page-name>
| <window>
| <window-name>MultiMasterPortletWindow</window-name>
| <instance-ref>MultiMasterPortletInstance</instance-ref>
| <region>left</region>
| <height>0</height>
| </window>
| <window>
| <window-name>What the hell</window-name>
| <instance-ref>SimpleSeamPortletInstance</instance-ref>
| <region>center</region>
| <height>0</height>
| </window>
|
|
| </page>
| </deployment>
|
| </deployments>
|
web.xml:
| <?xml version="1.0" ?>
| <web-app xmlns="http://java.sun.com/xml/ns/javaee"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
| version="2.5">
|
|
|
|
| <description>SeamPortlets</description>
|
|
| <context-param>
| <param-name>javax.portlet.faces.BridgeImplClass</param-name>
| <param-value>org.apache.myfaces.portlet.faces.bridge.BridgeImpl</param-value>
| </context-param>
|
| <listener>
| <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
| </listener>
|
| <servlet>
| <servlet-name>Seam Resource Servlet</servlet-name>
| <servlet-class>org.jboss.seam.servlet.ResourceServlet</servlet-class>
| </servlet>
|
| <servlet-mapping>
| <servlet-name>Seam Resource Servlet</servlet-name>
| <url-pattern>/seam/resource/*</url-pattern>
| </servlet-mapping>
|
|
| <filter>
| <filter-name>Seam Filter</filter-name>
| <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
| </filter>
|
| <filter-mapping>
| <filter-name>Seam Filter</filter-name>
| <url-pattern>/*</url-pattern>
| </filter-mapping>
|
| <context-param>
| <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
| <param-value>server</param-value>
| </context-param>
|
| <context-param>
| <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
| <param-value>.xhtml</param-value>
| </context-param>
|
| <context-param>
| <param-name>facelets.DEVELOPMENT</param-name>
| <param-value>false</param-value>
| </context-param>
|
| <servlet>
| <servlet-name>Faces Servlet</servlet-name>
| <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
| <load-on-startup>1</load-on-startup>
| </servlet>
|
| <servlet-mapping>
| <servlet-name>Faces Servlet</servlet-name>
| <url-pattern>*.seam</url-pattern>
| </servlet-mapping>
|
| <listener>
| <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
| </listener>
|
| <session-config>
| <session-timeout>30</session-timeout>
| </session-config>
|
| <welcome-file-list>
| <welcome-file>index.html</welcome-file>
| </welcome-file-list>
|
|
|
| </web-app>
|
And finally, the full stack trace when deploying:
stack trace:
| 09:01:40,366 ERROR [STDERR] org.jboss.portal.portlet.container.PortletInitializationException: The portlet SimpleSeamPortlet threw a
| runtime exception during init
| 09:01:40,366 ERROR [STDERR] at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.start(PortletContainerImpl.java:264)
| 09:01:40,366 ERROR [STDERR] at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.startPortletApplication(Por
| tletApplicationContextImpl.java:135)
| 09:01:40,366 ERROR [STDERR] at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.start(PortletAppDeployment.java:15
| 1)
| 09:01:40,382 ERROR [STDERR] at org.jboss.portal.core.deployment.jboss.PortletAppDeployment.start(PortletAppDeployment.java:96)
| 09:01:40,382 ERROR [STDERR] at org.jboss.portal.server.deployment.jboss.DeploymentContext.start(DeploymentContext.java:99)
| 09:01:40,382 ERROR [STDERR] at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.start(PortalDeploymentInfoCo
| ntext.java:211)
| 09:01:40,382 ERROR [STDERR] at org.jboss.portal.server.deployment.jboss.ServerDeployer.start(ServerDeployer.java:217)
| 09:01:40,382 ERROR [STDERR] at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
| 09:01:40,382 ERROR [STDERR] at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
| 09:01:40,382 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor202.invoke(Unknown Source)
| 09:01:40,382 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| 09:01:40,382 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
| 09:01:40,382 ERROR [STDERR] at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| 09:01:40,382 ERROR [STDERR] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| 09:01:40,382 ERROR [STDERR] at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| 09:01:40,382 ERROR [STDERR] at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| 09:01:40,382 ERROR [STDERR] at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.jav
| a:142)
| 09:01:40,382 ERROR [STDERR] at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| 09:01:40,382 ERROR [STDERR] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| 09:01:40,382 ERROR [STDERR] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| 09:01:40,382 ERROR [STDERR] at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| 09:01:40,382 ERROR [STDERR] at $Proxy206.deploy(Unknown Source)
| 09:01:40,382 ERROR [STDERR] at org.jboss.portal.server.deployment.jboss.ServerDeployer.deploy(ServerDeployer.java:259)
| 09:01:40,398 ERROR [STDERR] at org.jboss.portal.server.deployment.WebAppAdapter.deploy(WebAppAdapter.java:53)
| 09:01:40,398 ERROR [STDERR] at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:15
| 9)
| 09:01:40,398 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
| 09:01:40,398 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| 09:01:40,398 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
| 09:01:40,398 ERROR [STDERR] at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
| 09:01:40,398 ERROR [STDERR] at $Proxy209.handleNotification(Unknown Source)
| 09:01:40,398 ERROR [STDERR] at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadca
| sterSupport.java:127)
| 09:01:40,398 ERROR [STDERR] at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcast
| erSupport.java:108)
| 09:01:40,398 ERROR [STDERR] at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
| 09:01:40,398 ERROR [STDERR] at org.jboss.deployment.SubDeployerSupport.start(SubDeployerSupport.java:308)
| 09:01:40,398 ERROR [STDERR] at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:482)
| 09:01:40,398 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source)
| 09:01:40,398 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| 09:01:40,398 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
| 09:01:40,398 ERROR [STDERR] at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| 09:01:40,398 ERROR [STDERR] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| 09:01:40,398 ERROR [STDERR] at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| 09:01:40,398 ERROR [STDERR] at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| 09:01:40,398 ERROR [STDERR] at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.jav
| a:142)
| 09:01:40,413 ERROR [STDERR] at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
| 09:01:40,413 ERROR [STDERR] at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:23
| 8)
| 09:01:40,413 ERROR [STDERR] at org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:87)
| 09:01:40,413 ERROR [STDERR] at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptor
| Support.java:188)
| 09:01:40,413 ERROR [STDERR] at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
| 09:01:40,413 ERROR [STDERR] at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| 09:01:40,413 ERROR [STDERR] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| 09:01:40,413 ERROR [STDERR] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| 09:01:40,413 ERROR [STDERR] at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| 09:01:40,413 ERROR [STDERR] at $Proxy188.start(Unknown Source)
| 09:01:40,413 ERROR [STDERR] at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
| 09:01:40,413 ERROR [STDERR] at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015)
| 09:01:40,413 ERROR [STDERR] at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
| 09:01:40,413 ERROR [STDERR] at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
| 09:01:40,413 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
| 09:01:40,413 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| 09:01:40,413 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
| 09:01:40,413 ERROR [STDERR] at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| 09:01:40,413 ERROR [STDERR] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| 09:01:40,413 ERROR [STDERR] at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| 09:01:40,413 ERROR [STDERR] at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| 09:01:40,429 ERROR [STDERR] at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.jav
| a:142)
| 09:01:40,429 ERROR [STDERR] at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| 09:01:40,429 ERROR [STDERR] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| 09:01:40,429 ERROR [STDERR] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| 09:01:40,429 ERROR [STDERR] at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| 09:01:40,429 ERROR [STDERR] at $Proxy9.deploy(Unknown Source)
| 09:01:40,429 ERROR [STDERR] at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
| 09:01:40,429 ERROR [STDERR] at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:610)
| 09:01:40,429 ERROR [STDERR] at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentSca
| nner.java:263)
| 09:01:40,429 ERROR [STDERR] at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScann
| er.java:274)
| 09:01:40,429 ERROR [STDERR] at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanne
| r.java:225)
| 09:01:40,429 ERROR [STDERR] Caused by: java.lang.ClassCastException: javax.portlet.faces.GenericFacesPortlet
| 09:01:40,429 ERROR [STDERR] at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.start(PortletContainerImpl.java:231)
| 09:01:40,429 ERROR [STDERR] ... 74 more
| 09:01:40,445 WARN [InstanceMetaData] The instance SimpleSeamPortletInstance will not be created because the component referenced is
| outside of the same web app portlets06simpleSeam.SimpleSeamPortlet
| 09:01:40,445 WARN [PortletAppDeployment] Failed to create instance SimpleSeamPortletInstance of portlet /portlets06simpleSeam.Simpl
| eSeamPortlet because portlet /portlets06simpleSeam.SimpleSeamPortlet is not available
|
Any help would be greatly appreciated...
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4118160#4118160
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4118160
More information about the jboss-user
mailing list