Here's the scenario, I need portal-kernel.jar to be shared between the "portal" classloader, and any other hot deployable wars in Geronimo. This works fine in Tomcat and JBoss, but the behavior is slightly off in Geronimo (I think it's because the Geronimo classloader is actually much more flexible, hence the behavior change).
I've tried using the shared lib directory, and added the correct syntax in geronimo-web.xml, BUT, the portlet WAR actually sees the singles created from portal-kernel.jar as a separate instance. Meaning, it's giving me a copy of the shared lib between the two wars, and not really giving me the same one. We use singletons in portal-kernel to wire info via interfaces from the portal to portlets.
I got around this by deploying the portal as a WAR, then having the portlets "depend" on the portal WAR. That gets around the problem, but it doesn't let me do that if I try to deploy Liferay as an EAR becuase there' isn't the idea of a WEB-INF/lib in the EAR.
I've even tried deploying portal-kernel as a separate CAR, and then having the portal AND the portlets depend on the CAR, but for some reason, I still keep getting copies of the portal-kernel and not really using the same instance.
Chief Software Architect
Enterprise. Open Source. For Life.
Mobile: (626) 806-1190