So this all began in trying to get Coldfusion9 portlets to run under Liferay, just like examples that I ve seen running JBOSS: http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSC00E3E9C-DC24-4488-930D-AEED19172CC5.html
I followed those steps, but my application server would be TomCat 5.5 (bundled w Liferay 5.2.3).
I wanted to create a portlet (just a hello world one to start with) from coldfusion.
Installation of cfusion
went well, I create the WAR
file, and tossed it into the Liferay hot depoly directory, it was copied, and integrated without error into the Liferay install.
I followed the steps from the JBOSS example, and restarted the Liferay server (after copying the .cfc
file into the proper location.
After I started Liferay however I got this error during startup:
21:04:33,648 INFO [PluginPackageUtil:1153] Reloading repositories
21:06:06,510 INFO [PortletHotDeployListener:227] Registering portlets for cfusion
javax.portlet.PortletException: javax.servlet.ServletException: ClassloaderHelper not initialized properly. Call ClassloaderHelper.init
(ServletContext) before using this class
at coldfusion.portlet.ColdFusionPortlet.invokeCFC(ColdFusionPortlet.java:123)
at coldfusion.portlet.ColdFusionPortlet.init(ColdFusionPortlet.java:67)
at com.liferay.portlet.InvokerPortletImpl.init(InvokerPortletImpl.java:250)
at com.liferay.portlet.PortletInstanceFactoryImpl.init(PortletInstanceFactoryImpl.java:245)
at com.liferay.portlet.PortletInstanceFactoryImpl.create(PortletInstanceFactoryImpl.java:135)
at com.liferay.portlet.PortletInstanceFactoryUtil.create(PortletInstanceFactoryUtil.java:47)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.initPortlet(PortletHotDeployListener.java:660)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.doInvokeDeploy(PortletHotDeployListener.java:250)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:127)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._doFireDeployEvent(HotDeployUtil.java:108)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(HotDeployUtil.java:153)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:43)
at com.liferay.portal.kernel.servlet.PortletContextListener.portalInit(PortletContextListener.java:113)
at com.liferay.portal.kernel.util.PortalInitableUtil.init(PortalInitableUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletContextListener.contextInitialized(PortletContextListener.java:109)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:927)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:890)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: javax.servlet.ServletException: ClassloaderHelper not initialized properly. Call ClassloaderHelper.init(ServletContext) befo
re using this class
at coldfusion.bootstrap.ClassloaderHelper.testInit(ClassloaderHelper.java:73)
at coldfusion.bootstrap.ClassloaderHelper.getClassLoader(ClassloaderHelper.java:178)
at coldfusion.portlet.ColdFusionPortlet.invokeCFC(ColdFusionPortlet.java:120)
... 38 more
21:06:07,135 INFO [PortletHotDeployListener:346] 1 portlet for cfusion is available for use
11/16 21:06:07 INFO License Service: Flex 1.5 CF Edition enabled
11/16 21:06:07 INFO Starting Flex 1.5 CF Edition
11/16 21:06:08 Information [main] - C:chicagoliferay-portal-tomcat-5.5-5.2.3 omcat-5.5.27 emp -cfusionWEB-INFcfusionlogsserver
.log initialized
11/16 21:06:08 Information [main] - Starting logging...
11/16 21:06:08 Information [main] - Starting license...
11/16 21:06:09 Information [main] - Invalid ColdFusion 9 license.
Now, just for sh*ts and giggles I tried setting up a portlet on Liferay (the portlet showed up! yay!). However only the title of the portlet would show up, the body was an error message:
The requested resource (/cfusion/ColdFusionPortlet/invoke) is not available
Now I can t seem to find a solution for this... I ve googled, and looked through quite a few documents, and none mention this type of error. Of course Liferay.com community is quiet, no coldfusion talk on the forums there. So I figured I would check with everyone at SO.
Anyone? Thoughts?