WebLogic入門
WebLogic12cをさわってみた。
インストール
■インストール(CUI)
- 環境変数の指定
- MW_HOMEディレクトリのコンフィグレーションスクリプトを実行
- 環境設定スクリプトを実行
- ドメインディレクトリを作成
- ブラウザで管理コンソール(http://localhost:7001/console)へアクセス
-
- 管理コンソールは管理サーバにだけデプロイされる管理用Webアプリケーション
- データソースの作成・管理やデプロイメントなど様々なオペレーションが可能
-
■ドメインディレクトリ構成
- domain:ドメインディレクトリ(ディレクトリ名=ドメイン名)
- autodeploy:自動デプロイメントディレクトリ(開発モード用)
- bin:起動・停止スクリプト
- config:コンフィグレーションディレクトリ(config.xmlが配置される)
- init-info:ドメインの初期化情報
- nodemanager:ノード・マネージャ・ホームディレクトリ
- pending:ペンディングコンフィグレーションストア(編集中のコンフィグレーションの保存先)
- security:セキュリティファイル(ldift、SerializedSystemIni.dat)
- servers:サーバーローカルディレクトリ
- server_name:servers灰化にサーバー毎にディレクトリが作成される
ノード・マネージャ
サーバの起動・停止を行うことができるWebLogic Server付属のユーティリティ。
- Javaベースとスクリプトベースのノード・マネージャが提供される
- 管理サーバ/管理対象サーバ両方を制御可能
- 起動・停止・再起動
- サーバの状態やログファイルを取得可能
- ノード・マネージャを使用して起動したサーバに障害が発生するとサーバを自動的に再起動する
また、ノード・マネージャは複数のサーバを管理することができる。
管理コンソール、WLST(WebLogic Scripting Tool)から使用できる。
■ノード・マネージャの起動
- ノード・マネージャの起動スクリプト/$WL_HOME/server/bin/startNodeManager.sh(.cmd)
- 必要に応じて環境偏すを編集
- NODEMGR_HOME:ノード・マネージャホームディレクトリ(デフォルト:$WL_HOME/common/nodemanager)
- LISTEN_ADDRESS:ノードマネージャのリッスンアドレス
- LISTEN_PORT:ノード・マネージャのリッスンポート
- 必要に応じて環境偏すを編集
- スクリプト版は「$DOMAIN/bin/nodemanager/wlcontrol.sh」
参考:
http://www.slideshare.net/OracleMiddleJP/20121122-wlstudy-wlsadvancehandsout-15381214
WebLogicの起動・停止
WebLogic Serverには以下の2つの動作モードがある。
- 開発モード
- アプリケーションの変更を自動検知
- 管理サーバ起動時の認証が不要
- 管理コンソールでの操作が即時反映
- 管理コンソールなどの内部アプリケーションは初回アクセス時に初めてデプロイ
- 本番モード(プロダクションモード)
- デフォルトでアプリケーションの変更を自動検知しない
- 管理サーバ起動時の認証が必要
- 管理コンソールでの操作はロックを取得してから行い、ロールバック可能
- 管理コンソールなどの内部アプリケーションはデプロイ済の状態
■管理サーバの起動・停止
- 起動
- startWebLogic.cmd
- startWebLogic.sh
- 停止
- stotWebLogic.cmd
- stotWebLogic.sh
■管理対象サーバの起動・停止
- 起動
- 停止
- stotManagedWebLogic.cmd
- stotManagedWebLogic.sh
スクリプトの場所は「■ドメインディレクトリ構成」を参照。
■デプロイメント
デプロイメントには書きの2フェーズがある
参考:
http://www.slideshare.net/OracleMiddleJP/20140527-wlstudy-startjee1handsout
http://www.slideshare.net/OracleMiddleJP/20131113-wls-benkyokaiosaka
ログ
■レベル
TRACE、DEBUG、INFO、NOTICE、WARNING、ERROR、CRITICAL、ALERT、EMERGENCY
■ログ体系
ログは「DOMAIN_NAME\servers\SERVER_NAME\logs」配下にある。
deployment descriptor extension(デプロイメントディスクリプタの拡張)
warの場合
web.xmlの拡張としてweblogic.xmlがあり、WEB-INF配下に配備する。
weblogic.xmlがwarに同梱されていない場合、weblogic.xmlの各要素のデフォルト設定が適用される。
■weblogic.xml
<?xml version="1.0" encoding="UTF-8"?> <weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd"> <security-role-assignment> <role-name>RegisteredUsers</role-name> <principal-name>RegisteredUsers</principal-name> </security-role-assignment> <session-descriptor> <timeout-secs>3600</timeout-secs> <invalidation-interval-secs>60</invalidation-interval-secs> <cookie-name>GalleriaCookie</cookie-name> <cookie-max-age-secs>-1</cookie-max-age-secs> <url-rewriting-enabled>false</url-rewriting-enabled> </session-descriptor> <container-descriptor> <prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor> </weblogic-web-app>
よく使用するのは「prefer-web-inf-classes」で、これをtrueにすると、WebアプリケーションのWEB-INFディレクトリにあるクラスが、アプリケーションまたはシステム・クラスローダー内にロードされたクラスより優先される。
参考:
http://docs.oracle.com/cd/E24329_01/web.1211/e21049/weblogic_xml.htm#WBAPP571
http://docs.oracle.com/cd/E28613_01/web.1211/b65890/weblogic_xml.htm
http://danielveselka.blogspot.jp/2013/02/weblogic-12c-java-ee-6-decriptors.html
http://begirama.hatenablog.com/entry/2014/03/29/130017
earの場合
application.xmlの拡張としてweblogic-application.xmlがあり、META-INF配下に配備する。
weblogic-application.xmlがearに同梱されていない場合、weblogic-application.xmlの各要素のデフォルト設定が適用される。
■weblogic-application.xml
<?xml version='1.0' encoding='UTF-8'?> <weblogic-application xmlns="http://xmlns.oracle.com/weblogic/weblogic-application" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-application/1.4/weblogic-application.xsd"> <prefer-application-packages> <package-name>antlr.*</package-name> </prefer-application-packages> </weblogic-application>
参考:
http://docs.oracle.com/cd/E24329_01/web.1211/e24368/app_xml.htm#WLPRG389
http://otndnld.oracle.co.jp/document/products/wls/docs92/programming/app_xml.html
http://danielveselka.blogspot.jp/2013/02/weblogic-12c-java-ee-6-decriptors.html