SJSAS9とApache Web Serverの連携

Webコンテナーのエラーページや、Exception Messageを見たところ、SJSASのWebコンテナーはTomcatであることが明らかだが、初期設定状態では AJP は Listen しておらず、mod_proxy_ajp などを使ったApacheとの連携ができない('netstat -an' としてもポート 8009 が開いていない)。

HTTP Connector につなげるかとあきらめていたが、ここを見る限り、SJSASのCluster化など将来の拡張性を考えると ajp で接続できないのは不満だ。

なんとかならないかと、マニュアルなど方々を探し回った結果、開発者(?!)のBlogに記事があるのを発見した。
該当のブログはこちら => http://weblogs.java.net/blog/amyroh/archive/2006/08/glassfish_suppo.html

簡単な手順

必要JARの入手と配置
  1. Tomcat をダウンロードし ${CATALINA_HOME}/server/lib/tomcat-ajp.jar を ${GLASSFISH_HOME}/lib/ 以下にコピー
  2. Jakarta Commons logging をダウンロードし、 commons-logging-x.y.jar を ${GLASSFISH_HOME}/lib/ 以下にコピー
  3. Jakarta Commons Modeler をダウンロードし、 commons-modeler-x.y.jar を ${GLASSFISH_HOME}/lib/ 以下にコピー

ちなみにこちらでは、Tomcat5.5.23/Commons-logging1.1/Commons-Modeler2.0 を入手。

SJSASの構成
  1. SJSASを起動し以下コマンドを実行
${GLASSFISH_HOME}/bin/asadmin create-jvm-options -Dcom.sun.enterprise.web.connector.enableJK=8009

こちらでは紹介したBlogの手順(4)、(5)は実施してません(glassfish-jk.properties の作成のところ)。
上記の手順で、Apache2.2のmod_proxy_ajpを使ってWebコンテナーへの連携が確認できました。