[
トップ
] [
新規
|
一覧
|
最終更新
|
ヘルプ
]
AND
OR
開始行:
*[[WebApp]]/Weblogic [#v1c12059]
#contents
**インストール [#r6655454]
ドメイン名 :base_domain~
管理サーバ :admin~
管理対象サーバ:srv1~
-- 32bit OS ではDownLoadしたバイナリを実行すれば良い
WebLogic10.3.6-linux32.bin
を実行することで、GUIのインストーラーが起動する。64bitの...
-- 64bit OS で インストールするには Java JDK(HotSpot版/ ...
rpm -ivh jdk-7u79-linux-x64.rpm
/usr/java/jdk1.7.0_79/jre/bin/java -d64 -jar fmw_12.1.3....
以降の手順は 10.3.6 インストールした時の手順。(最新版も...
***ディレクトリ構成 [#x9e4a3af]
|BGCOLOR(#f0f8ff):''ディレクトリ''|BGCOLOR(#f0f8ff):''パ...
|BEA_HOME|/u01/oracle|
|WLS_HOME|/u01/oracle/wlserver_10.3|
|DOMAIN_HOME|/u01/oracle/user_projects/domains/base_domain|
***ツール [#bea295a3]
ドメイン作成
/u01/oracle/wlserver_10.3/common/bin/config.sh [-mode=co...
管理サーバー起動
/u01/oracle/user_projects/domains/base_domain/startWebLo...
管理対象サーバ起動
/u01/oracle/user_projects/domains/base_domain/bin/
startManagedWebLogic.sh srv1 t3://localhost:7001/
ノードマネージャ起動
/u01/oracle/wlserver_10.3/server/bin/startNodeManager.sh...
アンインストール
/u01/oracle/utils/uninstall/uninstall.sh
***起動時のパスワード入力をやめる [#oa573bab]
cd /u01/oracle/user_projects/domains/base_domain/servers...
mkdir security
cd security
touch boot.properties
-------------------
username=ユーザー名
password=パスワード
-------------------
***WLDFコンソール拡張 [#ab743658]
以下の2つのファイルを $DOMAIN_HOME/console-ext ディレクト...
-$WL_HOME/console-ext/diagnostics-console-extension.jar~
-$WL_HOME/console-ext/diagnostics-console-extension-l10n....
***WEBGUIログイン [#be10e3d6]
http://<IPアドレス>:7001/console/login/LoginForm.jsp
~
#br
**デプロイのサンプル [#b29d8c1c]
アプリのデプロイ先は、/u01/oracle/user_projects/domains/b...
***ファイル構成 [#m1d09f28]
mainWeb
mainWeb/WEB-INF
mainWeb/WEB-INF/web.xml
mainWeb/WEB-INF/classes
mainWeb/WEB-INF/classes/HelloWorld.java
mainWeb/WEB-INF/classes/HelloWorld.class
***HelloWorld.class [#h41f68c5]
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloWorld extends HttpServlet{
public void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello World</h1>");
out.println("</body>");
out.println("</html>");
out.close();
}
}
***web.xml [#i81fb8fa]
<web-app xmlns="http://java.sun.com/xml/ns/j2ee">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
***ブラウザからのアクセス [#cff04fc4]
http://<IPアドレス>:<ポート番号>/mainWeb/HelloWorld
~
#br
**ノードマネージャ [#w3c38e83]
ノードマネージャ管理者ガイド v10.3~
http://otndnld.oracle.co.jp/document/products/wls/docs103...
***ノードマネージャ作成 [#h7f1cf8d]
-管理画面の [環境] - [マシン] から 新規に作成する~
タイプは「SSL」~
~
-管理画面の [環境] - [サーバー] を表示~
[構成] - [全般]タブで「SSL」を有効化する。ポート番号は、...
***ノードマネージャ起動 [#x4dd87a7]
/u01/oracle/wlserver_10.3/server/bin/startNodeManager.sh...
[マシン] - [マシン名クリック] - [監視] - [ノード・マネー...
***管理対象サーバーの設定 [#we1051c9]
-管理画面の [環境] - [サーバー] を表示~
[構成] - [サーバー起動]タブに適切な値を入力する。~
設定例
Javaホーム :/u01/oracle/jdk160_29
Javaベンダ :Sun
BEAホーム :/u01/oracle
クラス・パス :起動スクリプト実行時の"CLASSPATH="で...
引数 :JAVA_OPTIONS= で指定した値(-Xmx=512...
ポリシー・ファイル:起動スクリプト実行時の"-Djava.securi...
***設定ファイル/ログ [#g8b24201]
/u01/oracle/wlserver_10.3/common/nodemanager/
|BGCOLOR(#f0f8ff):''ファイル名''|BGCOLOR(#f0f8ff):''説明''|
|nodemanager.domains|ノードマネージャによって管理されるド...
|nodemanager.properties|Javaベースのノードマネージャ設定...
|nodemanager.log|ノードマネージャのログ|
~
#br
**JDBCデータソース [#b9b066f9]
DBとのコネクションプールを作成しておくことが可能。~
-左ペインから[サービス] - [JDBC] - [データ・ソース] を選択~
-[新規作成] - [汎用データ・ソース] を選択~
-データ・ソースの情報を入力し「次」へ
|BGCOLOR(#f0f8ff):''項目''|BGCOLOR(#f0f8ff):''内容''|BGCO...
|名前|データ・ソース名(コンフィグのファイル名にもなる)|...
|JNDI名|JNDIツリーへのバインド名|jdbc/test|
|データベースのタイプ|データベースのタイプを選択|Oracle|
|データベースドライバ|データベースドライバを選択|*Oracle'...
-トランザクションオプションを選択~
-データベース接続のプロパティを設定~
-実行対象となるサーバを選択し「終了」~
-左ペインの「変更のアクティブ化」を押下~
-作成したデータ・ソースを選択し [監視] - [テスト]~
-サーバを選択し [データ・ソースのテスト] を押下し「テスト...
***コーディングサンプル [#w3435046]
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.sql.DataSource;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DataSourceTest extends HttpServlet{
private InitialContext ic;
@Override
public void service(HttpServletRequest request, Http...
Connection conn = null;
Statement stmt = null;
ResultSet rset = null;
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head></head>");
out.println("<body>");
try {
this.ic = new InitialContext();
String sql = "select empno, ename from emp";
DataSource ds = (DataSource)ic.lookup("jdbc/...
conn = ds.getConnection(); // ...
stmt = conn.createStatement(); //...
rset = stmt.executeQuery(sql); //...
// 結果セットの表示
while ( rset.next() ) {
out.println(rset.getInt(1) + "," + rset....
}
} catch (NamingException ex) {
Logger.getLogger(DataSourceTest.class.getNam...
} catch (SQLException ex) {
Logger.getLogger(DataSourceTest.class.getNam...
} finally {
try {
if(rset != null){rset.close();} // 結果...
if(stmt != null){stmt.close();} // Stat...
if(conn != null){conn.close();} // コネ...
} catch (SQLException ex) {
Logger.getLogger(DataSourceTest.class.ge...
}
}
out.println("</body>");
out.println("</html>");
out.close();
}
}
~
#br
**JRockit [#i3b2c18a]
サーバーサイドJavaアプリケーションを高速かつ安定して動作...
コンパイラ方式はJIT(Just-In-Time方式)を採用。(プログラ...
~
#br
**GCログの取得 [#ge0c6348]
startWebLogic.sh などの起動スクリプト内にある JAVA_OPTION...
JAVA_OPTIONS="${JAVA_OPTIONS} <オプション>"
|BGCOLOR(#f0f8ff):''オプション''|BGCOLOR(#f0f8ff):''説明''|
|-Xverbose:gc|GCログを出力する|
|-XverboseTimeStamp|タイムスタンプを出力する|
|-XverboseLog:<ファイル名>|ログの出力ファイル名(フルパス...
|-XX:+HeapDumpOnOutOfMemoryError|OutOfMemoryの際にヒープ...
|-XX:HeapDumpPath=<出力先ディレクトリ>|ヒープダンプの出力...
-GCモードの詳細は[[JRockitコマンドライン・リファレンス -X...
-XXオプションの詳細は[[JRockitコマンドライン・リファレン...
-ログの詳細は[[JRockit JDKツール・ガイド - 冗長出力の概要...
***jstatコマンド [#q6ae97c9]
ヒープサイズの使用率や、GC回数や、実行時間の確認。~
$JROCKIT_HOME/bin/jstat -gc <PID> <間隔>s [回数]
ex) jstat -gc 12455 10s 60
~
#br
**jrcmdコマンド [#k0f93a0a]
$JROCKIT_HOME/bin/jrcmd <PID> [コマンド] [パラメータ]
$JROCKIT_HOME/bin/jrcmd <PID> help [コマンド]
引数なしで実行するとローカルマシンで動作している全てのPID...
PIDに 0 を指定すると、動作している全てのPIDに対してコマン...
診断コマンドの詳細は[[こちら>http://docs.oracle.com/cd/E2...
|BGCOLOR(#f0f8ff):''コマンド''|BGCOLOR(#f0f8ff):''説明''|
|print_threads|スレッドダンプ出力|
|print_object_summary|ヒープ領域に存在するオブジェクトに...
|print_memusage|メモリサイズと利用状況を確認|
|set_filename|各コマンドの出力結果を指定したファイルに出力|
|start_management_server|管理ポートを開き、Jrockit Manage...
|kill_management_server|管理ポートを閉じる|
|start_flightrecording|JFR(JRockit Flight Recorder)の記...
|stop_flightrecording|JFR(JRockit Flight Recorder)の記...
|check_flightrecording|実行中のJFRをチェックする。id や n...
|dump_flightrecording|実行中のJFRのDUMPを出力する|
|jrarecording|JRA(JRockit Runtime Analyzer)の記録開始|
|run_optfile|ポリシーファイルを読み込み、ポリシーファイル...
|heap_diagnostics|ヒープ診断ユーティリティ起動|
|hprofdump|ヒープダンプを取得|
|print_class_summary|JRockitがロードしている全てのクラス...
|verbosity|冗長ログの出力設定を行う|
|help|実行可能なコマンドの一覧を表示|
スレッドダンプは取得した瞬間のスナップショット~
|BGCOLOR(#f0f8ff):''ステータス''|BGCOLOR(#f0f8ff):''説明''|
|ACTIVE|リクエスト実行中か、すぐに実行できる状態|
|STANDBY|アクティブなスレッドプールから削除されていて、リ...
|STUCK|リクエストを実行中だが、600秒経過しても終了しない...
***start_flightrecording の settingsパラメータ [#t41a4cb8]
|BGCOLOR(#f0f8ff):''テンプレート名''|BGCOLOR(#f0f8ff):''...
|code|詳細なコンパイラ・ログを有効にするための追加の設定|
|default|非常に低いパフォーマンス・オーバーヘッド用にチュ...
|freemem|メモリー不足および断片化の問題をデバッグする追加...
|full|すべてのサブシステムのすべてのイベントの収集が有効...
|io|Java I/Oの詳細ログを有効にする追加の設定|
|leak|メモリー・リークのデバッグ用の追加の設定|
|locks|同期の詳細なログを有効にするための追加の設定|
|memory|GC/メモリー管理の詳細なログを有効にするための追加...
|off|すべてのサブシステムのすべてのイベントを無効にします|
|profile|プロファイリング記録の作成に推奨される設定。情報...
|sample|コードのホットスポット・サンプリングを有効にする...
|semirefs|java.lang.ref.Reference objectsとそのサブクラス...
***実行例 [#e86c8fb8]
-メモリーテンプレートで5分間、JFR記録開始
jrcmd <PID> start_flightrecording duration=5m settings=m...
-JFRの取得
jrcmd <PID> dump_flightrecording recording="0" copy_to_...
-JFRの記録を停止
jrcmd <PID> stop_flightrecording id="4"
-起動時にJFRのテンプレートを適用
startWebLogic.sh 内の JAVA_OPTIONS に 以下のパラメータを...
-XX:FlightRecorderOptions=defaultrecording=true,settings...
|BGCOLOR(#f0f8ff):''パラメータ''|BGCOLOR(#f0f8ff):''説明''|
|-XX:[+-]FlightRecorder|JFRの記録を有効(+)または無効(-)に...
|-XX:FlightRecorderOptions|JFRのパラメータを指定する。,区...
|BGCOLOR(#f0f8ff):''JFRのパラメータ''|BGCOLOR(#f0f8ff):''...
|defaultrecording|バックグラウンドの記録、有効/無効|
|disk|JFRをDISKに書き込むか|
|maxage|DISKに記録する最大期間(分)、disk書き込みが有効...
|settings|JFRの記録ロケーション(default、memoryなど)を...
**JFR [#g5ba8fde]
***[[JRockit Mission Control>http://www.oracle.com/techne...
グラフィカルにJFRの解析を可能にするツール。~
元々はJRockit用のツールだったが、 Java 7 Update 40 から、...
-- 事前にヒープメモリを確保して起動する(容量大きいJFR読...
jrmc.exe -J-Xmx4g -J-Xms4g
※ 起動したら、ファイルからJFRを読み込む。4g指定は、64bit...
***確認項目 [#x99c0cbe]
|BGCOLOR(#f0f8ff):CENTER:''左メニュー''|BGCOLOR(#f0f8ff):...
|全般|概要|メモリ使用率やCPU使用率など全体統計|
|~|システム|JRockitやOSの環境情報|
|メモリ|概要|メモリ使用率の統計グラフ|
|~|GC全般|GC処理の統計|
|~|GCグラフ|GC休止時間やGC理由など|
|~|割り当て|メモリ割り当てが大きいクラスや、サイズ順にソ...
|~|ヒープ内容|ヒープ使用量と断片化状況|
|~|オブジェクト統計|クラスタにで格納されているオブジェク...
|コード|概要|頻繁に呼ばれているメソッドに該当するクラスと...
|~|ホット・メソッド|頻繁に使用されているメソッド|
|~|例外|発生した例外|
|~|コード生成|JITコンパイルや指摘かのコンパイル対象となっ...
|CPU/&br;スレッド数|概要|CPU使用率とスレッド数の統計|
|~|競合|ロック競合の統計|
|~|ホット・メソッド|頻繁に使用されているメソッド|
|~|待機時間|待機の種類とスタック|
|~|ロックプロファイリング|Javaレベルのロック競合などの統計|
|イベント|概要|JFR記録で取得されたイベント|
|~|ログ|各イベントの詳細情報|
|~|グラフ|スレッド単位でのイベント発生する時間をグラフ形...
|~|スレッド|スレッド別のイベント数|
|~|トレース|イベントが発生した処理スタック|
|~|ヒストグラム|任意項目別でのイベント数|
#br
**WLST(WebLogic Server Scripting Tool) [#r7b5f400]
java -cp クラスパスを指定 weblogic.WLST
wls:/offline> プロンプトになるので各種コマンド実行
~
#br
**Webサーバープラグイン [#ocba77fb]
***モジュールのコピー [#z0b26f44]
以下どちらかのpluginを、/etc/httpd/modules にコピーする
$WLS_HOME/server/plugin/linux/`uname -m`/mod_wl_22.so ...
$WLS_HOME/server/plugin/linux/`uname -m`/mod_wl128_22.so...
***httpd.conf の書き換え [#q81b22a0]
# モジュールを読み込む
LoadModule mod_wl_22.so modules/mod_wl_22.so
# 転送するWebLogicサーバの情報
<IfModule mod_weblogic.c>
WebLogicHost wls.com
WebLogicPort 7002
</IfModule>
# 転送するWebLogicサーバ(クラスターの場合)
<IfModule mod_weblogic.c>
WebLogicCluster wls1.com:7002,wls2.com:7002,wls3.com:7...
</IfModule>
# URLパターンでの転送
<Location /weblogic>
SetHandler weblogic-handler
PathTrim /webapps
</Location>
# MIMEタイプでの転送
<IfModule mod_weblogic.c>
WebLogicHost wls.com
WebLogicPort 7002
MatchExpression *.do
</IfModule>
# MIMEタイプでの転送(複数パターン)
<IfModule mod_weblogic.c>
MatchExpression *.do WebLogicHost=wls1.com|ebLogicPort...
MatchExpression *.jsp WebLogicHost=wls2.com|ebLogicPor...
MatchExpression /webapps/*.do WebLogicHost=wls3.com|eb...
MatchExpression * WebLogicCluster=wls1.com:7002,wls2.c...
</IfModule>
|BGCOLOR(#f0f8ff):''パラメータ''|BGCOLOR(#f0f8ff):''説明''|
|PathTrim|指定したURL(正規表現可)を転送の時に削除する。...
|PathPrepend|指定したURL(正規表現可)を転送の時に追加す...
~
#br
**サーバーのライフサイクル [#z574a830]
|BGCOLOR(#f0f8ff):''状態''|BGCOLOR(#f0f8ff):''説明''|
|SHUTDOWN|サーバー停止状態|
|STANDBY|起動する為の初期化が完了し、起動するのを待ってる...
|ADMIN|管理ユーザーからのリクエストのみ受け付ける状態&br;...
|RUNNING|正常起動状態。ADMIN状態の時に「再開」の操作で移...
|FAILED|障害を検知した状態。自動的にADMINまたはSHUTDOWNに...
~
#br
**トラブルシューティング [#v702b0a0]
***ログ [#ge45ad11]
$DOMAIN_HOME/<ドメイン名>/servers/<サーバ名>/logs/
/u01/oracle/user_projects/domains/base_domain/servers/ad...
|BGCOLOR(#f0f8ff):''ログ''|BGCOLOR(#f0f8ff):''説明''|
|サーバーログ&br;<サーバ名>.log|Weblogicの動作ログ。各サ...
|ドメインログ&br;<ドメイン名>.log|管理サーバのログフォル...
|コンソールログ|JavaVMが出力するログ。(Weblogicサーバを...
|HTTPアクセスログ&br;access.log|Weblogicへのアクセスログ...
-access.logをリアルタイム出力させる方法~
config.xml の <web-server-log>要素に <buffer-size-kb> を ...
<server>
<name>srv1</name>
<listen-port>7002</listen-port>
<web-server>
<web-server-log>
<buffer-size-kb>0</buffer-size-kb> ★バッファーを...
<elf-fields>date time cs-method cs-uri sc-status t...
<log-file-format>extended</log-file-format>
</web-server-log>
</web-server>
~
***CLASSPATH確認方法 [#jd17ebb0]
java.lang.NoClassDefFoundError の後に出力されたクラスは、...
そのクラスへのパスが通っているか確認する必要がある為、CLA...
サーバーログ内のWebLogic起動時に出力される<BEA-141187> <J...
~
#br
終了行:
*[[WebApp]]/Weblogic [#v1c12059]
#contents
**インストール [#r6655454]
ドメイン名 :base_domain~
管理サーバ :admin~
管理対象サーバ:srv1~
-- 32bit OS ではDownLoadしたバイナリを実行すれば良い
WebLogic10.3.6-linux32.bin
を実行することで、GUIのインストーラーが起動する。64bitの...
-- 64bit OS で インストールするには Java JDK(HotSpot版/ ...
rpm -ivh jdk-7u79-linux-x64.rpm
/usr/java/jdk1.7.0_79/jre/bin/java -d64 -jar fmw_12.1.3....
以降の手順は 10.3.6 インストールした時の手順。(最新版も...
***ディレクトリ構成 [#x9e4a3af]
|BGCOLOR(#f0f8ff):''ディレクトリ''|BGCOLOR(#f0f8ff):''パ...
|BEA_HOME|/u01/oracle|
|WLS_HOME|/u01/oracle/wlserver_10.3|
|DOMAIN_HOME|/u01/oracle/user_projects/domains/base_domain|
***ツール [#bea295a3]
ドメイン作成
/u01/oracle/wlserver_10.3/common/bin/config.sh [-mode=co...
管理サーバー起動
/u01/oracle/user_projects/domains/base_domain/startWebLo...
管理対象サーバ起動
/u01/oracle/user_projects/domains/base_domain/bin/
startManagedWebLogic.sh srv1 t3://localhost:7001/
ノードマネージャ起動
/u01/oracle/wlserver_10.3/server/bin/startNodeManager.sh...
アンインストール
/u01/oracle/utils/uninstall/uninstall.sh
***起動時のパスワード入力をやめる [#oa573bab]
cd /u01/oracle/user_projects/domains/base_domain/servers...
mkdir security
cd security
touch boot.properties
-------------------
username=ユーザー名
password=パスワード
-------------------
***WLDFコンソール拡張 [#ab743658]
以下の2つのファイルを $DOMAIN_HOME/console-ext ディレクト...
-$WL_HOME/console-ext/diagnostics-console-extension.jar~
-$WL_HOME/console-ext/diagnostics-console-extension-l10n....
***WEBGUIログイン [#be10e3d6]
http://<IPアドレス>:7001/console/login/LoginForm.jsp
~
#br
**デプロイのサンプル [#b29d8c1c]
アプリのデプロイ先は、/u01/oracle/user_projects/domains/b...
***ファイル構成 [#m1d09f28]
mainWeb
mainWeb/WEB-INF
mainWeb/WEB-INF/web.xml
mainWeb/WEB-INF/classes
mainWeb/WEB-INF/classes/HelloWorld.java
mainWeb/WEB-INF/classes/HelloWorld.class
***HelloWorld.class [#h41f68c5]
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloWorld extends HttpServlet{
public void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello World</h1>");
out.println("</body>");
out.println("</html>");
out.close();
}
}
***web.xml [#i81fb8fa]
<web-app xmlns="http://java.sun.com/xml/ns/j2ee">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
***ブラウザからのアクセス [#cff04fc4]
http://<IPアドレス>:<ポート番号>/mainWeb/HelloWorld
~
#br
**ノードマネージャ [#w3c38e83]
ノードマネージャ管理者ガイド v10.3~
http://otndnld.oracle.co.jp/document/products/wls/docs103...
***ノードマネージャ作成 [#h7f1cf8d]
-管理画面の [環境] - [マシン] から 新規に作成する~
タイプは「SSL」~
~
-管理画面の [環境] - [サーバー] を表示~
[構成] - [全般]タブで「SSL」を有効化する。ポート番号は、...
***ノードマネージャ起動 [#x4dd87a7]
/u01/oracle/wlserver_10.3/server/bin/startNodeManager.sh...
[マシン] - [マシン名クリック] - [監視] - [ノード・マネー...
***管理対象サーバーの設定 [#we1051c9]
-管理画面の [環境] - [サーバー] を表示~
[構成] - [サーバー起動]タブに適切な値を入力する。~
設定例
Javaホーム :/u01/oracle/jdk160_29
Javaベンダ :Sun
BEAホーム :/u01/oracle
クラス・パス :起動スクリプト実行時の"CLASSPATH="で...
引数 :JAVA_OPTIONS= で指定した値(-Xmx=512...
ポリシー・ファイル:起動スクリプト実行時の"-Djava.securi...
***設定ファイル/ログ [#g8b24201]
/u01/oracle/wlserver_10.3/common/nodemanager/
|BGCOLOR(#f0f8ff):''ファイル名''|BGCOLOR(#f0f8ff):''説明''|
|nodemanager.domains|ノードマネージャによって管理されるド...
|nodemanager.properties|Javaベースのノードマネージャ設定...
|nodemanager.log|ノードマネージャのログ|
~
#br
**JDBCデータソース [#b9b066f9]
DBとのコネクションプールを作成しておくことが可能。~
-左ペインから[サービス] - [JDBC] - [データ・ソース] を選択~
-[新規作成] - [汎用データ・ソース] を選択~
-データ・ソースの情報を入力し「次」へ
|BGCOLOR(#f0f8ff):''項目''|BGCOLOR(#f0f8ff):''内容''|BGCO...
|名前|データ・ソース名(コンフィグのファイル名にもなる)|...
|JNDI名|JNDIツリーへのバインド名|jdbc/test|
|データベースのタイプ|データベースのタイプを選択|Oracle|
|データベースドライバ|データベースドライバを選択|*Oracle'...
-トランザクションオプションを選択~
-データベース接続のプロパティを設定~
-実行対象となるサーバを選択し「終了」~
-左ペインの「変更のアクティブ化」を押下~
-作成したデータ・ソースを選択し [監視] - [テスト]~
-サーバを選択し [データ・ソースのテスト] を押下し「テスト...
***コーディングサンプル [#w3435046]
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.sql.DataSource;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DataSourceTest extends HttpServlet{
private InitialContext ic;
@Override
public void service(HttpServletRequest request, Http...
Connection conn = null;
Statement stmt = null;
ResultSet rset = null;
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head></head>");
out.println("<body>");
try {
this.ic = new InitialContext();
String sql = "select empno, ename from emp";
DataSource ds = (DataSource)ic.lookup("jdbc/...
conn = ds.getConnection(); // ...
stmt = conn.createStatement(); //...
rset = stmt.executeQuery(sql); //...
// 結果セットの表示
while ( rset.next() ) {
out.println(rset.getInt(1) + "," + rset....
}
} catch (NamingException ex) {
Logger.getLogger(DataSourceTest.class.getNam...
} catch (SQLException ex) {
Logger.getLogger(DataSourceTest.class.getNam...
} finally {
try {
if(rset != null){rset.close();} // 結果...
if(stmt != null){stmt.close();} // Stat...
if(conn != null){conn.close();} // コネ...
} catch (SQLException ex) {
Logger.getLogger(DataSourceTest.class.ge...
}
}
out.println("</body>");
out.println("</html>");
out.close();
}
}
~
#br
**JRockit [#i3b2c18a]
サーバーサイドJavaアプリケーションを高速かつ安定して動作...
コンパイラ方式はJIT(Just-In-Time方式)を採用。(プログラ...
~
#br
**GCログの取得 [#ge0c6348]
startWebLogic.sh などの起動スクリプト内にある JAVA_OPTION...
JAVA_OPTIONS="${JAVA_OPTIONS} <オプション>"
|BGCOLOR(#f0f8ff):''オプション''|BGCOLOR(#f0f8ff):''説明''|
|-Xverbose:gc|GCログを出力する|
|-XverboseTimeStamp|タイムスタンプを出力する|
|-XverboseLog:<ファイル名>|ログの出力ファイル名(フルパス...
|-XX:+HeapDumpOnOutOfMemoryError|OutOfMemoryの際にヒープ...
|-XX:HeapDumpPath=<出力先ディレクトリ>|ヒープダンプの出力...
-GCモードの詳細は[[JRockitコマンドライン・リファレンス -X...
-XXオプションの詳細は[[JRockitコマンドライン・リファレン...
-ログの詳細は[[JRockit JDKツール・ガイド - 冗長出力の概要...
***jstatコマンド [#q6ae97c9]
ヒープサイズの使用率や、GC回数や、実行時間の確認。~
$JROCKIT_HOME/bin/jstat -gc <PID> <間隔>s [回数]
ex) jstat -gc 12455 10s 60
~
#br
**jrcmdコマンド [#k0f93a0a]
$JROCKIT_HOME/bin/jrcmd <PID> [コマンド] [パラメータ]
$JROCKIT_HOME/bin/jrcmd <PID> help [コマンド]
引数なしで実行するとローカルマシンで動作している全てのPID...
PIDに 0 を指定すると、動作している全てのPIDに対してコマン...
診断コマンドの詳細は[[こちら>http://docs.oracle.com/cd/E2...
|BGCOLOR(#f0f8ff):''コマンド''|BGCOLOR(#f0f8ff):''説明''|
|print_threads|スレッドダンプ出力|
|print_object_summary|ヒープ領域に存在するオブジェクトに...
|print_memusage|メモリサイズと利用状況を確認|
|set_filename|各コマンドの出力結果を指定したファイルに出力|
|start_management_server|管理ポートを開き、Jrockit Manage...
|kill_management_server|管理ポートを閉じる|
|start_flightrecording|JFR(JRockit Flight Recorder)の記...
|stop_flightrecording|JFR(JRockit Flight Recorder)の記...
|check_flightrecording|実行中のJFRをチェックする。id や n...
|dump_flightrecording|実行中のJFRのDUMPを出力する|
|jrarecording|JRA(JRockit Runtime Analyzer)の記録開始|
|run_optfile|ポリシーファイルを読み込み、ポリシーファイル...
|heap_diagnostics|ヒープ診断ユーティリティ起動|
|hprofdump|ヒープダンプを取得|
|print_class_summary|JRockitがロードしている全てのクラス...
|verbosity|冗長ログの出力設定を行う|
|help|実行可能なコマンドの一覧を表示|
スレッドダンプは取得した瞬間のスナップショット~
|BGCOLOR(#f0f8ff):''ステータス''|BGCOLOR(#f0f8ff):''説明''|
|ACTIVE|リクエスト実行中か、すぐに実行できる状態|
|STANDBY|アクティブなスレッドプールから削除されていて、リ...
|STUCK|リクエストを実行中だが、600秒経過しても終了しない...
***start_flightrecording の settingsパラメータ [#t41a4cb8]
|BGCOLOR(#f0f8ff):''テンプレート名''|BGCOLOR(#f0f8ff):''...
|code|詳細なコンパイラ・ログを有効にするための追加の設定|
|default|非常に低いパフォーマンス・オーバーヘッド用にチュ...
|freemem|メモリー不足および断片化の問題をデバッグする追加...
|full|すべてのサブシステムのすべてのイベントの収集が有効...
|io|Java I/Oの詳細ログを有効にする追加の設定|
|leak|メモリー・リークのデバッグ用の追加の設定|
|locks|同期の詳細なログを有効にするための追加の設定|
|memory|GC/メモリー管理の詳細なログを有効にするための追加...
|off|すべてのサブシステムのすべてのイベントを無効にします|
|profile|プロファイリング記録の作成に推奨される設定。情報...
|sample|コードのホットスポット・サンプリングを有効にする...
|semirefs|java.lang.ref.Reference objectsとそのサブクラス...
***実行例 [#e86c8fb8]
-メモリーテンプレートで5分間、JFR記録開始
jrcmd <PID> start_flightrecording duration=5m settings=m...
-JFRの取得
jrcmd <PID> dump_flightrecording recording="0" copy_to_...
-JFRの記録を停止
jrcmd <PID> stop_flightrecording id="4"
-起動時にJFRのテンプレートを適用
startWebLogic.sh 内の JAVA_OPTIONS に 以下のパラメータを...
-XX:FlightRecorderOptions=defaultrecording=true,settings...
|BGCOLOR(#f0f8ff):''パラメータ''|BGCOLOR(#f0f8ff):''説明''|
|-XX:[+-]FlightRecorder|JFRの記録を有効(+)または無効(-)に...
|-XX:FlightRecorderOptions|JFRのパラメータを指定する。,区...
|BGCOLOR(#f0f8ff):''JFRのパラメータ''|BGCOLOR(#f0f8ff):''...
|defaultrecording|バックグラウンドの記録、有効/無効|
|disk|JFRをDISKに書き込むか|
|maxage|DISKに記録する最大期間(分)、disk書き込みが有効...
|settings|JFRの記録ロケーション(default、memoryなど)を...
**JFR [#g5ba8fde]
***[[JRockit Mission Control>http://www.oracle.com/techne...
グラフィカルにJFRの解析を可能にするツール。~
元々はJRockit用のツールだったが、 Java 7 Update 40 から、...
-- 事前にヒープメモリを確保して起動する(容量大きいJFR読...
jrmc.exe -J-Xmx4g -J-Xms4g
※ 起動したら、ファイルからJFRを読み込む。4g指定は、64bit...
***確認項目 [#x99c0cbe]
|BGCOLOR(#f0f8ff):CENTER:''左メニュー''|BGCOLOR(#f0f8ff):...
|全般|概要|メモリ使用率やCPU使用率など全体統計|
|~|システム|JRockitやOSの環境情報|
|メモリ|概要|メモリ使用率の統計グラフ|
|~|GC全般|GC処理の統計|
|~|GCグラフ|GC休止時間やGC理由など|
|~|割り当て|メモリ割り当てが大きいクラスや、サイズ順にソ...
|~|ヒープ内容|ヒープ使用量と断片化状況|
|~|オブジェクト統計|クラスタにで格納されているオブジェク...
|コード|概要|頻繁に呼ばれているメソッドに該当するクラスと...
|~|ホット・メソッド|頻繁に使用されているメソッド|
|~|例外|発生した例外|
|~|コード生成|JITコンパイルや指摘かのコンパイル対象となっ...
|CPU/&br;スレッド数|概要|CPU使用率とスレッド数の統計|
|~|競合|ロック競合の統計|
|~|ホット・メソッド|頻繁に使用されているメソッド|
|~|待機時間|待機の種類とスタック|
|~|ロックプロファイリング|Javaレベルのロック競合などの統計|
|イベント|概要|JFR記録で取得されたイベント|
|~|ログ|各イベントの詳細情報|
|~|グラフ|スレッド単位でのイベント発生する時間をグラフ形...
|~|スレッド|スレッド別のイベント数|
|~|トレース|イベントが発生した処理スタック|
|~|ヒストグラム|任意項目別でのイベント数|
#br
**WLST(WebLogic Server Scripting Tool) [#r7b5f400]
java -cp クラスパスを指定 weblogic.WLST
wls:/offline> プロンプトになるので各種コマンド実行
~
#br
**Webサーバープラグイン [#ocba77fb]
***モジュールのコピー [#z0b26f44]
以下どちらかのpluginを、/etc/httpd/modules にコピーする
$WLS_HOME/server/plugin/linux/`uname -m`/mod_wl_22.so ...
$WLS_HOME/server/plugin/linux/`uname -m`/mod_wl128_22.so...
***httpd.conf の書き換え [#q81b22a0]
# モジュールを読み込む
LoadModule mod_wl_22.so modules/mod_wl_22.so
# 転送するWebLogicサーバの情報
<IfModule mod_weblogic.c>
WebLogicHost wls.com
WebLogicPort 7002
</IfModule>
# 転送するWebLogicサーバ(クラスターの場合)
<IfModule mod_weblogic.c>
WebLogicCluster wls1.com:7002,wls2.com:7002,wls3.com:7...
</IfModule>
# URLパターンでの転送
<Location /weblogic>
SetHandler weblogic-handler
PathTrim /webapps
</Location>
# MIMEタイプでの転送
<IfModule mod_weblogic.c>
WebLogicHost wls.com
WebLogicPort 7002
MatchExpression *.do
</IfModule>
# MIMEタイプでの転送(複数パターン)
<IfModule mod_weblogic.c>
MatchExpression *.do WebLogicHost=wls1.com|ebLogicPort...
MatchExpression *.jsp WebLogicHost=wls2.com|ebLogicPor...
MatchExpression /webapps/*.do WebLogicHost=wls3.com|eb...
MatchExpression * WebLogicCluster=wls1.com:7002,wls2.c...
</IfModule>
|BGCOLOR(#f0f8ff):''パラメータ''|BGCOLOR(#f0f8ff):''説明''|
|PathTrim|指定したURL(正規表現可)を転送の時に削除する。...
|PathPrepend|指定したURL(正規表現可)を転送の時に追加す...
~
#br
**サーバーのライフサイクル [#z574a830]
|BGCOLOR(#f0f8ff):''状態''|BGCOLOR(#f0f8ff):''説明''|
|SHUTDOWN|サーバー停止状態|
|STANDBY|起動する為の初期化が完了し、起動するのを待ってる...
|ADMIN|管理ユーザーからのリクエストのみ受け付ける状態&br;...
|RUNNING|正常起動状態。ADMIN状態の時に「再開」の操作で移...
|FAILED|障害を検知した状態。自動的にADMINまたはSHUTDOWNに...
~
#br
**トラブルシューティング [#v702b0a0]
***ログ [#ge45ad11]
$DOMAIN_HOME/<ドメイン名>/servers/<サーバ名>/logs/
/u01/oracle/user_projects/domains/base_domain/servers/ad...
|BGCOLOR(#f0f8ff):''ログ''|BGCOLOR(#f0f8ff):''説明''|
|サーバーログ&br;<サーバ名>.log|Weblogicの動作ログ。各サ...
|ドメインログ&br;<ドメイン名>.log|管理サーバのログフォル...
|コンソールログ|JavaVMが出力するログ。(Weblogicサーバを...
|HTTPアクセスログ&br;access.log|Weblogicへのアクセスログ...
-access.logをリアルタイム出力させる方法~
config.xml の <web-server-log>要素に <buffer-size-kb> を ...
<server>
<name>srv1</name>
<listen-port>7002</listen-port>
<web-server>
<web-server-log>
<buffer-size-kb>0</buffer-size-kb> ★バッファーを...
<elf-fields>date time cs-method cs-uri sc-status t...
<log-file-format>extended</log-file-format>
</web-server-log>
</web-server>
~
***CLASSPATH確認方法 [#jd17ebb0]
java.lang.NoClassDefFoundError の後に出力されたクラスは、...
そのクラスへのパスが通っているか確認する必要がある為、CLA...
サーバーログ内のWebLogic起動時に出力される<BEA-141187> <J...
~
#br
ページ名: