ClassCastException during Portlet Initialisation
sjbarker Oct 7, 2005 6:16 AMI'm having problems deploying my portlet under JBoss, I receive the following error during start-up...
2005-10-06 23:37:27,340 DEBUG [org.jboss.portal.portlet.PortletContainer] Loading portlet class com.xponentsoftware.portlets.im.ControllerPortlet 2005-10-06 23:37:27,350 DEBUG [org.jboss.portal.portlet.PortletContainer] Creating portlet object com.xponentsoftware.portlets.im.ControllerPortlet 2005-10-06 23:37:27,360 DEBUG [org.jboss.portal.server.kernel.Kernel.component.xmppIMPortlet.jMessengerPortlet] failed 2005-10-06 23:37:27,360 ERROR [org.jboss.portal.core.deployment.jboss.PortletAppDeployment] The portlet cannot be started due to an error that occcured during init org.jboss.portal.portlet.PortletInitializationException: The portlet threw a runtime exception during init at org.jboss.portal.portlet.PortletContainer.start(PortletContainer.java:165) at org.jboss.portal.server.kernel.StartMethod.invokeMethod(StartMethod.java:37) at org.jboss.portal.server.kernel.UpgradeMethod.invoke(UpgradeMethod.java:46) at org.jboss.portal.server.kernel.Kernel.start(Kernel.java:382) at org.jboss.portal.server.impl.ServerManagerImpl.deploy(ServerManagerImpl.java:409) at sun.reflect.GeneratedMethodAccessor82.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 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:121) 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:249) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy29.deploy(Unknown Source) at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.create(PortletAppDeployment.java:165) at org.jboss.portal.server.deployment.jboss.ServerDeployer.create(ServerDeployer.java:171) at org.jboss.deployment.MainDeployer.create(MainDeployer.java:918) at org.jboss.deployment.MainDeployer.create(MainDeployer.java:910) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:774) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 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:121) 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:249) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy56.deploy(Unknown Source) at org.jboss.portal.server.deployment.jboss.ServerDeployer.deploy(ServerDeployer.java:255) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80) at org.jboss.mx.server.Invocation.invoke(Invocation.java:72) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy31.deploy(Unknown Source) at org.jboss.portal.server.deployment.WebAppAdapter.deploy(WebAppAdapter.java:49) at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:137) at org.jboss.mx.modelmbean.XMBean.handleNotification(XMBean.java:485) at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:138) at $Proxy38.handleNotification(Unknown Source) at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:112) at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:93) at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:238) at org.jboss.deployment.SubDeployerSupport.start(SubDeployerSupport.java:206) at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:410) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:964) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:775) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:738) at sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 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:121) 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:249) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy8.deploy(Unknown Source) at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:325) at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:483) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:204) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:215) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:194) Caused by: java.lang.ClassCastException: com.xponentsoftware.portlets.im.ControllerPortlet at org.jboss.portal.portlet.PortletContainer.start(PortletContainer.java:133) ... 82 more
Looking through this it really doesn't tell me a great deal about the exception, I've also got very minimal code in this portlet class (I'm only just trying to test my initial attempt at coding a portlet!).
My deployment descriptors looks as follows...
portlet.xml
<portlet-app> <portlet> <portlet-name>jMessengerPortlet</portlet-name> <portlet-class>com.xponentsoftware.portlets.im.ControllerPortlet</portlet-class> <init-param> <name>imPortlet.imServer</name> <value>localhost</value> </init-param> <expiration-cache>3600</expiration-cache> <supports> <mime-type>text/html</mime-type> <portlet-mode>EDIT</portlet-mode> <portlet-mode>HELP</portlet-mode> </supports> <portlet-info> <title>jMessenger</title> </portlet-info> </portlet> </portlet-app>
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <session-config> <session-timeout>30</session-timeout> </session-config> <display-name>jMessenger Portlet</display-name> </web-app>
jboss-app.xml
<jboss-app> <app-name>xmppIMPortlet</app-name> </jboss-app>
jboss-portlet.xml
<portlet-app> <portlet> <portlet-name>jMessengerPortlet</portlet-name> <security></security> </portlet> </portlet-app>
portlet-instances.xml
<instances> <instance> <instance-name>jMessengerInstance</instance-name> <component-ref>jMessengerPortlet</component-ref> </instance> </instances>
jMessenger-pages.xml
<pages> <portal-name>default</portal-name> <page> <page-name>jMessenger</page-name> <window> <window-name>jMessengerPortletWindow</window-name> <instance-ref>xmppIMPortlet.jMessengerPortlet.jMessengerInstance</instance-ref> <default>true</default> <region>center</region> <height>0</height> </window> </page> </pages>
Any help would be greatly appreciated, thanks!