この記事では、Weblogicを使用してLiferay Portalでセッションレプリケーションをセットアップする方法を概説します。
解決策
- Liferay Portal
.war
を解凍エディターで開く。 - 次のファイルへ行きます:
/WEB-INF/weblogic.xml
- セクションにこのコードを追加します。
<session-descriptor> <persistent-store-type>async-replicated-if-clustered</persistent-store-type>
-
weblogic.xml
ファイルは、Weblogic 10.3.6 以降では、次のようになります:<xml version="1.0"?> <weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd"> <jsp-descriptor><keepgenerated>true</keepgenerated><page-check-seconds>60</page-check-seconds><precompile>true</precompile><precompile-continue>true</precompile-continue> </jsp-descriptor> <container-descriptor> <prefer-application-packages>package-name>org.mozilla.* </prefer-application-packages> <optimistic-serialization>true</optimistic-serialization> <show-archived-real-path-enabled>true</show-archived-real-path-enabled> </container-descriptor> <session-descriptor> <persistent-store-type>async-replicated-if-clustered</persistent-store-type> </session-descriptor> <context-root>/</context-root> </weblogic-web-app>
- ファイルを保存します。
- War を Weblogic Application Server にデプロイします。
- 各ノードについて、この手順を繰り返します。
Weblogic 10.3.2以前を使用している場合、Liferay Portal は prefer-application-packages
の代わりに prefer-web-inf-classes
を使用しなければなりません。
利用者は、ポータル.war
をアプリケーションサーバにデプロイする前に、以下の追加のステップに従わなければなりません。
-
weblogic.xml
ファイルのセクションで、prefer-application-packages
を以下に置き換えます:<prefer-web-inf-classes>true
-
WEB-INF/lib
にある以下の jar を削除してください:jaxrpc.jar
stax.jar
wstx.jar
xml-apis.jar
- 修正したwarをアプリケーションサーバーにデプロイします。
- 各ノードについて、この手順を繰り返します。
ロードバランシング
理想的には、クラスターはロードバランサーで最適化するのがベストです。 ただし、ロードバランサーの設定は本記事やLiferay Supportの管轄外です。 ロードバランサーに関する資料は、ApacheなどのWebサーバーのベンダーから入手することができます。