[ http://issues.apache.org/jira/browse/JS2-210?page=history ] Ate Douma resolved JS2-210: ---------------------------
Resolution: Fixed Fix Version: 2.0-dev/cvs 2.0-M2 Its done. The branch is merged with CVS HEAD. For JBoss support I have updated (and simplyfied) instructions: build jetspeed-2 for Tomcat (5 or 5.5) with: maven allClean allBuild quickStart copy the contents of $TOMCAT_HOME/webapps/jetspeed into $JBOSS/server/default/deploy/jetspeed.war. remove commons-logging-<version>.jar and log4j-<version>.jar from jetspeed.war/lib copy the contents of $TOMCAT/shared/lib into $JBOSS/server/default/lib (presuming $TOMCAT/shared/lib was empty before building). check $JBOSS/server/default/deploy/jbossweb-tomcat50.sar/server.xml: - element DefaultContext attribute crossContext="true" (which is the default) change $JBOSS/server/default/deploy/jbossweb-tomcat50.sar/META-INF/jboss-service.xml: - <atttribute name="Java2ClassLoadingCompliance">false</attribute> - <attribute name="UseJBossWebLoader">false</attribute> change $JBOSS/server/default/deploy/jetspeed.war/WEB-INF/assembly/jetspeed-spring.xml: - comment out entry "ApplicationServerManager" from bean with id "PortalServices" - comment out bean with id "org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager" - change constructor-arg index="4" value to "true" for bean with id "portletAppDeploymentListener" This will strip commons-logging and log4j jars from the war file on deployment as required on JBoss copy jetspeed-ds.xml (or an adapted version like jetspeed-mysql-ds.xml) from the jetspeed-2 src folder portal/src/resource into $JBOSS/server/default/deploy. copy your jdbc-driver (as configured in jetspeed-ds.xml) to $JBOSS/server/default/lib If you use using the example hdsqldb setup of Jetspeed-2: - remove $JBOSS/server/default/lib/hsqldb.jar - *move* the hsqldb<-version>.jar from $JBOSS/server/default/default/jetspeed.war/WEB-INF/lib into $JBOSS/server/default/lib add *the contents* of jboss-login-config.xml from the jetspeed-2 src folder portal/src/resource to $JBOSS/server/default/conf/login-config.xml > Resolving all deployment classloader problems > --------------------------------------------- > > Key: JS2-210 > URL: http://issues.apache.org/jira/browse/JS2-210 > Project: Jetspeed 2 > Type: Improvement > Components: Container, Deployment, Portlet Factory > Versions: 2.0-dev/cvs, 2.0-M2, 2.0-FINAL > Reporter: Ate Douma > Assignee: Ate Douma > Fix For: 2.0-dev/cvs, 2.0-M2 > > The current implementation of handling deployment, redeployment and > undeployment of Portlet Applications (PAs) contains > several workarounds to prevent file locking of jars and classes on Windows > and to allow layout portlets to run under > the Jetspeed-2 context. > After almost a day debugging and testing I found the real cause of all the > problems we try to fix: > our own URLClassLoaders we create to be able to access the portlet and > portlet resource bundles in the PA. > As a test, I replaced our own URLClassLoaders with the contextClassLoader > from the PA, retrieved during the init > of the JetspeedServletContainer. And viola, no more problem! > I'm going to drastically refactor the whole deployment implementation to be > able to *only* use the PA contextClassLoaders. > The autodeployment from the deploy folder will be changed to infuse the PA > war (if needed) and *move* it to the webapps > folder so the autodeployment of the application server will handle the real > deployment. > Thus: the undeployment from the deploy folder for PAs will be gone! > Redeployment will still work as expected though. > For undeployment, an new undeployment feature in the PAM Portlet will be > added. > Additionally, other PA management features like upload/start/stop/reload/ > should be added soon too. We need a separate > issue for that though. > Decorators (and soon layouts too) will still be handled as is done right now > (they don't involve classloaders). > For deployment of layout portlets I want to make the following changes: > - must be deployed as jar, *not* as war > - can *only* contain classes, no resources > - resources required by a layout portlet must be deployed separately with a > decorators or layouts jar > - will *not* be deployed as web app but the jar *will* be loaded with a > URLClassloader with the portal classloader > as parent: the portlets will be invoked through a JetspeedContainerServlet > from the portal itself. > These changes will also fix the outstanding problem with running Jetspeed-2 > under a different context! > (see JS2-172 and JS2-182) > I'm going to need several days to perform this refactoring so if anyone has > problems with this plan please do comment within the next few days! -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]