Jetspeed2 を JBoss 上で動かすための最新のやり方がどこかにあるか知らないけど、メモがてら、やり方をまとめておく。クラスローダーまわりでちょっと問題があるので、Jetspeed のロギングの初期化を抜いたりした。Jetspeed2 の場合は、palportal の部分は、jetspeed に置き換える。../PALPortal には、PALポータルの Tomcat 版(普通のバイナリ)をインストールしておく。
$ cd /tmp $ unzip /tmp/jboss-4.0.5.GA.zip $ cd jboss-4.0.5.GA/ $ cp -r ../PALPortal/webapps/palportal/ server/default/deploy/palportal.war $ cp ../PALPortal/shared/lib/*.jar server/default/lib/ $ cp -r ../PALPortal/database/ . $ vi server/default/deploy/palportal-ds.xml <datasources> <local-tx-datasource> <jndi-name>/JetspeedDS</jndi-name> <connection-url>jdbc:derby:/tmp/jboss-4.0.5.GA/database/derby/productiondb;create=true</connection-url> <driver-class>org.apache.derby.jdbc.EmbeddedDriver</driver-class> <user-name></user-name> <password></password> <min-pool-size>5</min-pool-size> <max-pool-size>20</max-pool-size> <idle-timeout-minutes>0</idle-timeout-minutes> </local-tx-datasource> </datasources> $ vi ./server/default/deploy/palportal.war/WEB-INF/assembly/deployment.xml <!-- <bean id="org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager" class="org.apache.jetspeed.tools.pamanager.servletcontainer.TomcatManager" init-method="start" destroy-method="stop" > <constructor-arg index="0"><value>${autodeployment.catalina.base}</value></constructor-arg> <constructor-arg index="1"><value>${autodeployment.catalina.engine}</value></constructor-arg> <constructor-arg index="2"><value>${autodeployment.server}</value></constructor-arg> <constructor-arg index="3"><value>${autodeployment.port}</value></constructor-arg> <constructor-arg index="4"><value>${autodeployment.user}</value></constructor-arg> <constructor-arg index="5"><value>${autodeployment.password}</value></constructor-arg> </bean> --> <bean id="org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager" class="org.apache.jetspeed.tools.pamanager.servletcontainer.JBossManager" init-method="start" /> $ rm server/default/deploy/palportal.war/WEB-INF/lib/commons-logging-*.jar $ rm server/default/deploy/palportal.war/WEB-INF/lib/log4j-*.jar $ vi server/default/deploy/palportal.war/WEB-INF/web.xml <!-- <listener> <listener-class>org.apache.jetspeed.webapp.logging.Log4JConfigurator</listener-class> </listener> --> $ vi server/default/deploy/palportal.war/WEB-INF/jboss-web.xml <?xml version="1.0" encoding="UTF-8"?> <jboss-web> <class-loading> <loader-repository java2ClassLoadingCompliance="false"> org.apache.jetspeed:loader=palportal.war<loader-repository-config>java2ParentDelegation=false</loader-repository-config> </loader-repository> </class-loading> <security-domain flushOnSessionInvalidation="true">java:/jaas/Jetspeed</security-domain> <resource-ref> <res-ref-name>jdbc/jetspeed</res-ref-name> <res-type>javax.sql.DataSource</res-type> <jndi-name>java:/JetspeedDS</jndi-name> </resource-ref> </jboss-web> $ vi server/default/conf/login-config.xml <application-policy name="Jetspeed"> <authentication> <login-module code="org.apache.jetspeed.security.impl.ext.JBossLoginModule" flag="required"> <module-option name="unauthenticatedIdentity">guest</module-option> </login-module> </authentication> </application-policy> $ pushd server/default/deploy/palportal.war/WEB-INF/deploy/ $ for warfile in `find . -type f|grep war`; do tfile=`zipnote $warfile|grep commons-logging|sed -e "s/@ //"`;if [ ! x$tfile = "x" ] ; then zip -d $warfile $tfile; fi; done $ for warfile in `find . -type f|grep war`; do tfile=`zipnote $warfile|grep log4j|sed -e "s/@ //"`;if [ ! x$tfile = "x" ] ; then zip -d $warfile $tfile; fi; done $ popd $ ./bin/run.sh
PALポータルとしては、pal-admin が XML パーサ問題(Teedaでよくある URL の amp; の話)で動かないので、pal-admin を修正しておく予定。基本的には、普通に動いていると思う。今度は、4.2系で試してみるか。