Red Hat Training
A Red Hat training course is available for Red Hat JBoss Data Virtualization
管理および設定ガイド
管理者向け
Red Hat Customer Content Services
概要
パート I. はじめに
第1章 注意事項
1.2. 変数名: EAP_HOME
EAP_HOME
は、JBoss Data Virtualization がデプロイされた Red Hat JBoss Enterprise Application Platform インストールのルートディレクトリーを示しています。
1.3. 変数名: MODE
MODE
は、JBoss Data Virtualization が実行されているモードがスタンドアロンまたはドメインモードであるかによって standalone
か domain
のいずれかになります。本書に記載されているファイルパスに MODE
がある場合は、これらのどちらかに置き換えてください (この変数は、ディレクトリー構造のどこに製品がインストールされているかに応じて、ご自身で設定する必要があります)。
1.4. Red Hat のドキュメントサイト
パート II. JBoss Data Virtualization 管理の概要
第2章 管理ツール
2.1. 管理ツールの概要
- 管理コンソール
- 管理コマンドラインインターフェース (CLI)
- AdminShell
- 管理 API
- JBoss Operations Network
2.2. 管理コンソール
2.2.1. 管理コンソールおよび JBoss Data Virtualization
注記
2.2.2. 管理コンソールにログインします。
前提条件
- JBoss EAP 6 が稼働している必要があります。
- コンソールへのアクセス権限を持つユーザーが作成済みである必要があります。
- Web ブラウザーを起動し、http://localhost:9990/console/App.html へ移動します。
注記
ポート 9990 は、管理コンソールソケットバインディングとして事前定義されています。 - ユーザー名とパスワードを入力し、管理コンソールへログインします。
図2.1 管理コンソールのログイン画面
ログイン後、 http://localhost:9990/console/App.html#home へリダイレクトされ、管理コンソールのランディングページが表示されます。
2.2.3. 管理コンソール - Configuration タブ
図2.2 Configuration タブ
- Query Engine - コアの Teiid エンジンプロパティーを表示および設定します。
- Translators - Teiid で設定されたトランスレーターを表示および削除します。
- Transports - トランスポートを表示し、Teiid エンジンに追加したり、削除したりします。
- Audit Logs - Teiid の監査ロギングを有効または無効にします。
注記
2.2.4. 管理コンソール - Runtime タブ
図2.3 Runtime タブ
- Summary: このパネルには、選択された VDB、その VDB に関連するプロパティー、およびこの VDB がインポートする他の VDB の詳細が表示されます。このタブは、VDB ステータスの概要を提供するよう設計されています。
- Models: このパネルには、該当する VDB に定義されたすべてのモデルと、各モデルのトランスレーター名とソース接続 JNDI 名が表示されます。また、各モデルのタイプとそれがマルチソースであるかどうかも示されます。特定のモデルが選択された場合は、定義されたそのモデルのすべてのプロパティーと、モデルに関連付けられたすべてのエラーも表示されます。VDB がアクティブなステータスでデプロイされていない場合は、これらのエラーと修正を検証し、デプロイメントの問題を解決する必要があります。Models パネルの DDL ボタンをクリックすると、該当するモデルのスキーマが表示されます。これは、Teiid Designer を使用して設計された XML ベースのモデルには適用されません。このツールでは、JNDI 名をダブルクリックして編集することが可能です。これは、該当する環境で JNDI 名を変更する場合に役に立ちます。
- Overrides: このパネルには、Teiid Designer でオーバーライドされたすべてのトランスレーターとそのプロパティーが表示されます。
- Teiid: このスクリーンでは実行時の Teiid メトリックスが表示されます。
- Caching: Caching パネルには、キャシュがどれぐらい効果的に使用されるかなど結果セットキャッシュのキャッシュ統計が表示されます。また、VDB のすべての内部マテリアライズビューと、これらがいつロードされたかなどのロードステータスも表示されます。さらに、ソースからコンテンツを更新またはリロードできるように特定のビューまたは VDB 内のすべてのビューを無効にするオプションが提供されます。このパネルは、結果セットキャッシュ内容全体または選択された VDB の準備済み計画キャッシュ内容を破棄する UI も提供します。
- Data Roles: Data Roles パネルには、Teiid Designer を使用して VDB で定義されたすべてのポリシーまたは vdb.xml ファイルでハンドコーディングされたすべてのポリシーが表示されます。選択した各ポリシーに対して、ユーザーが所有する権限の種類などのそのポリシーのパーミッションがリストされ、そのポリシーに対してマップされたエンタープライズロール割り当てが表示されます。エンタープライズロールはこの UI を使用してポリシーに対して追加または削除できます。
- Requests: このパネルには、VDB の選択時に選択した VDB に対する現在のすべての要求が表示されます。"refresh" をクリックすると、最新の日付要求が取得されます。パネルの上部テーブルには、teiid エンジンにユーザーが送信した要求が表示されます。これらのいずれかの要求が選択されると、下部テーブルに Teiid エンジンにより物理ソースに送信されたすべてのソースレベルクエリーが表示されます。この UI を使用して、ユーザーはキャンセル要求をユーザーレベルクエリーに送信することもできます。キャンセルは非同期操作であるため、この操作は保証されません (キャンセルが送信されるまでにクエリーが完了しないことがあります)。
- Sessions: このパネルには、選択した VDB に接続されたすべてのアクティブセッションが表示されます。また、接続プロパティーと選択したセッションまたはすべてのセッションを修了するオプションも表示されます。
2.2.5. 管理コンソール - Administration タブ
図2.4 Administration タブ
2.3. 管理 CLI
2.3.1. 管理 CLI の起動
手順2.1 Linux または Microsoft Windows Server での CLI の起動
Linux での CLI の起動
コマンドラインで以下のコマンドを入力して、EAP_HOME/bin/jboss-cli.sh
ファイルを実行します。$ EAP_HOME/bin/jboss-cli.sh
Microsoft Windows Server での CLI の起動
ダブルクリックするか、コマンドラインで以下のコマンドを入力して、EAP_HOME\bin\jboss-cli.bat
ファイルを実行します。C:\>EAP_HOME\bin\jboss-cli.bat
2.3.3. 管理 CLI を使用した管理対象サーバーインスタンスへの接続
前提条件
手順2.2 管理対象サーバーインスタンスへの接続
connect
コマンドの実行管理 CLI で、connect
コマンドを入力します。[disconnected /]
connect
Connected to domain controller at localhost:9999- Linux システムで管理 CLI を起動するときに管理対象サーバーへ接続するには、
--connect
パラメーターを使用します。$
EAP_HOME/bin/jboss-cli.sh --connect
--connect
パラメーターは、ホストとサーバーのポートを指定するために使用できます。ポートの値が9999
であるアドレス192.168.0.1
に接続するには、次のコマンドを使用します。$
EAP_HOME/bin/jboss-cli.sh --connect --controller=192.168.0.1:9999
2.3.4. 管理 CLI でのヘルプの取得
CLI コマンドを学ぶ必要がある場合や何を行ったらいいかわからない場合に、ガイダンスが必要になることがあります。管理 CLI には、一般的なオプションと状況依存オプションから構成されるヘルプダイアログが組み込まれてます (処理状況に依存するヘルプコマンドでは、スタンドアロンまたはドメインコントローラーへの接続を確立する必要があります。接続が確立されない限り、これらのコマンドはリストに表示されません)。
前提条件
一般的なヘルプの場合
管理 CLI で、help
コマンドを入力します。[standalone@localhost:9999 /]
help
状況依存ヘルプの取得
管理 CLI で、help -commands
拡張コマンドを入力します。[standalone@localhost:9999 /]
help --commands
- 特定のコマンドの詳細な説明については、そのコマンドとその後に
--help
を入力してください。[standalone@localhost:9999 /]
deploy --help
CLI ヘルプ情報が表示されます。
2.4. AdminShell
2.4.1. AdminShell 機能
- 管理
- AdminShell を使用すると、さまざまな管理タスクを実行するために JBoss Data Virtualization インスタンスに接続できます。
- データアクセス
- AdminShell を使用すると、仮想データベース (VDB) に接続し、SQL コマンドを実行して VDB データを問い合わせ、結果を参照できます。
- マイグレーション
- AdminShell を使用すると、VDB および関連するコンポーネントをある開発環境から別の開発環境に移行するスクリプトを開発できます (移行スクリプトは、本番稼働デプロイメントで実行する前にテストおよび自動化できます)。
- テスト
- 組み込みの JUnit テストフレームワークを使用すると、ユーザーはシステムの状態とデータの整合性を確認する回帰テストを作成できます。作成されたテストは、システム機能をアトミックに検証します。QA 担当者が手動で検証する必要はありません。
2.4.2. AdminShell スクリプト
- すべてのコマンドと関数では大文字と小文字を区別します。
- Groovy コマンドは、セミコロンで終了する必要はありません。これはオプションです。
- 関数は入力としてゼロ個以上のパラメーターをとります。
- 関数パラメーターはかっこ内で提供されます。
- 文字列パラメーターは、一重引用符または二重引用符内に提供する必要があります。
connectAsAdmin("localhost", "9999", "user", "password", "conn1")
- 他の Java クラスおよびメソッドは、必要なライブラリーがすでにクラスパスで指定されている限り、スクリプト内からアクセスしたり、呼び出したりできます (
lib
ディレクトリーに追加された JAR ファイルは自動的にクラスパスに含まれます)。import my.package.*; myObject = new MyClass(); myObject.doSomething();
注記
disconnect()
コマンドを入力して、AdminShell を終了する前に JBoss Data Virtualization から切断する必要があります。
参考資料
- Groovy スクリプトの詳細については、http://groovy.codehaus.org/ を参照してください。
- Groovy スクリプトと SQL の詳細については、http://groovy.codehaus.org/Database+features を参照してください。
- Groovy スクリプトを使用したテストの詳細については、http://groovy.codehaus.org/Unit+Testing と http://junit.org/ を参照してください。
2.4.3. AdminShell ヘルプ
adminHelp()
メソッドを使用してリストできます (カスタム AdminShell メソッドのみが表示されることに注意)。
adminHelp()
adminHelp("METHOD")
を使用します。
adminHelp("deploy") /* *Deploy a VDB from file */ void deploy( String /* file name */) throws AdminException throws FileNotFoundException
sqlHelp()
メソッドを使用します。
sqlHelp()
sqlHelp("METHOD")
を使用します。
2.4.4. AdminShell 基本コマンド
表2.1 AdminShell 基本コマンド
コマンド | 説明 |
---|---|
adminHelp(); |
利用可能なすべてのカスタム AdminShell メソッドを表示します。
|
adminHelp("METHOD"); |
提供された AdminShell メソッドの定義および入力パラメーターを表示します。
|
sqlHelp(); |
利用可能なすべてのカスタム SQL AdminShell メソッドを表示します。
|
sqlHelp("METHOD"); |
提供された SQL AdminShell メソッドの定義および入力パラメーターを表示します。
|
println "STRING"; |
値をコンソールに出力します。
|
sql = connect(); | connection.properties ファイルで指定されたデフォルトの接続を使用して、拡張された Groovy SQL 接続を取得します。
|
sql.execute("SQL"); |
SQL コマンドを実行します。
|
connectAsAdmin(); | connection.properties ファイルで指定されたデフォルトの接続を使用して管理ユーザーで接続詞ます。このコマンドは VDB 名を必要としません。これは管理接続であり JDBC 接続ではないため、この接続を使用して SQL コマンドを発行できません。SSL が使用される場合は、接続 URL とクライアント SSL 設定を必要に応じて調整する必要があります (通常は、2 方向 SSL の場合のみ)。
|
println getConnectionName(); |
アクティブな接続の名前を返します。
|
useConnection("cNAME"); |
該当する接続を使用します。
|
disconnect(); |
アクティブな接続を切断します。
|
disconnectAll(); |
すべての接続 (アクティブな接続および中断された接続) を切断します。
|
2.4.5. 非インタラクティブ AdminShell でのスクリプトの実行
手順2.3 非インタラクティブ AdminShell でのスクリプトの実行
コマンドラインターミナルを開く
スクリプトを実行する
/adminshell.sh load [-Dparam=value] PATH/FILENAME
コマンドを実行します。
注記
-D
を使用して渡すオプションプロパティーには、System.getProperty()
を使用してスクリプトファイル内からアクセスできます。
value = System.getProperty("param")
重要
2.4.6. インタラクティブ AdminShell の起動
手順2.4 インタラクティブ AdminShell の起動
adminshell
ディレクトリーに移動する- コマンドラインターミナルを開きます。
- AdminShell ディレクトリーへ移動します:
/EAP_HOME/dataVirtualization/teiid-adminshell/
.
- AdminShell を展開します:
unzip teiid-VERSION-adminshell-dist.zip
adminshell
スクリプトを起動する./adminshell.sh
コマンドを実行します。ログの出力は以下のようになります。====================================================================== Teiid AdminShell Bootstrap Environment TEIID_HOME = /EAP_HOME/dataVirtualization/teiid-adminshell-VERSION CLASSPATH = /EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/lib/patches/*:/EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/lib/teiid-adminshell-VERSION.jar:/EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/lib/* JAVA = /usr/lib/jvm/java-1.7.0-openjdk.x86_64/bin/java ====================================================================== ===> [import static org.teiid.adminshell.AdminShell.*; import static org.teiid.adminshell.GroovySqlExtensions.*; import org.teiid.adminapi.*;] Groovy Shell (1.7.2, JVM: 1.7.0_25) Type 'help' or '\h' for help. ------------------------------------------------------------------------------- groovy:000>
インタラクティブ AdminShell が実行されています。この時点で、個々のコマンドを行ごとに実行できます。
注記
exit
コマンドを入力することにより、いつでもインタラクティブ AdminShell を終了できます。
2.4.7. インタラクティブ AdminShell に役に立つヒント
表2.2 インタラクティブ AdminShell コマンド
コマンド | 説明 |
---|---|
↑ ('up arrow') |
実行した過去のコマンドを最新のものから表示します。
|
help |
インタラクティブシェア内で使用するために特別に提供された追加コマンドを表示します。
|
インタラクティブシェルは特別なインタープリターを使用し、Groovy スクリプトを実行して期待される動作とは異なる動作を表示します。
- def ステートメントは、シェルのコンテキストで変数を定義しません。たとえば、
def x = 1
, usex = 1
は使用しないでください。 - シェルは、アノテーションを使用する Groovy クラスを解析できません。
2.4.8. インタラクティブ AdminShell でのスクリプトの保存
手順2.5 インタラクティブ AdminShell でのスクリプトの保存
インタラクティブ AdminShell を開く
- コマンドラインターミナルを開きます。
/EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/
に移動します。./adminshell.sh
コマンドを実行します。
ファイルへの記録を開始する
record start PATH/FILENAME
コマンドを入力します。記録する必要なコマンドを入力する
入力/出力を記録する一連のコマンドを入力します。ファイルへの記録を停止する
record stop
コマンドを入力します。
record start
コマンドを発行し、record stop
コマンドを発行するまでのすべての入力と出力が PATH/FILENAME にキャプチャされます。
注記
2.4.9. インタラクティブ AdminShell でのスクリプトの実行
手順2.6 インタラクティブ AdminShell でのスクリプトの実行
インタラクティブ AdminShell を開く
- コマンドラインターミナルを開きます。
/EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/
に移動します。./adminshell.sh
コマンドを実行します。
スクリプトを実行する
インタラクティブシェル
load
コマンドを使用してスクリプトを実行するload PATH/FILENAME
コマンドを実行します。Groovy
evaluate
コマンドを使用してスクリプトを実行するevaluate("PATH/FILENAME" as File)
コマンドを実行します。
注記
2.4.10. AdminShell GUI の起動
手順2.7 AdminShell GUI の起動
adminshell
ディレクトリーに移動する- コマンドラインターミナルを開きます。
/EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/
に移動します。
adminshell-console
スクリプトを起動する./adminshell-console.sh
コマンドを実行します。
AdminShell GUI が表示されます。
注記
2.4.11. AdminShell GUI でのスクリプトの保存
手順2.8 AdminShell GUI でのスクリプトの保存
adminshell
ディレクトリーに移動する- コマンドラインターミナルを開きます。
/EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/
に移動します。
スクリプトを入力する
AdminShell GUI の上部のスクリプトウィンドウにスクリプトを入力します。スクリプトは、作業中に Script → Run で実行してテストできます。スクリプトを保存する
- File → Save As を選択します。
- スクリプトの場所とファイル名を選択し、Save をクリックします。
2.4.12. AdminShell GUI でのスクリプトの実行
手順2.9 AdminShell GUI でのスクリプトの実行
AdminShell GUI を開く
- コマンドラインターミナルを開きます。
/EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/
に移動します。./adminshell-console.sh
コマンドを実行します。
スクリプトを準備する
新しいスクリプトを入力する
AdminShell GUI の上部のスクリプトウィンドウにスクリプトを入力します。保存されたスクリプトをロードする
- File → Open を選択します。
- 必要なスクリプトファイルを見つけ、Open をクリックします。スクリプトが、AdminShell GUI の上部のスクリプトウィンドウに表示されます。
スクリプトを実行する
Script → Run を選択します。
2.4.13. AdminShell 接続プロパティー
EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/connection.properties
ファイルは、Boss Data Virtualization インスタンスに接続するために AdminShell が使用するデフォルトの接続プロパティーを提供します。
jdbc.user=user jdbc.password=user jdbc.url=jdbc:teiid:admin@mm://localhost:31000; admin.host=localhost admin.port=9999 admin.user=admin admin.password=admin
connect()
または connectionAsAdmin()
を呼び出すと、このプロパティーファイルで定義された設定を使用して JBoss Data Virtualization に接続します。connect()
は、jdbc
の接頭辞を持つプロパティーを使用し、connectAsAdmin()
は admin
の接頭辞を持つプロパティーを使用します。また、好きなプロパティーを使用して接続するために connect()
メソッドまたは connectAsAdmin()
メソッドにパラメーターを含めることもできます。
connect("URL", "USER", "PASSWORD")
警告
2.4.14. AdminShell での複数の接続
getConnectionName()
メソッドは、アクティブな接続の名前を返します。この接続名は、次のコマンドを使用して変数 cName に割り当てることができます。
cName = getConnectionName();
useConnection()
コマンドを使用します。
useConnection(cName);
以下の例は、2 つの接続を使用して切り替える方法を示しています。
// 接続を作成する connectAsAdmin(); //接続名を conn1 に割り当てる conn1 = getConnectionName(); deploy("file.vdb") // 2 番目の接続 (この時点ではアクティブな接続) を作成する connectAsAdmin(); //新しい接続名を conn2 に割り当てる conn2 = getConnectionName(); deploy("file.vdb") // アクティブな接続を conn1 に切り替える useConnection(conn1); // アクティブな接続 (conn1) を閉じる disconnect();
2.4.15. サンプルスクリプト
例2.1 VDB のデプロイ
connectAsAdmin(); deploy("/path/to/<name>.vdb"); // デプロイメントを検証する VDB vdb = getVDB("<name>", 1); if (vdb != null){ print (vdb.getName()+"."+vdb.getVersion()+" is deployed"; } else { print ("<name>.vdb failed to deploy"; }
例2.2 データソースの作成 (Oracle)
connectAsAdmin(); // 最初に Oracle 用 JDBC jar ファイルをデプロイする deploy("ojdbc6.jar"); props = new Properties(); props.setProperty("connection-url","jdbc:oracle:thin:@<host>:1521:<sid>"); props.setProperty("user-name", "scott"); props.setProperty("password", "tiger"); createDataSource("oracleDS", "ojdbc6.jar", props);
例2.3 Teiid に対する SQL クエリの実行
sql = connect("jdbc:teiid:<vdb>@mm://<host>:31000", "user", "user"); // 選択する sql.eachRow("select * from sys.tables") { println "${it}" } // 更新、挿入、削除する sql.execute(<sql command>);
2.4.16. AdminShell FAQ
- 問: なぜ adminhelp コマンドは GUI ツールで動作しないのですか?
- 問: 事前に作成されたスクリプトを利用できますか?
- 問: connectAsAdmin() と connect() の違いは何ですか?
- 問: getAdmin() は何を行うのですか? なぜこれが必要なのですか?
- 問: スクリプトを記述するために IDE サポートを利用できますか?
- 問: 他の環境で AdminShell メソッドを使用できますか?
- 問: デバッグサポートは利用できますか?
adminhelp
コマンドは GUI ツールで動作しないのですか?
load
、help
、adminhelp
などのシェルコマンドが認識されません。GUI では、同等の機能形式を使用する必要があります (たとえば、adminhelp
の代わりに adminHelp()
を使用します)。
connectAsAdmin()
と connect()
の違いは何ですか?
connectAsAdmin()
メソッドは、JBoss Data Virtualization の AdminAPI に対するコンテキスト接続を作成します。connect()
メソッドは、JBoss Data Virtualization に対する SQL 呼び出しに使用する Groovy SQL オブジェクトの拡張を返します。
getAdmin()
は何を行うのですか? なぜこれが必要なのですか?
getAdmin()
メソッドは、connectAsAdmin()
で接続したときに作成された現在のコンテキスト接続オブジェクトを返します。こおオブジェクトは、インターフェース org.teiid.adminapi.Admin を実装します。提供された AdminShell コマンドは、この API のラッパーです。上級ユーザーは、提供されたラッパーコマンドがニーズを満たさない場合にこの API を直接使用できます。
EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/lib/teiid-VERSION.jar
と EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/lib/teiid-adminshell-VERSION.jar
がクラスパスで指定されていることを確認する必要があります。
import static org.teiid.adminshell.AdminShell.*; import org.teiid.adminapi.*;
2.5. JBoss Operations Network
2.5.1. JBoss エージェントプラグインパックのインストール
- カスタマーサポートポータルからプラグイン JAR ファイルをダウンロードします。
- https://access.redhat.com/jbossnetwork/ にナビゲートします。
- PRODUCT に対して JBoss ON を選択します。
- Download を選択します。
- プラグイン JAR ファイルを
JON_HOME/plugins
ディレクトリーに抽出します。 - JBoss ON サーバーでプラグインを更新します。これは、JBoss ON GUI を使用するか、サーバーを再起動することにより実行できます。
- GUI からプラグインをロードするには、以下の手順に従ってください。
- Administration タブを開きます。
- 左側の Configuration 領域で、Agent Plug-ins リンクを選択します。
- ロードされたエージェントプラグインのリストの下部で、SCAN FOR UPDATES ボタンをクリックします。
- エージェントでプラグインをリロードして新しいプラグインをロードします。これは、エージェントのコマンドプロンプトで以下のプラグインコマンドを使用して実行できます。
> plugins update
注記
これは、エージェントまたはエージェントのグループに対してプラグインの更新操作をスケジュールすることによっても実行できます。別の方法として、エージェントを再起動します。
2.6. Dashboard Builder
2.6.1. データソース
2.6.2. データソースへの接続
- データソースが稼働しており、アプリケーションサーバーがデータソースにアクセスできることを確認してください (ドライバーやログインクレデンシャルなどを確認します。Red Hat JBoss EAP 6 でこれを行うには、管理コンソールで Subsystems → Connector → Datasources を選択します)。
- Dashboard Builder のツリーメニュー (デフォルトでは、Showcaseパースペクティブにあります) で、Administration → External connections に移動します。
- 表示された外部接続パネルで、New DataSource ボタンをクリックします。
- データソースタイプ (JNDI またはカスタムデータソース) を選択し、以下の各データソースパラメーターを提供します。
2.6.3. データプロバイダーの作成
- ツリーメニュー (Showcase ワークスペースのラテラルメニューのパネル) で、Administration → Data providers をクリックします。
- Data Providers パネルで、Create new data provider ボタンをクリックします。
- 更新された Data Providers パネルの Type ドロップダウンメニューで、データプロバイダーが処理するソースに応じてデータプロバイダーのタイプを選択します。
- データプロバイダーパラメーターを定義します。
- CSV ファイルを介したデータプロバイダー
- 名前: ユーザーフレンドリーな名前とロケール
- CSV ファイル URL: ファイル url (たとえば、
file:///home/me/example.csv
) - データセパレーター: CSV ファイルでセパレーターとして使用される記号 (デフォルト値はセミコロンです。カンマをセパレーター記号として使用する場合は、必要に応じて数字形式を変更してください)。
- 引用符: 引用符に使用される記号 (デフォルト値は二重引用符です。記号はロケールに応じて異なることがあります)。
- エスケープ記号: 後続の記号をエスケープしてそのリテラル値を保持するために使用される記号
- 日付形式: 日付と時刻の形式
- 数値形式: 数千および小数に解決される数値の形式
- データベースを介したデータプロバイダー (SQL クエリー)
- 名前: ユーザーフレンドリーな名前とロケール
- データソース: クエリーを実行するデータソース (デフォルト値は
local
です。Dashboard Builder データソースに対してクエリーを実行できます) - クエリー: 必要なデータを返すクエリー
- パラメーターが正しいことを確認する場合は、Attempt data load をクリックします。
- Save をクリックします。
- 検出されたデータがあるテーブルで、データ型を定義し、必要に応じて、データにユーザーフレンドリーな名前を指定します。Save をクリックします。
2.6.4. Dashboard Builder ワークスペース
2.6.4.1. ワークスペースの作成
- 上部メニューの Create workspace ボタンをクリックします。Workspace ノードが展開され、右側にワークスペース詳細が示されたワークスペース管理領域がある管理コンソールが表示されます。
- 右側の Create workspace テーブルで、ワークスペースパラメーターを設定します。
- 名前: ワークスペース名とロケール
- タイトル: ワークスペースとロケール
- スキン: ワークスペースリソースに提供するスキン
- エンベロープ: ワークスペースリソースに適用するエンベロープ
- Create workspace をクリックします。
- オプションで、左側のツリーメニューでワークスペース名をクリックし、右側にワークスペースプロパティーがある領域で、追加のワークスペースパラメーターを定義できます。
- URL: ワークスペース URL
- ユーザーホーム検索: ホームページ設定
Role assigned page
に設定すると、ページパーミッション設定されたホームページが適用されます。そのため、ロールごとに異なるホームページを設定できます (Current page
に設定するとすべてのユーザーが現在のページをホームページとして使用します)。
2.6.4.2. ページの作成
- 正しいワークスペースを表示します。
- 上部メニューの Page ドロップダウンボックス の横にある Create new page ボタンをクリックします。
- Pages ノードが展開され、右側にページ詳細が示されたページ管理領域がある管理コンソールが表示されます。
- 右側の Create new page テーブルで、ページパラメーターを設定します。
- 名前: ページ名とロケール
- 親ページ: 新しいページの親ページ
- スキン: ページに適用するスキン
- エンベロープ: ページに適用するエンベロープ
- ページレイアウト: ページのレイアウト
- Create new page をクリックします。
- オプションで、左側のツリーメニューでページ名をクリックし、右側にワークスペースプロパティーがある領域で、追加のページパラメーターを定義できます。
- URL: ページ URL
- 表示可能なページ: ページの表示可能性
- リージョンとパネル間のスペース
2.6.4.3. ページパーミッションの定義
other
セキュリティードメインになります) に対してセットアップされた承認方法を使用して承認されますが、Red Hat JBoss Dashboard Builder には、個別ページまたは複数ページでパーミッション管理を実現する独自のロールベースアクセス制御 (RBAC) 管理ツールが含まれます。
- 上部メニューで、General configuration ボタンをクリックします。 管理コンソールが表示されます。
- 左側の Workspace ノードで、ページまたは Pages ノードを見つけます。
- ページ/ページノードで、Page permissions ノードをクリックします。
- 右側の Page permissions 領域で、以前に定義されたパーミッション定義 (該当する場合) を削除し、必要なロールの権利を定義します。
- Permission assignation テーブルで、Select role ドロップダウンメニューを探し、それぞれのロールを選択します。
- テーブルの Actions 列で、各パーミッションを無効または有効にします。
- Save をクリックします。
2.6.4.4. パネル
- ダッシュボードパネル
- 主な BAM パネルであり、以下のものを含みます。
- データプロバイダーマネージャー: 利用可能なデータプロバイダーとデータプロバイダー管理オプションのリストがあるパネル
- フィルターおよびドリルダウン: データプロバイダーで定義されたページのインジケーターでフィルタリングを実現するためにすべての KPI とその値が表示されたパネル
- HTML エディターパネル: 静的なコンテンツがあるパネル
- キーパフォーマンスインジケーター (インジケーター): データプロバイダーのデータを視覚化するパネル
- ナビゲーションパネル
- ナビゲーション機能を提供し、以下のものを含むパネル
- Breadcrumb: 現在のページを参照する完全なページ階層があるパネル
- 言語メニュー: 利用可能なロケールがあるパネル (デフォルトでは中央上部)
- ログアウトパネル: 現在ログインしているユーザーの名前とログアウトボタンがあるパネル
- ページメニューカスタム: ワークスペース内のすべてのページに対するリンクが縦に配置され、ページの HTML ソースの一般的なコントロールがあるパネル
- 縦のページメニュー: ワークスペース内のすべてのページに対するリンクが縦に配置されたパネル (ページのリストは調整できます)
- 横のページメニュー: ワークスペース内のすべてのページに対するリンクが横に配置されたパネル (ページのリストは調整できます)
- ツリーメニュー: 管理やホーム (ラテラルメニューで、左側に表示される Showcase ワークスペースのホームページ) などの重要な機能に対するリンクがあるパネル
- カスタムワークスペースメニュー: 利用可能なワークスペースに対するリンク (ワークスペースのリストは調整できます) とワークスペースの HTML ソースに対する一般的なコントロールがあるパネル
- 横のワークスペースメニュー: 利用可能なワークスペースに対するリンク (ワークスペースのリストは調整できます) がある横方向のパネル
- 縦のワークスペースメニュー: 利用可能なワークスペースに対するリンク (ワークスペースのリストは調整できます) がある縦方向のパネル
- システムパネル
- システム設定と管理機能に対するアクセスを提供し、以下のものを含むパネル。
- データソースマネージャー: 外部データソース管理用のパネル
- エクスポートダッシュボード: ダッシュボードのパネルエクスポート
- ワークスペースのエクスポート/インポート: ワークスペースをエクスポートおよびインポートするパネル
2.6.4.5. パネルの追加
- 各ページが開いてることを確認します (上部メニューの Page ドロップダウンメニューで、ページを選択します)。
- 上部メニューで、Create a new panel in current page ボタンをクリックします。
- 表示されたダイアログボックスで、追加するパネルタイプを展開し (Dashboard、Navigation、または System)、追加するパネルをクリックします。
- 左側の Components メニューから、既存のパネルインスタンスの名前または Create panel アイテムをページの必要な場所にドラッグアンドドロップします。新しいインジケーターを挿入する場合に、グラフ設定があるパネルビューが表示されます。グラフの詳細を定義し、ダイアログを閉じます。既存のインジケーターのインスタンスを追加する場合は、そのインジケーターが特定の元のページの KPI にリンクされているときにインジケーターを使用できないことがあります。このような場合は、新しいパネルを作成してください。
- 必要に応じて、新しく追加されたパネルの内容を編集します。
2.6.5. Dashboard Builder のフィルター
- 複数のデータセットプロバイダー全体で「共有」プロパティーを定義できます。共有プロパティーとは、2 つ以上の異なるデータプロバイダーで同一 ID を持つプロパティーのことです。
- 共有プロパティーが含まれる 2 つ以上のデータプロバイダーを参照するダッシュボードを構築し、共有プロパティーでフィルターする場合、このプロパティーが含まれるすべての KPI がフィルターされます。
- 共有プロパティーは、「join」と似たフィルター動作を実装する場合に便利です。これにより、異なるデータプロバイダーに属する複数の KPI を同時にフィルターできます。
- join と似た動作を無効にするには、 Data Provider Column Definition 画面でプロパティー ID を調整します (プロパティー ID が一意になるようにし、データプロバイダー定義同士が競合しないようにしてください)。
パート III. ユーザー管理
第3章 ユーザーアカウント
3.1. ユーザーアカウント
- JBoss EAP 管理ユーザー
- 管理コンソール、管理 CLI、JBoss Developer Studio、および管理 API で JBoss Data Virtualization インストールを管理するには、JBoss EAP 管理ユーザーが必要です。
- JBoss Data Virtualization ユーザー
- JBoss Data Virtualization ユーザーは、仮想データベース (VDB) にアクセスできます。これらのデータソースで実行できる操作を制御するユーザーのパーミッションを定義できます。
- 階層データベースユーザー
- 階層データベースユーザーは、提供された階層データベースにアクセスできます。このデータベースで実行できる操作を制御する各ユーザーのパーミッションを定義できます。
注記
3.2. データロール
<mapped-role-name>
タグで指定された JAAS ロールにマップできます (これらのマッピングは addDataRoleMapping()
メソッドを使用して確立します)。
UsersRolesLoginModule
では、プレーンテキストファイルでユーザーが JAAS ロールに関連付けられます。
重要
3.3. JBoss EAP 管理ユーザーの追加
3.3.1. 管理インターフェースのユーザーの追加
手順3.1 リモート管理インターフェース用の最初の管理ユーザーを作成
add-user.sh
またはadd-user.bat
スクリプトを実行します。EAP_HOME/bin/
ディレクトリーへ移動します。ご使用のオペレーティングシステムに対応するスクリプトを呼び出します。- Red Hat Enterprise Linux
[user@host bin]$
./add-user.sh- Microsoft Windows Server の場合
C:\bin>
add-user.bat
管理ユーザーの追加を選択します。
ENTER を押して、デフォルトのオプションa
を選択して管理ユーザーを追加します。このユーザーはManagementRealm
に追加され、Web ベース管理コンソールまたはコマンドラインベース管理 CLI を使用して監理操作を実行することを許可されます。他のオプションb
を選択すると、ユーザーがApplicationRealm
に追加され、特定のパーミッションは提供されません。このレルムはアプリケーションで使用するために提供されます。ユーザー名とパスワードを入力します。
ユーザー名とパスワードの入力を要求されたら入力します。入力後、パスワードを確認するよう指示されます。グループ情報を入力します。
ユーザーが属するグループを追加します。ユーザーが複数のグループに属する場合は、カンマ区切りリストを入力します。ユーザーがどのグループにも属さない場合は空白のままにします。情報を確認します。
情報を確認するよう指示されます。情報が正しければyes
を入力します。ユーザーがリモート JBoss EAP 6 サーバーインスタンスを表すかどうかを選択します。
管理者以外にも、場合によっては JBoss EAP 6 の別のインスタンスを表すユーザーをManagementRealm
で JBoss EAP 6 に追加する必要があることがあります。このユーザーは、メンバーとしてクラスターに参加することを認証できる必要があります。次のプロンプトでは、この目的のために追加されたユーザーを指定できます。yes
を選択した場合は、ユーザーのパスワードを表すハッシュされたsecret
値が提供されます。これは他の設定ファイルに追加する必要があります。このタスクでは、no
を選択してください。追加ユーザーを入力します。
必要な場合は、この手順を繰り返すと追加のユーザーを入力できます。また、稼働中のシステムにいつでもユーザーを追加することが可能です。デフォルトのセキュリティーレルムを選択する代わりに他のレルムにユーザーを追加すると、承認を細かく調整できます。非対話的にユーザーを作成します。
コマンドラインで各パラメーターを渡すと非対話的にユーザーを作成できます。ログや履歴ファイルにパスワードが表示されるため、この方法は共有システムでは推奨されません。管理レルムを使用した、コマンドの構文は次のとおりです。[user@host bin]$
./add-user.sh username passwordアプリケーションレルムを使用するには、-a
パラメーターを使用します。[user@host bin]$
./add-user.sh -a username password--silent
パラメーターを渡すと add-user スクリプトの通常の出力を無効にできます。これは、username
およびpassword
パラメーターが指定されている場合のみ適用されます。エラーメッセージは表示されます。
追加したすべてのユーザーは、指定したセキュリティーレルム内でアクティベートされます。ManagementRealm
レルム内でアクティブなユーザーは、リモートシステムから JBoss EAP 6 を管理できます。
3.3.2. デフォルトのユーザーセキュリティー設定
JBoss EAP 6 のすべての管理インターフェースはデフォルトで保護されます。このセキュリティーには、2 つの形式があります。
- ローカルインターフェースは、ローカルクライアントとローカルクライアントが接続するサーバーとの間の SASL コントラクトによって保護されます。このセキュリティーメカニズムは、ローカルファイルシステムにアクセスするクライアントの機能に基づきます。ローカルシステムへアクセスできるとクライアントによるユーザーの追加が可能で、他のセキュリティーメカニズムを無効にするよう設定を変更できるからです。これにより、ファイルシステムへ物理的にアクセスできると、他のセキュリティーメカニズムが不要になるという原則が厳守されます。このメカニズムは 4 つの手順で実現されます。
注記
HTTP を使用してローカルホストへ接続する場合でも、HTTP のアクセスはリモートと見なされます。- ローカル SASL メカニズムを用いて認証する要求が含まれるメッセージをクライアントがサーバーに送信します。
- サーバーはワンタイムトークンを生成し、固有のファイルに書き込み、ファイルのフルパスが含まれるメッセージをクライアントへ送信します。
- クライアントはファイルよりトークンを読み取り、サーバーへ送信し、ファイルシステムへローカルアクセスできるかを検証します。
- サーバーはトークンを検証し、ファイルを削除します。
- ローカル HTTP クライアントを含むリモートクライアントはレルムベースのセキュリティーを使用します。管理インターフェースを使用して JBoss EAP 6 インスタンスをリモートで設定するパーミッションを持つデフォルトのレルムは
ManagementRealm
です。このレルム (またはユーザーが作成したレルム) にユーザーを追加できるスクリプトが提供されます。ユーザーの追加の詳細については、『JBoss EAP 6 管理および設定ガイド』の章「ユーザー管理」を参照してください。ユーザーごとに、ユーザー名とハッシュ化されたパスワードがファイルに保存されます。- 管理対象ドメイン
EAP_HOME/domain/configuration/mgmt-users.properties
- スタンドアロンサーバー
EAP_HOME/standalone/configuration/mgmt-users.properties
mgmt-users.properties
の内容はマスクされていますが、機密ファイルとして扱う必要があります。ファイルモードを、ファイル所有者による読み書きのみが許可される600
に設定することが推奨されます。
3.3.3. JBoss Data Virtualization ユーザーの追加
- bin ディレクトリーに移動します。
- ./add-user.sh スクリプトを実行します。
- オプション「b) Application User (application-users.properties)」を選択し、希望のユーザー名とパスワードを追加します。
重要
3.3.4. 階層データベースユーザーの追加
- テキストエディターで
EAP_HOME/MODE/configuration/application-users.properties
ファイルを開きます。 username=password
という構文で必要なusername
とpassword
を新しい行で追加します。以下に例を示します。#user=user harold=s3kr3tz
- ファイルを保存し、閉じます。
- テキストエディターで
EAP_HOME/MODE/configuration/application-roles.properties
ファイルを開きます。 username=role1,role2,...
という構文を使用して、ユーザーと割り当てられたロールを新しい行でファイルに追加します。任意の数のロールを割り当てることができます。ロールがユーザーに割り当てられていない場合、エントリーは必要ありません。例を以下に示します。administrator=administrator harold=accounts, inventory, reports
- ファイルを保存し、閉じます。
注記
3.4. Modeshape ユーザーの追加
3.4.1. Modeshape パブリッシングユーザーの作成
パート IV. 製品の設定
第4章 仮想データベース
4.1. 仮想データベースおよび JBoss Data Virtualization
4.2. 仮想データベースデプロイメント
- ファイルデプロイメント
- サーバーが開発者のワークステーションでローカル実行されている場合、開発段階の迅速なデプロイメントにはファイルデプロイメントが推奨されます。
- 管理コンソール
- ウェブベース管理コンソールによるデプロイメントは、VDB をリモートサーバーにデプロイする最も単純な方法として推奨されます。
- 管理コマンドラインインターフェース
- EAP 管理コマンドラインインターフェース (CLI) を使用したデプロイメントも簡単なデプロイメントオプションです。
- AdminShell
- AdminShell によるデプロイメントは、環境でアーティファクトのデプロイメントを自動化する場合などの高度なデプロイメントに推奨されます。
- 管理 API
- 管理 API によるデプロイメントは、他のアプリケーション内で VDB をデプロイする場合などの高度なデプロイメントに推奨されます。
注記
重要
警告
警告
4.3. ファイルデプロイメントによる VDB のデプロイ
前提条件
- Red Hat JBoss Data Virtualization をインストールする必要があります。
手順4.1 ファイルデプロイメントによる VDB のデプロイ
VDB を
deploy
ディレクトリーにコピーVDB ファイルをEAP_HOME/standalone/deployments
ディレクトリーにコピーします。マーカーファイルの作成
拡張子が.dodeploy
の同じ名前の空のマーカーファイルを同じディレクトリーに作成します。たとえば、VDB 名がenterprise.vdb
である場合、マーカーファイル名はenterprise.vdb.dodeploy
である必要があります。
注記
4.4. 管理コンソールでの VDB のデプロイ
前提条件
- Red Hat JBoss Data Virtualization をインストールする必要があります。
- JBoss Enterprise Application Platform (EAP) サーバーが稼働している必要があります。
- JBoss EAP 管理ユーザーが登録されている必要があります。
手順4.2 管理コンソールでの VDB のデプロイ
ウェブブラウザーでコンソールを起動する
ウェブブラウザーで、http://localhost:9990/console/ を開きます。コンソールに対して認証する
プロンプトが表示されたら、JBoss EAP の管理者ユーザー名とパスワードを入力します。Deployments パネルを開く
Runtime ビューで Server → Manage Deployments を選択します。仮想データベースを追加する
- Add ボタンを選択します。
- Choose File を選択し、デプロイする VDB ファイルを選択します。
- Next を選択してデプロイメント名を確認し、Save を選択します。
- En/Disable を選択して VDB を有効にします。
4.5. CLI を使用して VDB をデプロイ
前提条件
- Red Hat JBoss Data Virtualization をインストールする必要があります。
- JBoss Enterprise Application Platform (EAP) サーバーが稼働している必要があります。
手順4.3 CLI を使用して VDB をデプロイ
コマンドラインインターフェースを開く
EAP_HOME/bin/jboss-cli.sh
コマンドを実行します。サーバーに接続する
connect
コマンドを実行します。仮想データベースをデプロイする
スタンドアロンモードの場合は、deploy
を実行します。PATH/DATABASE.vdb
ドメインモードの場合は、deploy -all-server-groups
を実行します。PATH/DATABASE.vdb
注記
4.6. AdminShell を使用して VDB をデプロイ
前提条件
- Red Hat JBoss Data Virtualization をインストールする必要があります。
- JBoss Enterprise Application Platform (EAP) サーバーが稼働している必要があります。
手順4.4 AdminShell を使用して VDB をデプロイ
インタラクティブ AdminShell インターフェースを開く
./adminshell.sh
コマンドを実行します。接続を開く
インタラクティブ AdminShell 内で、connectAsAdmin()
コマンドを実行します。仮想データベースをデプロイする
deploy("PATH/DATABASE.vdb")
コマンドを実行します。接続を閉じる
disconnect()
コマンドを実行します。インタラクティブシェルを終了する
exit
コマンドを入力してインタラクティブシェルを終了します。
注記
4.7. 管理 API を使用して VDB をデプロイ
org.teiid.adminapi
) 内の Admin インターフェースにより提供された deploy
メソッドを使用してデプロイできます。
注記
4.8. VDB 依存関係
EAP_HOME/MODE/deployments/DATABASE.vdb
ファイル内の META-INF/vdb.xml
を参照してすべての依存物理データソースを識別できます)。
JDBC
API を使用して接続できます。デプロイメントでエラーが発生した場合は、接続の試行が失敗し、メッセージがログに記録されます。管理コンソールを使用して (またはログファイルをチェックして) エラーを特定し、修正します。JDBC を使用して VDB に接続する方法については、『Red Hat JBoss Data Virtualization Development Guide: Server Development』を参照してください。
警告
4.9. データソースデプロイメント
4.9.1. Accumulo データソース
batch /subsystem=resource-adapters/resource-adapter=accumulo/connection-definitions=teiid:add(jndi-name=java:/accumulo-ds, class-name=org.teiid.resource.adapter.accumulo.AccumuloManagedConnectionFactory, enabled=true, use-java-context=true) /subsystem=resource-adapters/resource-adapter=accumulo/connection-definitions=teiid/config-properties=ZooKeeperServerList:add(value=localhost:2181) /subsystem=resource-adapters/resource-adapter=accumulo/connection-definitions=teiid/config-properties=Username:add(value=user) /subsystem=resource-adapters/resource-adapter=accumulo/connection-definitions=teiid/config-properties=Password:add(value=password) /subsystem=resource-adapters/resource-adapter=accumulo/connection-definitions=teiid/config-properties=InstanceName:add(value=instancename) /subsystem=resource-adapters/resource-adapter=accumulo/connection-definitions=teiid/config-properties=Roles:add(value=public) /subsystem=resource-adapters/resource-adapter=accumulo:activate runbatch
表4.1 プロパティー
プロパティー | 説明 | 必要性 | デフォルト |
---|---|---|---|
ZooKeeperServerList |
ズーキーパーサーバーの場所のカンマ区切りのリスト。各場所には、host:port という形式でオプションのポートを含めることができます。
|
必要
|
なし
|
ZooKeeperServerList |
ズーキーパーサーバーの場所のカンマ区切りのリスト。各場所には、host:port という形式でオプションのポートを含めることができます。
|
必要
|
なし
|
Username |
接続ユーザーの名前
|
必要
|
なし
|
Password |
接続ユーザーのパスワード
|
必要
|
なし
|
InstanceName |
Accumulo インスタンス名
|
必要
|
なし
|
Password |
接続ユーザーのパスワード
|
必要
|
なし
|
Roles |
ユーザーのオプションの可視性。カンマ区切りで複数を指定します。
|
不必要
|
なし
|
/subsystem=teiid:read-rar-description(rar-name=accumulo)
4.9.2. Amazon SimpleDB データソース
batch /subsystem=resource-adapters/resource-adapter=simpledb/connection-definitions=simpledbDS:add(jndi-name=java:/simpledbDS, class-name=org.teiid.resource.adapter.simpledb.SimpleDBManagedConnectionFactory, enabled=true, use-java-context=true) /subsystem=resource-adapters/resource-adapter=simpledb/connection-definitions=simpledbDS/config-properties=AccessKey:add(value=xxx) /subsystem=resource-adapters/resource-adapter=simpledb/connection-definitions=simpledbDS/config-properties=SecretAccessKey:add(value=xxx) /subsystem=resource-adapters/resource-adapter=simpledb:activate runbatch
/subsystem=teiid:read-rar-description(rar-name=simpledb)
4.9.3. Cassandra データソース
警告
batch /subsystem=resource-adapters/resource-adapter=cassandra/connection-definitions=cassandraDS:add(jndi-name=java:/cassandraDS, class-name=org.teiid.resource.adapter.cassandra.CassandraManagedConnectionFactory, enabled=true, use-java-context=true) /subsystem=resource-adapters/resource-adapter=cassandra/connection-definitions=cassandraDS/config-properties=Address:add(value=127.0.0.1) /subsystem=resource-adapters/resource-adapter=cassandra/connection-definitions=cassandraDS/config-properties=Keyspace:add(value=my-keyspace) /subsystem=resource-adapters/resource-adapter=cassandra:activate runbatch
/subsystem=teiid:read-rar-description(rar-name=cassandra)
4.9.4. ファイルデータソース
batch /subsystem=resource-adapters/resource-adapter=file/connection-definitions=fileDS:add(jndi-name=java:/fileDS, class-name=org.teiid.resource.adapter.file.FileManagedConnectionFactory, enabled=true, use-java-context=true) /subsystem=resource-adapters/resource-adapter=file/connection-definitions=fileDS/config-properties=Parentdirectory:add(value=/home/rareddy/testing/) /subsystem=resource-adapters/resource-adapter=file/connection-definitions=fileDS/config-properties=AllowParentPaths:add(value=true) /subsystem=resource-adapters/resource-adapter=file:activate runbatch
/subsystem=teiid:read-rar-description(rar-name=file)
4.9.5. Google スプレッドシートデータソース
表4.2 設定プロパティー
プロパティー | 説明 |
---|---|
AuthMethod |
Google へのアクセス方法。このプロパティーは、ClientLogin または OAuth2 のいずれかに設定できます。設定が ClientLogin の場合は、追加の 2 つの設定プロパティー Username と Password を提供する必要があります。設定が OAuth2 の場合は、RefreshToken を提供する必要があります。
|
Username |
Google アカウントのユーザー名。AuthMethod=ClientLogin の場合のみ適応されます。
|
Password |
Google アカウントのパスワード。AuthMethod=ClientLogin の場合のみ適応されます。
|
SpreadsheetName |
このコネクターのデータソースであるスプレッドシートの名前を持つ必須プロパティー。
|
BatchSize |
一度にフェッチできる行の最大数。デフォルト値は 4096 です。
|
https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive+https%3A%2F%2Fspreadsheets.google.com%2Ffeeds&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&client_id=217138521084.apps.googleusercontent.com
curl \--data-urlencode code=<AUTH_CODE> \ --data-urlencode client_id=217138521084.apps.googleusercontent.com \ --data-urlencode client_secret=gXQ6-lOkEjE1lVcz7giB4Poy \ --data-urlencode redirect_uri=urn:ietf:wg:oauth:2.0:oob \ --data-urlencode grant_type=authorization_code https://accounts.google.com/o/oauth2/token
4.9.6. Infinispan データソース
表4.3 レジストリープロパティー
キャッシュタイプ | このキャッシュの取得方法 |
---|---|
Local Cache |
JNDI
|
Local Cache |
設定ファイル
|
Remote Cache |
JNDI
|
Remote Cache |
1 つまたは複数のホストポートを指定します。
|
Local Cache |
1 つまたは複数の Hot Rod クライアントプロパティーファイルを指定します。
|
表4.4 レジストリープロパティー
プロパティー | 必要性 | プロパティーテンプレート | 説明 |
---|---|---|---|
CacheTypeMap |
必要
|
cacheName:className[;pkFieldName] [,cacheName:className[;pkFieldName]..]
|
ルート Java オブジェクトクラス名をキャッシュにマップし、キャッシュに対するプライマリーキーである属性を指定します。
|
module |
不必要
|
なし
|
CacheTypeMap で定義されたキャッシュクラスを含む JBoss AS モジュールを指定します
|
CacheJndiName |
不必要
|
なし
|
CacheContainer を見つけるための JNDI 名
|
RemoteServerList |
不必要
|
host:port[;host:port….]
|
CacheTypeMap で定義されたキャッシュにアクセスするために一緒にクラスタ化するホストおよびポートを指定します。
|
ConfigurationFileNameForLocalCache |
不必要
|
なし
|
ローカルキャッシュを設定するための Infinispan 設定 xml ファイル。
|
HotRodClientPropertiesFile |
不必要
|
なし
|
リモートキャッシュに対する接続を設定するための HotRod プロパティーファイル。
|
batch /subsystem=resource-adapters/resource-adapter=infinispan/connection-definitions=infinispanDS:add(jndi-name=java:/infinispanDS, class-name=org.teiid.resource.adapter.infinispan.InfinispanManagedConnectionFactory, enabled=true, use-java-context=true) /subsystem=resource-adapters/resource-adapter=infinispan/connection-definitions=infinispanDS/config-properties=CacheTypeMap:add(value=trades:org.somewhere.Trade;tradeId) /subsystem=resource-adapters/resource-adapter=infinispan/connection-definitions=infinispanDS/config-properties=Module:add(value=org.somewhere) /subsystem=resource-adapters/resource-adapter=infinispan/connection-definitions=infinispanDS/config-properties=CacheJndiName:add(value=java:/myCache) runbatch
/subsystem=teiid:read-rar-description(rar-name=infinispan)
重要
4.9.7. Infinispan-DSL データソース
表4.5 プロパティー
キャッシュタイプ | プロパティー名 | キャッシュの取得方法 |
---|---|---|
Remote Cache |
CacheJndiName
|
JNDI
|
Remote Cache |
RemoteServerList
|
サーバーリスト: 1 つまたは複数のホストポートを指定します
|
Remote Cache |
HotRodClientPropertiesFile
|
HotRod クライアントプロパティーファイル
|
表4.6 プロパティー
プロパティー | 必要性 | プロパティーテンプレート | 説明 |
---|---|---|---|
CacheTypeMap |
必要
|
cacheName:className[;pkFieldName] [,cacheName:className[;pkFieldName]..]
|
ルート Java オブジェクトクラス名をキャッシュにマップし、キャッシュに対するプライマリーキーである属性を指定します。
|
ProtobinFile |
必要
|
なし
|
jar にパッケージ化された Google Protobin ファイルへのパス (/quickstart/addressbook.protobin など)
|
MessageMarshallers |
必要
|
marshaller [,marshaller,..]
|
各メッセージマーシャラーがマップされたクラス名を含みます (class:marshaller,[class:marshaller,..])。シリアル化のために登録されます。
|
MessageDescriptor |
必要
|
なし
|
キャッシュ内のルートオブジェクトに対するメッセージ記述子クラス名
|
module |
不必要
|
なし
|
ロードする必要があるキャッシュクラスを含む JBoss EAP モジュールを指定します。
|
CacheJndiName |
不必要
|
なし
|
CacheContainer を見つけるための JNDI 名
|
RemoteServerList |
不必要
|
host:port[;host:port….]
|
キャッシュにアクセスするために一緒にクラスタ化するホストおよびポートを指定します。
|
HotRodClientPropertiesFile |
不必要
|
なし
|
リモートキャッシュに対する接続を設定するための HotRod プロパティーファイル。
|
<resource-adapter id="infinispanRemQS"> <module slot="main" id="org.jboss.teiid.resource-adapter.infinispan.dsl"/> <connection-definitions> <connection-definition class-name="org.teiid.resource.adapter.infinispan.dsl.InfinispanManagedConnectionFactory" jndi-name="java:/infinispanRemote" enabled="true" use-java-context="true" pool-name="infinispanDS"> <config-property name="CacheTypeMap"> addressbook:org.jboss.as.quickstarts.datagrid.hotrod.query.domain.Person;id </config-property> <config-property name="ProtobinFile"> /quickstart/addressbook.protobin </config-property> <config-property name="MessageDescriptor"> quickstart.Person </config-property> <config-property name="Module"> com.client.quickstart.pojos </config-property> <config-property name="MessageMarshallers"> org.jboss.as.quickstarts.datagrid.hotrod.query.domain.Person:org.jboss.as.quickstarts.datagrid.hotrod.query.marshallers.PersonMarshaller,org.jboss.as.quickstarts.datagrid.hotrod.query.domain.PhoneNumber:org.jboss.as.quickstarts.datagrid.hotrod.query.marshallers.PhoneNumberMarshaller,org.jboss.as.quickstarts.datagrid.hotrod.query.domain.PhoneType:org.jboss.as.quickstarts.datagrid.hotrod.query.marshallers.PhoneTypeMarshaller </config-property> <config-property name="RemoteServerList"> 127.0.0.1:11322 </config-property> </connection-definition> </connection-definitions> </resource-adapter>
4.9.8. JDBC データソース
jboss-install/docs/teiid/datasources
ディレクトリー内のすべてのデータソースの設定テンプレートです。データソースを JBoss EAP に追加する方法もここで詳細に説明されています。データソースを作成するには以下の 2 つの方法があります。
deploy /path/to/ojdbc6.jar
注記
jboss-install>/standalone/deployments
ディレクトリーに手動でコピーして CLI ツールを使用せずに自動的にデプロイすることもできます。
/subsystem=datasources/data-source=oracel-ds:add(jndi-name=java:/OracleDS, driver-name=ojdbc6.jar, connection-url=jdbc:oracle:thin:{host}:1521:orcl,user-name={user}, password={password}) /subsystem=datasources/data-source=oracel-ds:enable
4.9.9. LDAP データソース
batch /subsystem=resource-adapters/resource-adapter=ldap/connection-definitions=ldapDS:add(jndi-name=java:/ldapDS, class-name=org.teiid.resource.adapter.ldap.LDAPManagedConnectionFactory, enabled=true, use-java-context=true) /subsystem=resource-adapters/resource-adapter=ldap/connection-definitions=ldapDS/config-properties=LdapUrl:add(value=ldap://ldapServer:389) /subsystem=resource-adapters/resource-adapter=ldap/connection-definitions=ldapDS/config-properties=LdapAdminUserDN:add(value={cn=???,ou=???,dc=???}) /subsystem=resource-adapters/resource-adapter=ldap/connection-definitions=ldapDS/config-properties=LdapAdminUserPassword:add(value={pass}) /subsystem=resource-adapters/resource-adapter=ldap/connection-definitions=ldapDS/config-properties=LdapTxnTimeoutInMillis:add(value=-1) /subsystem=resource-adapters/resource-adapter=ldap:activate runbatch
/subsystem=teiid:read-rar-description(rar-name=ldap)
4.9.10. MongoDB データソース
batch /subsystem=resource-adapters/resource-adapter=mongodb/connection-definitions=mongodbDS:add(jndi-name="java:/mongoDS", class-name=org.teiid.resource.adapter.mongodb.MongoDBManagedConnectionFactory, enabled=true, use-java-context=true) /subsystem=resource-adapters/resource-adapter=mongodb/connection-definitions=mongodbDS/config-properties=RemoteServerList:add(value="{host}:27017") /subsystem=resource-adapters/resource-adapter=mongodb/connection-definitions=mongodbDS/config-properties=Database:add(value="{db-name}") /subsystem=resource-adapters/resource-adapter=mongodb:activate runbatch
表4.7 プロパティー
プロパティー | 説明 | 必要性 | デフォルト |
---|---|---|---|
RemoteServerList |
サーバーの場所のカンマ区切りのリスト。各場所には、host:port という形式でオプションのポートを含めることができます。
|
該当なし
|
該当なし
|
Username |
接続ユーザーの名前
|
False
|
なし
|
Password |
接続ユーザーのパスワード
|
False
|
なし
|
Database |
MongoDB データベース名
|
True
|
なし
|
/subsystem=teiid:read-rar-description(rar-name=mongodb)
4.9.11. Phoenix データソース
module add --name=org.apache.phoenix --resources=/path/to/phoenix-[version]-client.jar --dependencies=javax.api,sun.jdk,org.apache.log4j,javax.transaction.api /subsystem=datasources/jdbc-driver=phoenix:add(driver-name=phoenix,driver-module-name=org.apache.phoenix,driver-class-name=org.apache.phoenix.jdbc.PhoenixDriver
/subsystem=datasources/data-source=phoenixDS:add(jndi-name=java:/phoenixDS, driver-name=phoenix, connection-url=jdbc:phoenix:{zookeeper quorum server}, enabled=true, use-java-context=true, user-name={user}, password={password})
jdbc:phoenix [ :<zookeeper quorum> [ :<port number> ] [ :<root node> ] ], 'jdbc:phoenix:127.0.0.1:2181'
CREATE TABLE IF NOT EXISTS "Customer"("ROW_ID" VARCHAR PRIMARY KEY, "customer"."city" VARCHAR, "customer"."name" VARCHAR, "sales"."amount" VARCHAR, "sales"."product" VARCHAR)
CREATE TABLE IF NOT EXISTS "Customer"("ROW_ID" VARCHAR PRIMARY KEY, "customer"."city" VARCHAR, "customer"."name" VARCHAR, "sales"."amount" VARCHAR, "sales"."product" VARCHAR)
4.9.12. Salesforce データソース
batch /subsystem=resource-adapters/resource-adapter=salesforce/connection-definitions=sfDS:add(jndi-name=java:/sfDS, class-name=org.teiid.resource.adapter.salesforce.SalesForceManagedConnectionFactory, enabled=true, use-java-context=true) /subsystem=resource-adapters/resource-adapter=salesforce/connection-definitions=sfDS/config-properties=URL:add(value=https://www.salesforce.com/services/Soap/u/22.0) /subsystem=resource-adapters/resource-adapter=salesforce/connection-definitions=sfDS/config-properties=username:add(value={user}) /subsystem=resource-adapters/resource-adapter=salesforce/connection-definitions=sfDS/config-properties=password:add(value={password}) /subsystem=resource-adapters/resource-adapter=salesforce:activate runbatch
/subsystem=teiid:read-rar-description(rar-name=salesforce)
4.9.13. Solr データソース
batch /subsystem=resource-adapters/resource-adapter=solr/connection-definitions=solrDS:add(jndi-name=java:/solrDS, class-name=org.teiid.resource.adapter.solr.SolrManagedConnectionFactory, enabled=true, use-java-context=true) /subsystem=resource-adapters/resource-adapter=solr/connection-definitions=solrDS/config-properties=url:add(value=http://localhost:8983/solr/) /subsystem=resource-adapters/resource-adapter=solr/connection-definitions=solrDS/config-properties=CoreName:add(value=collection1) /subsystem=resource-adapters/resource-adapter=solr:activate runbatch
/subsystem=teiid:read-rar-description(rar-name=solr)
4.9.14. Web サービスデータソース
batch /subsystem=resource-adapters/resource-adapter=webservice/connection-definitions=wsDS:add(jndi-name=java:/wsDS, class-name=org.teiid.resource.adapter.ws.WSManagedConnectionFactory, enabled=true, use-java-context=true) /subsystem=resource-adapters/resource-adapter=webservice/connection-definitions=wsDS/config-properties=EndPoint:add(value={end_point}) /subsystem=resource-adapters/resource-adapter=webservice:activate runbatch
/subsystem=teiid:read-rar-description(rar-name=webservice)
。Web サービスデータソースは Wsdl プロパティーを使用した WSDL の指定をサポートします。Wsdl プロパティーが設定された場合は、 ServiceName、EndPointName、および NamespaceUri プロパティーも設定する必要があります。Wsdl プロパティーは URL またはファイルの場所、あるいは使用する WSDL になります。サーバーを再起動する必要があります。
表4.8 レジストリープロパティー
プロパティー | アプリケーション | 必要性 | デフォルト | 説明 |
---|---|---|---|---|
EndPoint |
HTTP および SOAP
|
True
|
該当なし
|
HTTP の場合は URL、SOAP の場合はサービスエンドポイント。
|
SecurityType |
HTTP および SOAP
|
false
|
なし
|
Web サービスで使用する認証タイプ。許可される値は "None"、"HTTPBasic"、"WSSecurity"、および "Kerberos" です。
|
AuthUserName |
HTTP および SOAP
|
false
|
該当なし
|
HTTPBasic および WsSecurity で使用される認証の名前の値。
|
AuthPassword |
HTTP および SOAP
|
false
|
該当なし
|
HTTPBasic および WsSecurity で使用される認証のパスワードの値。
|
ConfigFile |
HTTP および SOAP
|
False
|
該当なし
|
CXF クライアント設定ファイルまたは URL。
|
EndPointName |
HTTP および SOAP
|
False
|
Teiid
|
この接続で使用するエンドポイント QName のローカル部分。CXF ファイルで定義されたものに一致する必要があります。
|
ServiceName |
SOAP
|
False
|
該当なし
|
この接続で使用するサービス QName のローカル部分。
|
NamespaceUri |
SOAP。
|
False
|
http://teiid.org
|
この接続で使用するサービス QName のネームスペース URI。
|
RequestTimeout |
HTTP および SOAP
|
False
|
該当なし
|
要求のタイムアウト。
|
ConnectTimeout |
HTTP および SOAP
|
False
|
該当なし
|
接続のタイムアウト。
|
Wsdl |
SOAP。
|
False
|
該当なし
|
Web サービス用 WSDL ファイルまたは URL。
|
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" xsi:schemaLocation="http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://www.springframework.org/schema/beans > <http-conf:conduit name="{http://teiid.org}configName.http-conduit"> <http-conf:client ConnectionTimeout="120000" ReceiveTimeout="240000"/> </http-conf:conduit> </beans>
注記
batch /subsystem=resource-adapters/resource-adapter=webservice/connection-definitions=wsDS:add(jndi-name=java:/wsDS, class-name=org.teiid.resource.adapter.ws.WSManagedConnectionFactory, enabled=true, use-java-context=true) /subsystem=resource-adapters/resource-adapter=webservice/connection-definitions=wsDS/config-properties=ConfigFile:add(value=${jboss.server.home.dir}/standalone/configuration/xxx-jbossws-cxf.xml) /subsystem=resource-adapters/resource-adapter=webservice/connection-definitions=wsDS/config-properties=ConfigName:add(value=port_x) /subsystem=resource-adapters/resource-adapter=webservice/connection-definitions=wsDS/config-properties=SecurityType:add(value=WSSecurity) /subsystem=resource-adapters/resource-adapter=webservice:activate runbatch
xxx-jbossws-cxf.xml
ファイルを示します。
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> <jaxws:client name="{http://teiid.org}port_x" createdFromAPI="true"> <jaxws:outInterceptors> <bean/> <ref bean="Timestamp_Request"/> </jaxws:outInterceptors> </jaxws:client> <bean id="Timestamp_Request"> <constructor-arg> <map> <entry key="action" value="Timestamp"/> <map> </constructor-arg> </bean> </beans>
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:http="http://cxf.apache.org/transports/http/configuration" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:cxf="http://cxf.apache.org/core" xmlns:p="http://cxf.apache.org/policy" xmlns:sec="http://cxf.apache.org/configuration/security" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd http://cxf.apache.org/policy http://cxf.apache.org/schemas/policy.xsd"> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/> <cxf:bus> <cxf:features> <p:policies/> <cxf:logging/> </cxf:features> </cxf:bus> <jaxws:client name="{http://webservices.samples.jboss.org/}HelloWorldPort" createdFromAPI="true"> <jaxws:properties> <entry key="ws-security.kerberos.client"> <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient"> <constructor-arg ref="cxf"/> <property name="contextName" value="alice"/> <property name="serviceName" value="bob@service.example.com"/> </bean> </entry> </jaxws:properties> </jaxws:client> </beans>
standalone-teiid.xml
ファイルの 'security' サブシステムで security-domain を設定します。
<security-domain name="alice" cache-type="default"> <authentication> <login-module code="Kerberos" flag="required"> <module-option name="storeKey" value="true"/> <module-option name="useKeyTab" value="true"/> <module-option name="keyTab" value="/home/alice/alice.keytab"/> <module-option name="principal" value="alice@EXAMPLE.COM"/> <module-option name="doNotPrompt" value="true"/> <module-option name="debug" value="true"/> <module-option name="refreshKrb5Config" value="true"/> </login-module> </authentication> </security-domain>
batch /subsystem=resource-adapters/resource-adapter=webservice/connection-definitions=wsDS:add(jndi-name=java:/wsDS, class-name=org.teiid.resource.adapter.ws.WSManagedConnectionFactory, enabled=true, use-java-context=true) /subsystem=resource-adapters/resource-adapter=webservice/connection-definitions=wsDS/config-properties=ConfigFile:add(value=${jboss.server.home.dir}/standalone/configuration/xxx-jbossws-cxf.xml) /subsystem=resource-adapters/resource-adapter=webservice/connection-definitions=wsDS/config-properties=ConfigName:add(value=port_x) /subsystem=resource-adapters/resource-adapter=webservice:activate runbatch
xxx-jbossws-cxf.xml
ファイルは以下のとおりです。
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> <jaxws:client name="{http://teiid.org}port_y" createdFromAPI="true"> <jaxws:features> <bean class="org.apache.cxf.feature.LoggingFeature"/> </jaxws:features> </jaxws:client> </beans>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" xsi:schemaLocation="http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <http-conf:conduit name="{http://teiid.org}port_z.http-conduit"> <!-- WARNING ! disableCNcheck=true should NOT be used in production --> <http-conf:tlsClientParameters disableCNcheck="true" /> </http-conf:conduit> </beans>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" xsi:schemaLocation="http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd"> <http-conf:conduit name="*.http-conduit"> <http-conf:client ConnectionTimeout="120000" ReceiveTimeout="240000"/> <http-conf:tlsClientParameters secureSocketProtocol="SSL"> <sec:trustManagers> <sec:keyStore type="JKS" password="changeit" file="/path/to/truststore.jks"/> </sec:trustManagers> </http-conf:tlsClientParameters> </http-conf:conduit> </beans>
standalone.xml
ファイルでセキュリティードメインを作成します。
<security-domain name="MY_REALM" cache-type="default"> <authentication> <login-module code="Kerberos" flag="required"> <module-option name="storeKey" value="true"/> <module-option name="useKeyTab" value="true"/> <module-option name="keyTab" value="/home/username/service.keytab"/> <module-option name="principal" value="host/testserver@MY_REALM"/> <module-option name="doNotPrompt" value="true"/> <module-option name="debug" value="false"/> </login-module> </authentication> </security-domain>
jboss-cxf-xxx.xml
ファイルを設定します。
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" xsi:schemaLocation="http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd"> <http-conf:conduit name="*.http-conduit"> <http-conf:authorization> <sec:AuthorizationType>Negotiate</sec:AuthorizationType> <sec:Authorization>MY_REALM</sec:Authorization> </http-conf:authorization> </http-conf:conduit> </beans>
<config-property name="ConfigFile">path/to/jboss-cxf-xxxx.xml</config-property> <config-property name="ConfigName">test</config-property>
重要
<sec:Authorization>MY_REALM</sec:Authorization>
<config-property name="SecurityType">Kerberos</config-property> <security> <security-domain>passthrough-security</security-domain> </security>
<security-domain name="passthrough-security" cache-type="default"> <authentication> <login-module code="org.teiid.jboss.PassthroughIdentityLoginModule" flag="required" module="org.jboss.teiid"> <module-option name="username" value="guest"/> <module-option name="password" value="guest"/> </login-module> </authentication> </security-domain>
注記
第5章 バージョン管理
5.1. 仮想データベースバージョン管理
5.2. VDB バージョンの設定
vdb.xml
ファイル (ダイナミック VDB で有用) を使用するか、またはデプロイメントファイルの命名規則で指定することによって (VDBNAME.VERSION.vdb
など) 行えます。デプロイヤーは、適切なバージョン番号を選択します。すでに現在のデプロイメントに一致する VDB の名前とバージョンの組み合わせが存在する場合は、前の VDB への接続が終了し、キャッシュエントリがフラッシュされます。新しい接続は、新しい VDB に対して行われます。
5.3. 仮想データベース接続タイプ
- NONE: 新しい接続を許可しません。
- BY_VERSION: (デフォルト設定) では、バージョンが指定された場合、またはバージョンが最も初期の BY_VERSION VDB であり、ANY とマークされた VDB がない場合にのみ接続が許可されます。
- ANY: 指定されたバージョンを使用して、または使用せずに接続を許可します。
5.4. 管理 API を使用して VDB 接続タイプを設定
org.teiid.adminapi
) 内の Admin インターフェースにより提供された changeVDBConnectionType
メソッドを使用して変更できます。
第6章 リソースアダプター
6.1. JBoss Data Virtualization のリソースアダプター
- ファイルアダプター -
file
- Google スプレッドシートアダプター -
google
- Red Hat JBoss Data Grid (6.1 & 6.2) アダプター -
infinispan
- LDAP アダプター -
ldap
- Salesforce アダプター -
salesforce
- Web サービスアダプター -
webservice
- Mongo DB アダプター (テクニカルプレビュー) -
mongodb
注記
6.2. リソースアダプターの設定
注記
重要
- 同じ名前を持つリソースアダプターが追加されると、サーバーの再起動が必要になります。これは、Red Hat JBoss EAP の JCA システムの設計によるもので、同じ名前を持つリソースアダプターの複数のインスタンスはサーバーの起動後のみ認識されます。
- 名前を指定してリソースアダプターを削除すると、同じ名前のすべてのインスタンスが削除されます。
6.3. 設定例
EAP_HOME/docs/teiid/datasources/
ディレクトリーにあります。
注記
6.4. リソースアダプタープロパティー
/subsystem=teiid:read-rar-description(rar-name=ADAPTER_ID)
6.5. CLI スクリプトを使用してリソースアダプターを設定
EAP_HOME/docs/teiid/datasources/DATASOURCE
ディレクトリーにあります。
./EAP_HOME/bin/jboss-cli.sh --connect --file=EAP_HOME/docs/teiid/datasources/DATASOURCE/SCRIPT.cli --properties=EAP_HOME/docs/teiid/datasources/DATASOURCE/SCRIPT.properties
注記
6.6. ファイルアダプタープロパティー
設定プロパティー
|
例
|
説明
|
---|---|---|
ParentDirectory
|
データファイルが格納されるディレクトリー。
| |
FileMapping
|
file1.txt=fileX.txt,file2.txt=fileY.txt
|
特定の相対パス (大文字と小文字を区別) を代替の場所にリダイレクトするよう FileMapping を設定します。文字列値は、key=value(,key=value)* という形式でマップを指定します。これはオプションです。
|
AllowParentPaths
|
true
|
パスで '..' を許可しない場合は AllowParentPaths を false に設定します。これにより、親ディレクトリーに含まれないファイルが要求されることが回避されます。これはオプションです。
|
6.7. Google スプレッドシートリソースアダプタープロパティー
6.7.1. Google スプレッドシートリソースアダプタープロパティー
設定プロパティー
|
説明
|
---|---|
AuthMethod
|
これは、Google にアクセスするために使用する認証方法です。このプロパティーは、
ClientLogin または OAuth2 に設定できます。設定が ClientLogin の場合は、Username と Password の 2 つの追加パラメーターを提供する必要があります。設定が OAuth2 の場合は、RefreshToken を提供する必要があります。
|
RefreshToken
| AuthMethod=OAuth2 の場合のみ必須です。
|
Username
|
Google アカウントのユーザー名。
AuthMethod=ClientLogin の場合のみ必須です。
|
Password
|
Google アカウントのパスワード。
AuthMethod=ClientLogin の場合のみ必須です。
|
SpreadsheetName
|
このリソースアダプターが接続するスプレッドシートの名前。必須です。
|
BatchSize
|
一度にフェッチできる行の最大数。デフォルト値は 4096 です。
|
6.7.2. OAuth 更新トークンの取得
手順6.1 OAuth 更新トークンの取得
承認コードを取得する
次のリンクをクリックします: Get Authorization CodeAllow access をクリックして、Teiid Google Connector がスプレッドシートが存在する Google アカウントにアクセスすることを許可します。更新トークンを取得する
前の手順の承認コードを以下の POST 要求のcode
フィールドにコピーし、コマンドラインから実行します。curl \--data-urlencode code=AUTH_CODE \ --data-urlencode client_id=217138521084.apps.googleusercontent.com \ --data-urlencode client_secret=gXQ6-lOkEjE1lVcz7giB4Poy \ --data-urlencode redirect_uri=urn:ietf:wg:oauth:2.0:oob \ --data-urlencode grant_type=authorization_code https://accounts.google.com/o/oauth2/token
更新トークンが応答に含まれます。
6.8. JBoss Data Grid リソースアダプタープロパティー
キャッシュタイプ
|
キャッシュの取得手段
|
---|---|
リモートキャッシュ
|
JNDI の使用
|
リモートキャッシュ
|
指定された 1 つ以上のホストとポートの組み合わせ
|
リモートキャッシュ
|
指定された HotRod クライアントプロパティーファイルの参照
|
プロパティー名
|
必須
|
プロパティーテンプレート
|
説明
|
---|---|---|---|
CacheTypeMap
|
Y
|
cacheName:className[;pkFieldName] [,cacheName:className[;pkFieldName]..]
|
このプロパティーは、ルート Java クラス名をキャッシュにマップし、プライマリーキーを識別します。
|
module
|
N
| |
このプロパティーは、CacheTypeMap で定義されたキャッシュクラスを含む JBoss EAP モジュールを指定します。
|
CacheJndiName
|
N
| |
これは、 CacheContainer を見つけるために使用する JNDI 名です。
|
RemoteServerList
|
N
|
host:port[;host:portâ¦.]
|
このプロパティーは、CacheTypeMap で定義されたキャッシュにアクセスするために一緒にクラスタ化するホスト (およびポート) を指定します。
|
ConfigurationFileNameForLocalCache
|
N
| |
これは、ローカルキャッシュを設定するための XML 設定ファイルです。
|
HotRodClientPropertiesFile
|
N
| |
これは、リモートキャッシュに対する接続を設定するための HotRod プロパティーファイルです。
|
6.9. LDAP アダプタープロパティー
設定プロパティー
|
プロパティーテンプレート
|
説明
|
---|---|---|
LdapUrl
| |
LDAP ディレクトリー URL。このプロパティーは必須です。
|
LdapAdminUserDN
|
cn=???,ou=???,dc=???
|
LDAP 管理ユーザー DN。このプロパティーは必須です。
|
LdapAdminUserPassword
| |
LDAP 管理パスワード。このプロパティーは必須です。
|
LdapTxnTimeoutInMillis
| |
LDAP トランザクションタイムアウト (ミリ秒単位)。-1 = タイムアウトなし。このプロパティーは必須です。
|
6.10. Salesforce アダプタープロパティー
設定プロパティー
|
説明
|
---|---|
URL
|
接続先の URL。
|
username
|
ユーザー名。
|
password
|
パスワード。
|
requestTimeout
|
これは、タイムアウトを設定するオプションのプロパティーであり、CXF 設定により指定することもできます。
|
connectTimeout
|
これは、タイムアウトを設定するオプションのプロパティーであり、CXF 設定により指定することもできます。
|
configFile
|
このプロパティーを使用して、SalesForce サービスの特定の設定を提供します。この設定には、ネームスペース "urn:partner.soap.sforce.com" で "SforceService" サービスの設定を含める必要があります。
|
6.11. Web サービスアダプタープロパティー
設定プロパティー
|
例
|
説明
|
---|---|---|
EndPoint
| |
Web サービス用エンドポイント URL
|
SecurityType
|
HTTPBasic
|
http 基本セキュリティーの使用
|
AuthUserName
| |
http 基本セキュリティーの使用
|
AuthPassword
| |
http 基本セキュリティーの使用
|
RequestTimeout
| |
これは、タイムアウトを設定するオプションのプロパティーであり、CXF 設定により指定することもできます。
|
ConnectTimeout
| |
これは、タイムアウトを設定するオプションのプロパティーであり、CXF 設定により指定することもできます。
|
ConfigFile
| |
これらのプロパティーを使用して、このサービスの特定の CXF 設定を提供します。このファイルには、"EndPointName" プロパティーで定義された名前の設定を含める必要があります。
|
EndPointName
|
WebSVC
|
ConfigFile とともに使用します。これらのプロパティーは、このサービスの特定の CXF 設定を提供します。
|
6.12. MongoDB アダプタープロパティー
設定プロパティー
|
例
|
説明
|
---|---|---|
RemoteServerList
|
localhost:27017
|
host:port[;host:port...]* という形式の MongoDB サーバーリスト
|
Database
| |
データベース名。
|
Username
| |
このプロパティーをパスワードとともに使用してクレデンシャルを提供します。
|
Password
| |
このプロパティーをユーザー名とともに使用してクレデンシャルを提供します。
|
第7章 CXF 設定
7.1. CXF 設定
/subsystem=resource-adapters/resource-adapter=webservice/connection-definitions=wsDS/config-properties=ConfigFile:add(value=${jboss.server.home.dir}/standalone/configuration/xxx-jbossws-cxf.xml)
を介して指定されます。
7.2. Web サービスデータソース用 CXF の設定
前提条件
- Web サービスデータソースが設定されている必要があります。
手順7.1 Web サービスデータソース用 CXF の設定
Web サービス CXF
ConfigFile
の指定管理 CLI 内から以下のコマンドを実行してデータソースの CXF 設定ファイルを指定します。/subsystem=resource-adapters/resource-adapter=webservice/connection-definitions=wsDS/config-properties=ConfigFile:add(value=CONFIG-FILE.xml)
Web サービス CXF
ConfigName
の指定管理 CLI 内から以下のコマンドを実行し、値としてポート QName (ローカル部分のみ) を使用してポート設定を指定します。/subsystem=resource-adapters/resource-adapter=webservice/connection-definitions=wsDS/config-properties=ConfigName:add(value=CONFIG-NAME)
CXF 設定ファイルの作成/編集
EAP_HOME/MODE/configuration/CONFIG-FILE.xml
設定ファイルを開くか、作成します。<http-conf:conduit name="{NAMESPACE}CONFIG-NAME.http-conduit"> ... </http-conf:conduit>
注記
CONFIG-NAME は、上述したものと同じであり、デフォルト値はteiid
です。NAMESPACE は設定ファイルの QName に対するネームスペース URI であり、データソースの WSDL/ネームスペース設定に一致する必要があります (または、デフォルトの "http://teiid.org" を使用します)。ネームスペースはネームスペースデータソースプロパティーを介して設定できます。通常、これは WSDL 設定を提供する場合のみ行う必要があります。以下に、タイムアウトを設定する CXF ファイルの例を示します。<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" xsi:schemaLocation="http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <http-conf:conduit name="{NAMESPACE}CONFIG-NAME.http-conduit"> <http-conf:client ConnectionTimeout="120000" ReceiveTimeout="240000"/> </http-conf:conduit> </beans>
注記
7.3. Web サービスデータソース用 CXF の設定: WS-Security
前提条件
- Web サービスデータソースが設定され、
ConfigFile
プロパティーとConfigName
プロパティーが CXF に対して設定されている必要があります。
手順7.2 Web サービスデータソース用 CXF の設定: WS-Security
CXF
SecurityType
の指定管理 CLI 内から以下のコマンドを実行して、SecurityType
の値としてWSSecurity
を使用します。/subsystem=resource-adapters/resource-adapter=webservice/connection-definitions=wsDS/config-properties=SecurityType:add(value=WSSecurity)
CXF 設定ファイルの変更
Web サービスデータソース用の CXF 設定ファイルを開き、必要なプロパティーを追加します。以下に、タイムスタンプを SOAP ヘッダーに追加する Web サービスデータソース CXF 設定ファイルの例を示します。<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> <jaxws:client name="{http://teiid.org}.teiid" createdFromAPI="true"> <jaxws:outInterceptors> <ref bean="Timestamp_Request"/> </jaxws:outInterceptors> </jaxws:client> <bean id="Timestamp_Request"> <constructor-arg> <map> <entry key="action" value="Timestamp"/> </map> </constructor-arg> </bean> </beans>
注記
- WSDL は、使用するサービスを定義することを目的としません。
- Spring XML 設定ファイルは、関連するポリシー設定を含む必要があります。
- クライアントポート設定は、
CONFIG-NAME
によりデータソースインスタンスに対して照合されます。この設定には、異なるローカル名を持つ他のポート設定が含まれることがあります。
参考資料
- WS-Security および CXF 設定オプションの詳細については、http://cxf.apache.org/docs/ws-security.html を参照してください。
7.4. Web サービスデータソース用 CXF の設定: ロギング
org.apache.cxf.interceptor
コンテキストに対する INFO
レベルで実行されます。
前提条件
- Web サービスデータソースが設定され、
ConfigFile
プロパティーとConfigName
プロパティーが CXF に対して設定されている必要があります。
手順7.3 Web サービスデータソース用 CXF の設定: ロギング
CXF 設定ファイルの変更
Web サービスデータソース用の CXF 設定ファイルを開き、必要なロギングプロパティーを追加します。以下に、ロギングを有効にする Web サービスデータソースの CXF 設定ファイルの例を示します。<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> <jaxws:client name="{http://teiid.org}teiid" createdFromAPI="true"> <jaxws:features> <bean class="org.apache.cxf.feature.LoggingFeature"/> </jaxws:features> </jaxws:client> </beans>
参考資料
- CXF ロギング設定オプションの詳細については、http://cxf.apache.org/docs/debugging-and-logging.html を参照してください。
7.5. Web サービスデータソース用 CXF の設定: トランスポート設定
前提条件
- Web サービスデータソースが設定され、
ConfigFile
プロパティーとConfigName
プロパティーが CXF に対して設定されている必要があります。
手順7.4 Web サービスデータソース用 CXF の設定: トランスポート設定
- Web サービスデータソース用の CXF 設定ファイルを開き、必要なトランスポートプロパティーを追加します。以下に、ホスト名検証を無効にする Web サービスデータソースの CXF 設定ファイルの例を示します。
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <http-conf:conduit name="{http://teiid.org}teiid.http-conduit"> <http-conf:tlsClientParameters disableCNcheck="tru" /> </http-conf:conduit> </beans>
警告
disableCNcheck=true
を使用しないでください。
7.6. Web サービスデータソース用 CXF の設定: SSL サポート (HTTPS)
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" xsi:schemaLocation="http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd"> <http-conf:conduit name="*.http-conduit"> <http-conf:client ConnectionTimeout="120000" ReceiveTimeout="240000"/> <http-conf:tlsClientParameters secureSocketProtocol="SSL"> <sec:trustManagers> <sec:keyStore type="JKS" password="changeit" file="/path/to/truststore.jks"/> </sec:trustManagers> </http-conf:tlsClientParameters> </http-conf:conduit> </beans>
7.7. Salesforce データソース用 CXF の設定
前提条件
- Salesforce データソースが設定されている必要があります。
手順7.5 Salesforce データソース用 CXF の設定
- 管理 CLI 内から以下のコマンドを実行してデータソースの CXF 設定ファイルを指定します。
/subsystem=resource-adapters/resource-adapter=salesforce/connection-definitions=sfDS/config-properties=ConfigFile:add(value=CONFIG-FILE.xml)
- 管理 CLI 内から以下のコマンドを実行し、値としてポート QName (ローカル部分のみ) を使用してポート設定を指定します (このケースでは
Soap
)。/subsystem=resource-adapters/resource-adapter=salesforce/connection-definitions=sfDS/config-properties=ConfigName:add(value=Soap)
EAP_HOME/MODE/configuration/CONFIG-FILE.xml
設定ファイルを開くか、作成します。ConfigName
の値としてSoap
を使用して QName のネームスペース URI を{urn:partner.soap.sforce.com}
に設定します。<http-conf:conduit name="{urn:partner.soap.sforce.com}Soap.http-conduit"> ... </http-conf:conduit>
以下に、タイムアウト値を設定する CXF ファイルの例を示します。<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" xsi:schemaLocation="http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <http-conf:conduit name="{urn:partner.soap.sforce.com}Soap.http-conduit"> <http-conf:client ConnectionTimeout="120000" ReceiveTimeout="240000"/> </http-conf:conduit> </beans>
注記
第8章 JDBC データソース
8.1. JDBC データソースの設定
- JDBC JAR ドライバーファイルをインストール (またはデプロイ) します。
- JBoss EAP でデータソースとして作成 (または設定) します。
注記
8.2. 設定例
EAP_HOME/docs/teiid/datasources/
ディレクトリーにあります。
注記
8.3. 管理 CLI で JDBC ドライバーをインストール
手順8.1 管理 CLI で JDBC ドライバーをインストール
- 管理 CLI を起動します:
./EAP_HOME/bin/jboss-cli.sh
connect
コマンドを入力します。deploy PATH/FILE.jar
コマンドを入力します:deploy ojdbc6.jar
quit
コマンドを入力します。
8.4. 管理コンソールを用いた JDBC ドライバーのインストール
アプリケーションが JDBC データソースに接続する前に、データソースベンダーの JDBC ドライバーを JBoss EAP 6 が使用できる場所にインストールする必要があります。JBoss EAP 6 では、これらのドライバーを他のデプロイメントと同じようにデプロイできます。そのため、管理対象ドメインを使用する場合は、サーバーグループ内の複数のサーバー全体でドライバーをデプロイできます。
このタスクを実行する前に、以下の前提条件を満たしている必要があります。
- データベースのベンダーから JDBC ドライバーをダウンロードする必要があります。
注記
手順8.2 JDBC ドライバー JAR の編集
- 空の一時ディレクトリーに移動するか、空の一時ディレクトリーを作成します。
- META-INF サブディレクトリーを作成します。
- META-INF/services サブディレクトリーを作成します。
- JDBC ドライバーの完全修飾クラス名を示す 1 行が含まれる、META-INF/services/java.sql.Driver ファイルを作成します。
- JAR コマンドラインツールを使用して、次のように JAR を更新します。
jar \-uf jdbc-driver.jar META-INF/services/java.sql.Driver
- 管理ドメインを使っている場合は、JAR ファイルをサーバーグループにデプロイします。それ以外の場合は、サーバーにデプロイします。詳細については、『JBoss EAP 6 管理および設定ガイド』の項「管理コンソールでのデプロイ」を参照してください。
JDBC ドライバーがデプロイされ、アプリケーションが使用できるようになります。
8.5. 管理インターフェースによる非 XA データソースの作成
ここでは、管理コンソールまたは管理 CLI のいずれかを使用して非 XA データソースを作成する手順について取り上げます。
前提条件
- JBoss EAP 6 サーバーが稼働している必要があります。
注記
注記
手順8.3 管理 CLI または管理コンソールのいずれかを使用したデータソースの作成
管理 CLI
- CLI ツールを起動し、サーバーに接続します。
- 以下の管理 CLI コマンドを実行して非 XA データソースを作成し、適切に変数を設定します。
注記
DRIVER_NAME の値は、JDBC ドライバー JAR にある/META-INF/services/java.sql.Driver
ファイルにリストされたクラスの数によって異なります。クラスが 1 つしかない場合、この値は JAR の名前になります。クラスが複数ある場合、この値は JAR + driverClassName + "_" + majorVersion +"_" + minorVersion の名前になります。失敗した場合は、以下のエラーがログに記録されます。JBAS014775: New missing/unsatisfied dependencies
たとえば、MySQL 5.1.31 ドライバーで必要な DRIVER_NAME 値はmysql-connector-java-5.1.31-bin.jarcom.mysql.jdbc.Driver_5_1
です。data-source add --name=DATASOURCE_NAME --jndi-name=JNDI_NAME --driver-name=DRIVER_NAME --connection-url=CONNECTION_URL
- データソースを有効にします。
data-source enable --name=DATASOURCE_NAME
管理コンソール
- 管理コンソールへログインします。
管理コンソールの Datasources パネルに移動します。
- コンソールの上部から Configuration タブを選択します。
- ドメインモードの場合は、左上のドロップダウンボックスからプロファイルを選択します。
- コンソールの左側にある Subsystems メニューを展開し、Connector メニューを展開します。
- コンソールの左側にあるメニューより Datasources を選択します。
新しいデータソースを作成します。
- Datasources パネルの上部にある Add を選択します。
- Create Datasource ウィザードで新しいデータソースの属性を入力し、Next ボタンを押します。
- Create Datasource ウィザードで JDBC ドライバーの詳細を入力し、Next をクリックします。
- Create Datasource ウィザードで接続設定を入力します。
- Test Connection ボタンをクリックしてデータソースへの接続をテストし、設定が正しいことを確認します。
- Done をクリックして終了します。
非 XA データソースがサーバーに追加されます。standalone.xml
または domain.xml
ファイル、および管理インターフェースで追加を確認できます。
8.6. 管理インターフェースによる XA データソースの作成
ここでは、管理コンソールまたは管理 CLI のいずれかを使用して XA データソースを作成する手順について取り上げます。
注記
手順8.4 管理 CLI または管理コンソールのいずれかを使用した XA データソースの作成
管理 CLI
- 以下の管理 CLI コマンドを実行して XA データソースを作成し、適切に変数を設定します。
注記
DRIVER_NAME の値は、JDBC ドライバー JAR にある/META-INF/services/java.sql.Driver
ファイルにリストされたクラスの数によって異なります。クラスが 1 つしかない場合、この値は JAR の名前になります。クラスが複数ある場合、この値は JAR + driverClassName + "_" + majorVersion +"_" + minorVersion の名前になります。失敗した場合は、以下のエラーがログに記録されます。JBAS014775: New missing/unsatisfied dependencies
たとえば、MySQL 5.1.31 ドライバーで必要な DRIVER_NAME 値はmysql-connector-java-5.1.31-bin.jarcom.mysql.jdbc.Driver_5_1
です。xa-data-source add --name=XA_DATASOURCE_NAME --jndi-name=JNDI_NAME --driver-name=DRIVER_NAME --xa-datasource-class=XA_DATASOURCE_CLASS
XA データソースプロパティーの設定
サーバー名の設定
次のコマンドを実行し、ホストのサーバー名を設定します。/subsystem=datasources/xa-data-source=XA_DATASOURCE_NAME/xa-datasource-properties=ServerName:add(value=HOSTNAME)
データベース名の設定
次のコマンドを実行し、データベース名を設定します。/subsystem=datasources/xa-data-source=XA_DATASOURCE_NAME/xa-datasource-properties=DatabaseName:add(value=DATABASE_NAME)
- データソースを有効にします。
xa-data-source enable --name=XA_DATASOURCE_NAME
管理コンソール
管理コンソールの Datasources パネルに移動します。
- コンソールの上部から Configuration タブを選択します。
- ドメインモードの場合は、左上のドロップダウンボックスからプロファイルを選択します。
- コンソールの左側にある Subsystems メニューを展開し、Connector メニューを展開します。
- Datasources を選択します。
- XA Datasource タブを選択します。
新しい XA データソースを作成します。
- 追加 をクリックします。
- Create XA Datasource ウィザードに新しい XA データソースの属性を入力し、Next をクリックします。
- Create XA Datasource ウィザードに JDBC ドライバーの詳細を入力し、Next をクリックします。
- XA プロパティーを入力し、Next をクリックします。
- Create XA Datasource ウィザードで接続設定を入力します。
- Test Connection ボタンをクリックして XA データソースへの接続をテストし、設定が正しいことを確認します。
- Done をクリックして終了します。
XA データソースがサーバーに追加されます。追加内容は standalone.xml
または domain.xml
ファイルのどちらかと、管理インターフェースで確認することができます。
8.7. データソースのパラメーター
表8.1 非 XA および XA データソースに共通のデータソースパラメーター
Parameter | 説明 |
---|---|
jndi-name | データソースの一意の JNDI 名。 |
pool-name | データソースの管理プール名。 |
enabled | データソースが有効かどうかを指定します。 |
use-java-context |
データソースをグローバルの JNDI にバインドするかどうかを指定します。
|
spy |
JDBC レイヤーで
spy 機能を有効にします。この機能は、データソースへの JDBC トラフィックをすべてログに記録します。ロギングカテゴリーの jboss.jdbc.spy もロギングサブシステムのログレベルである DEBUG に設定する必要があることに注意してください。
|
use-ccm | キャッシュ接続マネージャーを有効にします。 |
new-connection-sql | 接続プールに接続が追加された時に実行する SQL ステートメント。 |
transaction-isolation |
次のいずれかになります。
|
url-selector-strategy-class-name | インターフェース org.jboss.jca.adapters.jdbc.URLSelectorStrategy を実装するクラス。 |
セキュリティー |
セキュリティー設定である子要素が含まれます。表8.6「セキュリティーパラメーター」を参照してください。
|
validation |
検証設定である子要素が含まれます。表8.7「検証パラメーター」を参照してください。
|
timeout |
タイムアウト設定である子要素が含まれます。表8.8「タイムアウトパラメーター」を参照してください。
|
statement |
ステートメント設定である子要素が含まれます。表8.9「ステートメントのパラメーター」を参照してください。
|
表8.2 非 XA データソースのパラメーター
Parameter | 説明 |
---|---|
jta | 非 XA データソースの JTA 統合を有効にします。XA データソースには適用されません。 |
connection-url | JDBC ドライバーの接続 URL。 |
driver-class | JDBC ドライバークラスの完全修飾名。 |
connection-property | Driver.connect(url,props) メソッドに渡される任意の接続プロパティー。各 connection-property は、文字列名と値のペアを指定します。プロパティー名は名前、値は要素の内容に基づいています。
|
pool |
プーリング設定である子要素が含まれます。表8.4「非 XA および XA データソースに共通のプールパラメーター」を参照してください。
|
url-delimiter |
高可用性 (HA) クラスター化されたデータベースの connection-url にある URL の区切り文字。
|
表8.3 XA データソースのパラメーター
Parameter | 説明 |
---|---|
xa-datasource-property |
実装クラス
XADataSource に割り当てるプロパティー。name=value で指定されます。 setName という形式で setter メソッドが存在する場合、プロパティーは setName(value) という形式の setter メソッドを呼び出すことで設定されます。
|
xa-datasource-class |
実装クラス
javax.sql.XADataSource の完全修飾名。
|
driver |
JDBC ドライバーが含まれるクラスローダーモジュールへの一意な参照です。許可される形式は driverName#majorVersion.minorVersion です。
|
xa-pool |
プーリング設定である子要素が含まれます。表8.4「非 XA および XA データソースに共通のプールパラメーター」および表8.5「XA プールパラメーター」を参照してください。
|
recovery |
リカバリー設定である子要素が含まれます。表8.10「リカバリーパラメーター」を参照してください。
|
表8.4 非 XA および XA データソースに共通のプールパラメーター
Parameter | 説明 |
---|---|
min-pool-size | プールが保持する最小接続数 |
max-pool-size | プールが保持可能な最大接続数 |
prefill | 接続プールのプレフィルを試行するかどうかを指定します。要素が空の場合は true を示します。デフォルト値は、false です。 |
use-strict-min | min-pool-size に達した後、アイドル接続スキャンがさらに閉じられた接続のマーク付けを厳密に停止するかどうかを指定します。 |
flush-strategy |
エラーの場合にプールをフラッシュするかどうかを指定します。有効な値は次の通りです。
デフォルト値は
FailingConnectionOnly です。
|
allow-multiple-users | 複数のユーザーが getConnection(user, password) メソッドを使いデータソースへアクセスするかどうか、および内部プールタイプがこの動作に対応するかを指定します。 |
表8.5 XA プールパラメーター
Parameter | 説明 |
---|---|
is-same-rm-override | javax.transaction.xa.XAResource.isSameRM(XAResource) クラスが true あるいは false のどちらを返すかを指定します。 |
interleaving | XA 接続ファクトリーのインターリービングを有効にするかどうかを指定します。 |
no-tx-separate-pools |
コンテキスト毎に sub-pool を作成するかどうかを指定します。これには Oracle のデータソースが必要ですが、このデータソースは JTA トランザクションの内部、外部に関わらず、XA 接続の利用ができなくなります。
このオプションを使用すると 2 つの実際のプールが作成されるため、プールサイズの合計が
max-pool-size の 2 倍になります。
|
pad-xid | Xid のパディングを行うかどうかを指定します。 |
wrap-xa-resource |
XAResource を
org.jboss.tm.XAResourceWrapper インスタンスでラップするかどうかを指定します。
|
表8.6 セキュリティーパラメーター
Parameter | 説明 |
---|---|
user-name | 新規接続の作成に使うユーザー名 |
パスワード | 新規接続の作成に使うパスワード |
security-domain | 認証処理を行う JAAS security-manager 名が含まれます。この名前は、JAAS ログイン設定の application-policy/name 属性に相関します。 |
reauth-plugin | 物理接続の再認証に使う再認証プラグインを定義します。 |
表8.7 検証パラメーター
Parameter | 説明 |
---|---|
valid-connection-checker | SQLException.isValidConnection(Connection e) メソッドを提供し接続を検証するインターフェース org.jboss.jca.adaptors.jdbc.ValidConnectionChecker の実装。例外が発生すると接続が破棄されます。存在する場合、check-valid-connection-sql パラメーターが上書きされます。
|
check-valid-connection-sql | プール接続の妥当性を確認する SQL ステートメント。これは、管理接続をプールから取得し利用する場合に呼び出される場合があります。 |
validate-on-match |
接続ファクトリーが指定のセットに対して管理された接続に一致させようとした時に接続レベルの検証を実行するかどうかを示します。
通常、
validate-on-match に true を指定したときに background-validation を true に指定することはありません。クライアントが使用する前に接続を検証する必要がある場合に Validate-on-match が必要になります。このパラメーターはデフォルトでは false になっています。
|
background-validation |
接続がバックグラウンドスレッドで検証されることを指定します。
validate-on-match を使用しない場合、バックグラウンドの検証はパフォーマンスを最適化します。validate-on-match が true のときに background-validation を使用すると、チェックが冗長になることがあります。バックグラウンド検証では、不良の接続がクライアントに提供される可能性があります (検証スキャンと接続がクライアントに提供されるまでの間に接続が悪くなります)。そのため、クライアントアプリケーションはこの接続不良の可能性に対応する必要があります。
|
background-validation-millis | バックグラウンド検証を実行する期間 (ミリ秒単位)。 |
use-fast-fail |
true の場合、接続が無効であれば最初に接続を割り当てしようとした時点で失敗します。デフォルト値は
false です。
|
stale-connection-checker |
ブール値の
isStaleConnection(SQLException e) メソッドを提供する org.jboss.jca.adapters.jdbc.StaleConnectionChecker のインスタンス。このメソッドが true を返すと、SQLException のサブクラスである org.jboss.jca.adapters.jdbc.StaleConnectionException に例外がラップされます。
|
exception-sorter |
ブール値である
isExceptionFatal(SQLException e) メソッドを提供する org.jboss.jca.adapters.jdbc.ExceptionSorter のインスタンス。このメソッドは、例外が connectionErrorOccurred メッセージとして javax.resource.spi.ConnectionEventListener のすべてのインスタンスへブロードキャストされるかどうかを検証します。
|
表8.8 タイムアウトパラメーター
Parameter | 説明 |
---|---|
use-try-lock | lock() の代わりに tryLock() を使用します。これは、ロックが使用できない場合に即座に失敗するのではなく、設定された秒数間ロックの取得を試みます。デフォルト値は 60 秒です。たとえば、タイムアウトを 5 分に設定するには、<use-try-lock> 300</use-try-lock> を設定します。 |
blocking-timeout-millis | 接続待機中にブロックする最大時間 (ミリ秒)。この時間を超過すると、例外が発生します。これは、接続許可の待機中のみブロックし、新規接続の作成に長時間要している場合は例外が発生しません。デフォルト値は 30000 (30 秒) です。 |
idle-timeout-minutes |
アイドル接続が切断されるまでの最大時間 (分単位)。実際の最大時間は idleRemover のスキャン時間によって異なります。idleRemover のスキャン時間はプールの最小
idle-timeout-minutes の半分になります。
|
set-tx-query-timeout |
トランザクションがタイムアウトするまでの残り時間を基にクエリーのタイムアウトを設定するかどうかを指定します。トランザクションが存在しない場合は設定済みのクエリーのタイムアウトが使用されます。デフォルト値は
false です。
|
query-timeout | クエリーのタイムアウト (秒)。デフォルト値はタイムアウトなしです。 |
allocation-retry | 例外を発生させる前に接続の割り当てを再試行する回数。デフォルト値は 0 で、初回の割り当て失敗で例外が発生します。 |
allocation-retry-wait-millis |
接続の割り当てを再試行するまで待機する期間 (ミリ秒単位)。デフォルト値は 5000 (5 秒) です。
|
xa-resource-timeout |
ゼロでない場合、この値は
XAResource.setTransactionTimeout メソッドへ渡されます。
|
表8.9 ステートメントのパラメーター
Parameter | 説明 |
---|---|
track-statements |
接続がプールへ返され、ステートメントが準備済みステートメントキャッシュへ返された時に、閉じられていないステートメントをチェックするかどうかを指定します。false の場合、ステートメントは追跡されません。
有効な値
|
prepared-statement-cache-size | LRU (Least Recently Used) キャッシュにある接続毎の準備済みステートメントの数。 |
share-prepared-statements |
閉じずに同じステートメントを 2 回要求した場合に、同じ基盤の準備済みステートメントを使用するかどうかを指定します。デフォルト値は
false です。
|
表8.10 リカバリーパラメーター
Parameter | 説明 |
---|---|
recover-credential | リカバリーに使用するユーザー名とパスワードのペア、あるいはセキュリティードメイン。 |
recover-plugin |
リカバリーに使用される
org.jboss.jca.core.spi.recoveryRecoveryPlugin クラスの実装。
|
8.8. JDBC ドライバーをダウンロードできる場所
注記
表8.11 JDBC ドライバーをダウンロードできる場所
ベンダー | ダウンロード場所 |
---|---|
MySQL | |
PostgreSQL | |
Oracle | |
IBM | |
Sybase | |
Microsoft |
第9章 ロギング
9.1. ロギングの概要
9.2. デフォルトのログファイルの場所
表9.1 スタンドアロンサーバーのデフォルトログファイル
ログファイル | 説明 |
---|---|
EAP_HOME/standalone/log/server.log |
サーバーログ。サーバー起動メッセージなど、すべてのサーバーログメッセージが含まれます。
|
EAP_HOME/standalone/log/gc.log |
ガベッジコレクションのログ。ガベッジコレクションすべての詳細が含まれます。
|
表9.2 管理対象ドメイン用のデフォルトログファイル
ログファイル | 説明 |
---|---|
EAP_HOME/domain/log/host-controller.log |
ホストコントローラーのブートログ。ホストコントローラーの起動に関連するログメッセージが含まれます。
|
EAP_HOME/domain/log/process-controller.log |
プロセスコントローラーのブートログ。プロセスコントローラーの起動に関連するログメッセージが含まれます。
|
EAP_HOME/domain/servers/SERVERNAME/log/server.log |
名前付きサーバーのサーバーログ。サーバー起動メッセージなど、そのサーバーのすべてのログメッセージが含まれます。
|
9.3. JBoss Data Virtualization ログカテゴリー
org.teiid
ログカテゴリー識別子の接頭辞が付けられます。
org.teiid
ではなく独自のログカテゴリー識別子の接頭辞が付けられます。
standalone-teiid.xml
(ドメインモードの場合は domain-teiid.xml
for domain mode) を参照してください。
表9.3 JBoss Data Virtualization ログカテゴリー
ログカテゴリー | 説明 |
---|---|
com.arjuna
|
サードパーティートランザクションマネージャー。これには、JBoss Data Virtualization のトランザクションだけではなくすべてのトランザクションに関する情報が含まれます。
|
org.teiid
|
すべての JBoss Data Virtualization ログのルートカテゴリー識別子。注記: org.teiid には、この表に示されているよりも多いコンテキストがある場合があります。
|
org.teiid.PROCESSOR
|
クエリー処理ログ。org.teiid.PLANNER も参照してください。
|
org.teiid.PLANNER
|
クエリー計画ログ。
|
org.teiid.SECURITY
|
セッション/認証イベント。org.teiid AUDIT_LOG も参照してください。
|
org.teiid.TRANSPORT
|
ソケットトランスポートに関連するイベント。
|
org.teiid.RUNTIME
|
ワーク管理およびシステムの起動/終了に関連するイベント。
|
org.teiid.CONNECTOR
|
コネクターログ。
|
org.teiid.BUFFER_MGR
|
バッファーおよびストレージ管理ログ。
|
org.teiid.TXN_LOG
|
すべてのトランザクション操作の詳細なログ。
|
org.teiid.COMMAND_LOG
|
「コマンドロギング」を参照してください。
|
org.teiid.AUDIT_LOG
|
「監査ロギング」を参照してください。
|
org.teiid.ADMIN_API
|
管理 API ログ。
|
org.teiid.ODBC
|
ODBC ログ。
|
注記
9.4. コマンドロギング
<periodic-rotating-file-handler name="COMMAND_FILE"> <level name="DEBUG" /> <formatter> <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n" /> </formatter> <file relative-to="jboss.server.log.dir" path="command.log" /> <suffix value=".yyyy-MM-dd" /> </periodic-rotating-file-handler> <logger category="org.teiid.COMMAND_LOG"> <level name="DEBUG" /> <handlers> <handler name="COMMAND_FILE" /> </handlers> </logger>
2012-02-22 16:01:53,712 DEBUG [org.teiid.COMMAND_LOG] (Worker1_QueryProcessorQueue11 START DATA SRC COMMAND: startTime=2012-02-22 16:01:53.712 requestID=Ku4/dgtZPYk0.5 sourceCommandID=4 txID=null modelName=DTHCP translatorName=jdbc-simple sessionID=Ku4/dgtZPYk0 principal=user@teiid-security sql=HCP_ADDR_XREF.HUB_ADDR_ID, CPN_PROMO_HIST.PROMO_STAT_DT FROM CPN_PROMO_HIST, HCP_ADDRESS, HCP_ADDR_XREF WHERE (HCP_ADDRESS.ADDR_ID = CPN_PROMO_HIST.SENT_ADDR_ID) AND (HCP_ADDRESS.ADDR_ID = HCP_ADDR_XREF.ADDR_ID) AND (CPN_PROMO_HIST.PROMO_STAT_CD NOT LIKE 'EMAIL%') AND (CPN_PROMO_HIST.PROMO_STAT_CD <> 'SENT_EM') AND (CPN_PROMO_HIST.PROMO_STAT_DT > {ts'2010-02-22 16:01:52.928'})
- modelName: これは、クエリーが発行されるデータソースの物理モデルを表しています。
- translatorName: データソースと通信するのに使用するトランスレーターのタイプを示します。
- principal: クエリーを実行したユーザーアカウントを示します。
- startTime/endTime: アクションの時間。実行されるタイプコマンドに基づきます。
- sql: 実行のためにトランスレーターに送信されたコマンド。必ずしも実際のデータソースに送信される最終の sql コマンドとは限らず、クエリーエンジンがプッシュする内容を示します。
9.5. 監査ロギング
9.6. 監査およびコマンドロギングの有効化
注記
9.7. コマンドログ出力
2012-02-22 16:01:53,712 DEBUG [org.teiid.COMMAND_LOG] (Worker1_QueryProcessorQueue11 START DATA SRC COMMAND: startTime=2012-02-22 16:01:53.712 requestID=Ku4/dgtZPYk0.5 sourceCommandID=4 txID=null modelName=DTHCP translatorName=jdbc-simple sessionID=Ku4/dgtZPYk0 principal=user@teiid-security sql=HCP_ADDR_XREF.HUB_ADDR_ID, CPN_PROMO_HIST.PROMO_STAT_DT FROM CPN_PROMO_HIST, HCP_ADDRESS, HCP_ADDR_XREF WHERE (HCP_ADDRESS.ADDR_ID = CPN_PROMO_HIST.SENT_ADDR_ID) AND (HCP_ADDRESS.ADDR_ID = HCP_ADDR_XREF.ADDR_ID) AND (CPN_PROMO_HIST.PROMO_STAT_CD NOT LIKE 'EMAIL%') AND (CPN_PROMO_HIST.PROMO_STAT_CD <> 'SENT_EM') AND (CPN_PROMO_HIST.PROMO_STAT_DT > {ts'2010-02-22 16:01:52.928'})
modelName
は、クエリーが発行される物理モデルを表します。translatorName
は、データソースと通信するために使用するトランスレーターのタイプを示します。principal
は、クエリーを実行したユーザーのアカウントを示します。startTime
/endTime
は、アクションの時間です。これは実行されるコマンドのタイプに基づきます。sql
は、実行のためにトランスレーターに送信されたコマンドです。これは、必ずしも実際のデータソースに送信された最終的な SQL コマンドではなく、クエリーエンジンがプッシュダウンするコマンドを示しています。
第10章 クラスタリング
10.1. JBoss Data Virtualization のクラスタリング
- 負荷分散
- 複数のノード間の負荷分散については、『Red Hat JBoss Data Virtualization Development Guide: Client Development』を参照してください。
- フェイルオーバー
- 複数のノードとのフェイルオーバーについては、『Red Hat JBoss Data Virtualization Development Guide: Client Development』を参照してください。
- 分散キャッシング
- これは、クラスタリングが設定されている場合に自動的に行われます。
- イベント分散
- クラスタリングが設定されている場合、メタデータとデータの変更はクラスターのすべてのメンバーに分散されます。
10.2. JBoss Data Virtualization でのクラスタリングの有効化
standalone-ha.xml
プロファイルまたは standalone-full-ha.xml
プロファイルのいずれかを使用して JBoss EAP が起動されていることを確認します (これらのプロファイルは名前が示すように高可用性またはクラスタリングを提供します)。
注記
10.3. 負荷分散の設定
第11章 キャッシング
11.1. 結果セットキャッシュ
11.1.1. 結果セットキャッシュ
11.1.2. 結果セットキャッシュ機能
- XML ドキュメントモデル結果を含むユーザークエリー結果をキャッシュできます。
- 仮想プロシージャー結果をキャッシュできます。
- 結果は、VDB/ユーザー (レプリケート済み) またはセッションレベルとしてアトミックにスコープ指定できます。
- ユーザーは、キャッシュエントリーの数と Time To Live を設定できます。
- キャッシュは管理ツールでクリアできます。
11.1.3. キャッシュの詳細
パート V. 監視およびパフォーマンス
第12章 モニタリング
12.1. JBoss Data Virtualization の監視
12.2. クエリー/セッションの詳細
名前
|
説明
|
---|---|
現在のセッション
|
現在接続されているセッションのリスト
|
現在の要求
|
現在実行している要求のリスト
|
現在のトランザクション
|
現在実行しているトランザクションのリスト
|
クエリー計画
|
特定の要求のクエリー計画の取得
|
12.3. セッション/クエリーメトリックス
名前
|
プロパティー
|
説明
|
コメント
|
---|---|---|---|
セッション数
|
sessionCount
|
現在アクティブなユーザー接続の数を示します。
|
ピーク時にセッション数が制限されないようにするために、max-sessions-allowed (デフォルト値は 5000) が適切に設定されていることをチェックし、sessions-expiration-timelimit を見直します。
|
クエリー数
|
queryCount
|
現在アクティブなクエリーの数を示します。
| |
アクティブなクエリー計画数
|
ENGINE_STATISTIC.active-plans-count
|
現在処理中のクエリー計画の数。
|
スループットを最大化するには、QueryEngine とスレッドのパフォーマンスチューニングに関する項を参照してください。
|
待機中のクエリー計画数
|
ENGINE_STATISTIC.waiting-plans-count
|
現在待機中のクエリー計画の数。
| |
待機中の最大クエリー計画ウォーターマーク
|
ENGINE_STATISTIC.max-waitplan-watermark
|
最後にサーバーが起動してから待機しているクエリー計画の最大数。
| |
長時間実行中のクエリー
|
longRunningQueries
|
クエリーしきい値 ( query-threshold-in-seconds. ) を超えた現在実行中のクエリーをリストします。
|
1 つまたは複数のクエリーが長時間リソースを消費していることを警告するアラートを設定します。長時間実行している場合は、オプションで要求をキャンセルしたり、しきい値を増やしたりします。
|
12.4. バッファーマネージャーメトリックス
名前
|
プロパティー
|
説明
|
コメント
|
---|---|---|---|
ディスク書き込み数
|
ENGINE_STATISTIC.buffermgr-disk-write-count
|
バッファーマネージャーのディスク書き込み数。
| |
ディスク読み取り数
|
ENGINE_STATISTIC.buffermgr-disk-read-count
|
バッファーマネージャーのディスク読み取り数。
| |
キャッシュ書き込み数
|
ENGINE_STATISTIC.buffermgr-cache-write-count
|
バッファーマネージャーのキャッシュ書き込み数。
| |
キャッシュ読み取り数
|
ENGINE_STATISTIC.buffermgr-cache-read-count
|
バッファーマネージャーのキャッシュ読み取り数。
| |
ディスク使用容量 (MB)
|
ENGINE_STATISTIC.buffermgr-diskspace-used-mb
|
バッファーファイルで現在使用されているストレージ容量を示します。
|
max-buffer-space の設定に基づいて使用済みバッファー容量が許容できないレベルである場合に警告するアラートを設定します。
|
総使用メモリー容量 (KB)
|
ENGINE_STATISTIC.total-memory-inuse-kb
|
現在のメモリー使用量の推定値 (キロバイト単位)。
| |
アクティブな計画別総使用メモリー容量 (KB)
|
ENGINE_STATISTIC.total-memory-inuse-active-plans-kb
|
アクティブな計画別の現在のメモリー使用量の推定値 (キロバイト単位)。
| |
12.5. キャッシュメトリックス
名前
|
プロパティー
|
説明
|
---|---|---|
準備された計画キャッシュサイズ
|
PREPARED_PLAN_CACHE.total-entries
|
現在キャッシュにあるエントリーの数。
|
準備された計画キャッシュの要求数
|
PREPARED_PLAN_CACHE.request-count
|
キャッシュに対して行われた要求の合計数。
|
準備された計画キャッシュのヒット率 (%)
|
PREPARED_PLAN_CACHE.hit-ratio
|
正のキャッシュヒット率。
|
結果セットキャッシュサイズ
|
QUERY_SERVICE_RESULT_SET_CACHE.total-entries
|
現在キャッシュにあるエントリーの数。
|
結果セットキャッシュの要求数
|
QUERY_SERVICE_RESULT_SET_CACHE.request-count
|
キャッシュに対して行われた要求の合計数。
|
結果セットキャッシュヒット率 (%)
|
QUERY_SERVICE_RESULT_SET_CACHE.hit-ratio
|
正のキャッシュヒット率。
|
第13章 パフォーマンスチューニング
13.1. 使用に関するヒント
- ドキュメンテーション (特にスタートガイド) を参照して、データフェデレーションが企業のために行えることを調べます。
- JNDI データソース名の標準的な命名規則を使用して VDB を EAP/DV サーバー環境全体で移植できるようにします ( VDB で定義された JNDI 参照はサーバー間で移植されるため、変更する必要はありません)。
注記
AdminConsole を使用して JNDI 名をリセットできます。VDB を変更する必要はありません。b) 整合性を維持するために、異なるタイプを区別できるよう命名規則を決定します。考慮すべきアイテムには、Designer プロジェクト名、ソースモデル名、新しいモデル名、関数/プロシージャー名、データソース、VDB 名、Web サービス名などがあります。 - サーバーインスタンス全体で共通の JDBC ドライバーバージョンを標準化します。つまり、ソースが MySQL である場合、すべてのサーバーは同じ MySQL JDBC ドライバー JAR を使用する必要があります。デプロイメントを容易にし、Teiid Designer でデータプレビューを実行する場合は、JDBC タイプ 4 ドライバーを使用することが推奨されます。それ以外の場合は、使用する前に、ドライバーをタイプ 4 に手動で変更するか、ドライバーのモジュールをサーバーで設定します。
- Teiid Designer でパッケージ化するときに VDB とともに UDF jar を含めてください。これにより、デプロイが容易になり、サーバーモジュール設定を行う必要がなくなります。
- vdbname.version.vdb という形式の VDB バージョン化を使用します。これを使用すると、現在の処理に影響を与えずに VDB 更新をデプロイできます。また、使用する VDB のバージョンをオープンせずに視覚的に容易に識別することができます。
- 適切なデプロイメントストラテジーを選択します。
- JBoss Operations Network – VDB を Teiid インスタンスのクラスターに一度にすべてプッシュする場合に適切です。
- 管理シェル – タスクをスクリプト化および自動化し、他のツール (サンプルについては DV キットの DeployAndVerifyVDB.groovy を参照) に組み込む場合に役に立つコマンドラインツール。
- 管理コンソールは VDB をデプロイするために使用できます。
- Teiid Designer では VDB をデプロイできますが、開発フェーズを超えて VDB を使用することは推奨されません。
- アーティファクトの手動コピー - 多くの場合、これは、アップグレード中、または開発ライフサイクルでプロモーションを行う手段としてのみ行います。
- ソフトウェア開発ライフサイクルに関しては、開発ライフサイクル中の以下の VDB 接続タイプの変更を考慮してください。
- VDB がデプロイされた場合は、接続タイプのデフォルト値である BY_VERSION を使用します。
- 新しいバージョンでサーバー上の VDB を更新する場合は、現在の VDB (存在する場合) 接続タイプを ANY から NONE (接続の許可を停止する) に変更します。この結果、新しい接続は新しいバージョンに移行し、新しくデプロイされた VDB 接続タイプが BY_VERSION から ANY に変更され、接続先のターゲット VDB になり、次回に新しいバージョンがデプロイされたときにポジショニングされます。
- ロールバックが必要な場合は、新しい (悪い) VDB 接続タイプを ANY から NONE に変更し、古い VB 接続タイプを NONE から ANY に変更します。
- マルチ開発者環境では、SCM (github、SVN、CVS など) を使用してアーティファクトを管理します。特定のソース制御管理システムは推奨されません。JBoss Developer Studio に統合できるシステムを使用することをお勧めします。
- import-vdb を使用して DV 6 で VDB 再利用機能を使用することを検討してください。これにより、VDB はデプロイ時/起動時に他の VDB をインポートしたり、大きいプロジェクトを、実行時に一緒に動作する個別の VDB に分割したり、開発者が基礎となる同じモデルを参照する異なる VDB を使用したりできるようになります。パーティション化とレイヤー化により、デプロイメント変更の影響が制限されることがあります。
- VDB / モデル設計パターンを決定します。a) 一般的な設計方法は、データ仮想化抽象レイヤー (エンタープライズまたはフェデレーションデータレイヤーとも呼ばれます) の構築に基づきます。抽象レイヤーはクライアントアプリケーションが使用するレイヤーであり、基礎となるデータソースがクライアントの使用から抽象化されているため、抽象レイヤーと呼ばれます。抽象レイヤーを構築する推奨方法は、「データソースレイヤー」と「抽象レイヤー」間に仮想ベースレイヤー (VBL) を作成することにより作業を開始することです。これにより、物理データが正規ビジネスモデルから切り離され、クライアントに影響を与えたり、物理ソース上に分離レベルを提供したりせずにデータレイヤーを柔軟に変更できるようになります。これは、各物理ソースと仮想モデルの 1 対 1 マッピングです。これらの VBL コンポーネントは、高いレベルのサービスの構築ブロックとして使用できます。ソースで変更を反映する必要がある場合は、これらの上部に構築されたすべての変換は、変更する必要がありません。b) 設計パターンをレイアウトする場合は、VDB 再利用 (複数の VDB) の使用を検討してください (抽象レイヤーでは VDB、物理レイヤーでは VDB)。
パフォーマンスに関するヒント
- 命名規則を考慮します。命名規則を使用すると、メッセージのサイズを削減できます。
- 未使用の古い VDB をデプロイ解除してください。
JBDS Teiid プラグインに関するヒント
- コラボレーション環境で開発する場合、開発者は同じプロジェクト名を使用する必要があります。VDB を作成するときに、複数のプロジェクト (たとえば、アプリケーション別) があり、プロジェクト全体でモデルを共有できることがあります。ただし、Designer では、VDB からモデルへの参照にはプロジェクト名が含まれ、異なるプロジェクト名を使用すると、VDB のモデルが正しく解決されません。eclipse/JBDS 環境全体で使用する接続プロファイルの標準的な命名規則と設定を確立します。モデルがインポートされ、接続プロファイルが一致しない場合は、データプレビューまたは VDB デプロイメントを実行する前にソースモデルの接続プロファイルをリセットする必要があります。
- モデリング時にビューモデルを構築する場合は、タイプ "Base Table" の子を作成します。"View Table" は使用しないでください。機能的な違いはありません。問題は、テーブルで PK/FK/インデックスを作成するときに発生します。"View Table" では、これを行うことができません。(a) 更新を行う場合は、XA データソースを使用することが推奨されます。したがって、Designer を使用してデータソースを作成しないでください。これは、XA データソースではなく「ローカル」データソースを作成する DTP の制限が原因です。XA データソースを作成するには、サンプルテンプレートの JBoss AS "doc" ディレクトリーを探すか、"admin-console" を使用して XA データソースを作成します。
カスタムトランスレーターおよびコネクターに関するヒント
- Teiid トランスレーターおよび/またはコネクターアーキタイプを使用します。リソースとともにプロジェクトテンプレートが作成され、カスタムコードをすぐに追加して、デプロイメントのパッケージのためにコンパイルできます。JBDS を使用して、アーキタイプからプロジェクトを作成することにより新しい Maven プロジェクトを作成します。このウィザードでは、“JBoss Nexus Archetypes” カタログを選択し、“teiid” でフィルタリングします。
13.2. メモリー管理に関する考慮事項
buffer-service-max-reserve-kb
- デフォルト値は -1 です。この設定により、バッファマネージャーがメモリー内に保持できるバッチの合計サイズ (キロバイト単位) が決定されます。この数はソフト参照 (インデックスページなど) または弱い参照で保持される永続バッチには考慮されません。-1 のデフォルト値の場合は、VM で利用可能な最大ヒープに基いて通常の最大値が自動的に計算されます。計算される値では、64 ビットのアーキテクチャーを前提とし、バッファーの使用が最初の 300 メガバイト (JBoss EAP により使用される) から最初のギガバイトの 50% 、ギガバイトを超えるメモリーの 75% に制限されます。たとえば、デフォルト設定と 8GB VM サイズの場合は、
buffer-service-max-reserve-kb
により最大 (((1024-300) * 0.5) + (7 * 1024 * 0.75)) = 5738 MB または 5875712 KB が使用されます。有効な場合は、buffer-service-max-reserve-kb
の 25% を超える容量が使用されているときにバッファーマネージャーにより、正規の値キャッシュが自動的に使用されます。この結果、類似の値セットが JBoss Data Virtualization によって読み取られる場合にメモリー使用量が大幅に削減されることがあります。ただし、ルックアップコストが発生します。JBoss Data Virtualization を使用して小さいデータセットまたは類似性が非常に高いデータセットを処理するときにメモリーを節約する場合は、値キャッシュの有効化を検討してください。注記
メモリー消費量は、実際の列値と、値キャッシュが有効であるかどうかに応じて名目ターゲットよりも大幅に大きく、または小さくなることがあります。組み込みではない大きいオブジェクトはデフォルトの推測サイズを超えることがあります。メモリー不足エラーが発生した場合は、buffer-service-max-reserve-kb
値を小さくします。また、ソース LOB 値はバッチが永続化されたときに削除されなかったメモリー参照により保持されることに注意してください。LOB を大量に使用する場合は、LOB 参照に関連付けられた他のメモリーのバッファーのサイズが適切に設定されていることを確認する必要があります。 buffer-service-max-processing-kb
- デフォルト値は -1 です。この設定により、
buffer-service-max-reserve-kb
に基づいて保持されるメモリー以外に、1 つのアクティブな計画で使用できるバッチの合計サイズ (キロバイト単位) が決まります。すべてのアクティブな計画がアクティブな場合に JBoss Data Virtualization で必要な通常の最小メモリーは #(active-plans) *buffer-service-max-processing-kb
です。-1 のデフォルト値により、VM で利用可能な最大ヒープとアクティブな最大計画数に基づいて一般的な最大値が自動的に計算されます。計算される値では、64 ビットのアーキテクチャを前提とし、バッチ処理用の容量は最初の 300 メガバイト (JBoss EAP が使用します) を超えるメモリーの 10% に制限されます。たとえば、20 のアクティブな計画と 8GB VM サイズを含むデフォルト設定の場合、buffer-service-max-processing-kb
は (((1024-300) * 0.1) + (7 * 1024 * 0.1))/20 = 789.2 MB/20 = 39.46 MB または 40407 KB (1 つの計画あたり) になります。これは、1 つの計画あたり約 40 MB で 0〜789 MB の範囲が予約されることを示しています。大量の中間結果が予想されるシステムでは、buffer-service-max-processing-kb
を増加し、buffer-service-max-reserve-kb
を減少して各要求が効果的な小さいバッファー領域にアクセスできるようにすることができます。 buffer-service-max-file-size
- デフォルト値は 2GB です。各中間結果バッファー、一時 LOB、および一意なテーブルは、独自のバッファーファイルセットに格納されます。各ファイルは
buffer-service-max-file-size
メガバイトに制限されます。インストールで内部的なマテリアライズを使用したり、SQL/XML を頻繁に使用したり、大量の行数を処理したりする場合は、buffer-service-max-buffer-space
を使用してこのようなすべてのファイルに利用可能なストレージ領域を増加することを検討してください。 TEIID_AUDIT_LOGGING
およびTEIID_COMMAND_LOGGING
- TEIID_AUDIT_LOGGING および TEIID_COMMAND_LOGGING のロギングキュー長は増加させる必要があります。少なくとも、該当するノードの予想される同時レベルに設定する必要があります。つまり、1,000 ユーザーがシステムを同時に使用することが予想される場合は、各キュー長を 1k に設定し、そこから調整します。
また、追跡されたストレージオブジェクトの数、ディスクストレージ、ストリーミングのデータサイズや行数の制限など、Teiid にはメモリーやその他のハードウェアの制限があることを念頭に置くことも重要です。
各バッチ/テーブルページには約 128 B のメモリーキャッシュエントリーが必要です。よって、追跡される最大バッチの合計はヒープによって制限されます。そのため、メモリーが大きい場合や大きな内部マテリアライゼーションを使用する場合は、処理バッチサイズを大きくすることが推奨されます。実際のバッチやテーブル自体は、スピルオーバー機能がある階層化されたメモリーバッファー構造を持つバッファーマネージャーによって管理されます。
13.3. スケーラビリティーに関する考慮事項
buffer-service-processor-batch-size
- デフォルト値は 256 です。このプロパティーは、クエリープロセッサー内で内部的に送信されるバッチの最大行数を指定します。非常に大きい VM サイズまたはデータセットが使用される場合は、追加の考慮事項があります。JBoss Data Virtualization には、バッチ/テーブルページごとのオーバーヘッドの無視できない量 (100〜200 バイト) があります。関連するデータ型に応じて、完全な各バッチ/テーブルは可変行数 (プロセッサーバッチサイズ以上または以下を 2 の累乗数で乗算) を表します。非常に大きいデータセットを使用していてメモリー問題が発生した場合は、大きいバッチとテーブルページの割り当てを強制するために
buffer-service-processor-batch-size
プロパティーを増加することを検討してください。 buffer-service-max-storage-object-size
- デフォルト値は 8288608、つまり 8MB です。この値は、バッファリングされた管理対象オブジェクトの最大サイズ (バイト単位) であり、個々のバッチページサイズを表します。
buffer-service-processor-batch-size
が増加された場合、または非常に幅広い結果セットを使用している場合、buffer-service-max-storage-object-size
のデフォルト設定 (8MB) は小さすぎることがあります。また、インライン LOBS は、バッチにそれが含まれる場合はこのサイズに寄与します。buffer-service-max-storage-object-size
のサイズは、シリアライズ化されたサイズであり、buffer-service-max-reserve-kb
に使用される Java メモリーフットプリント推定値よりもローデータサイズにもっと近くなります。buffer-service-max-storage-object-size
は、メモリーバッファーのパフォーマンスが低下するため、buffer-service-memory-buffer-space
よりもあまり大きく設定しないでください。メモリーバッファーはbuffer-service-memory-buffer-space
の各buffer-service-max-storage-object-size
に対して同時ライターを 1 つだけサポートします。注記
JBoss Data Virtualization 一時テーブル (内部的なマテリアライズにも使用されます) は、テーブルごとに 2^31-1 行だけサポートできます。 buffer-service-memory-buffer-space
- デフォルト値は -1 です。これにより、JBoss Data Virtualization バッファーマネージャーが使用するバイトバッファーとして割り当てられたオンまたはオフヒープメモリーの量が制御されます。この設定のデフォルト値は -1 です。これにより、オンヒープまたはオフヒープであるか、あるいは
buffer-service-max-reserve-kb
の値に基づいて設定が自動的に決定されます。注記
デフォルト設定のままの場合は、計算されるメモリーバッファー領域がbuffer-service-max-reserve-kb
設定の約 4 分の 1 になります。メモリーバッファーがオフヒープであり、buffer-service-max-reserve-kb
設定が自動的に計算される場合は、メモリーバッファー領域が効果的なbuffer-service-max-reserve-kb
から引かれます。 buffer-service-memory-buffer-off-heap
- デフォルト値は false です。バッファーマネージャーメモリーバッファーを使用してヒープに割り当てずにシステムメモリーにアクセスするかどうかを決定します。
buffer-service-memory-buffer-off-heap
をtrue
に設定すると、JBoss Data Virtualization メモリーバッファーオフヒープが割り当てられます。インストールが JBoss Data Virtualization 専用であるかどうかと利用可能なシステムメモリーの量に応じて、これは、オンヒープ割り当てよりも適切な場合があります。オフヒープメモリーの第一の利点は、追加のガーベッジコレクションチューニングなしで JBoss Data Virtualization 用にメモリー使用量を追加できることです。これは、JVM に 32GB を超えるメモリーが必要な場合に特に重要です。オフヒープ割り当てを使用する場合は、プロセスがメモリーを使用できるようにする必要があります。値buffer-service-memory-buffer-space
が大きすぎると、JVM がメモリーに留まらずにスワップすることがあります。また、オフヒープバッファーサイズが大きい場合 (数ギガバイト以上) は、JVM 設定を調整する必要があります。Sun JVM の場合、該当する JVM 設定はMaxDirectMemorySize
とUseLargePages
です。たとえば、-XX:MaxDirectMemorySize=12g -XX:+UseLargePages
上記の内容を JVM プロセス引数に追加すると、JBoss EAP またはアプリケーションで必要となる可能性がある追加の直接メモリーに対応する約 11GB の JBoss Data Virtualization メモリーバッファー (buffer-service-memory-buffer-space
プロパティー) が効果的に割り当てられます。
13.4. ディスク使用に関する考慮事項
buffer-service-max-buffer-space
- デフォルト値は 51200 です。テーブルページと結果バッチについて、バッファーマネージャーは、特定のストレージサイズ専用のファイルの数を制限します。ただし、Large Object (LOB) 値を作成する場合 (たとえば、SQL/XML を使用)、通常、LOB が 8KBのメモリーサイズの許容値を超えると、LOB ごとに 1 つのファイルが作成されます。使用量が大きい場合は、定期的に最適化するパーティション上のバッファディレクトリーを参照することを検討してください。デフォルトでは、JBoss Data Virtualization はディスク領域を最大 50GB 使用します。これは、JBoss Data Virtualization が書き込むバイト数によって追跡されます。大きいデータセットの場合は、
buffer-service-max-buffer-space
プロパティーを増加する必要があることがあります。
13.5. スレッドに関する考慮事項
max-threads
- デフォルト値は 64 です。クエリーエンジンには、スレッドの使用を決定する複数の設定があります。
max-threads
は、クエリーエンジンの作業 (処理計画、トランザクション制御操作、処理ソースクエリーなど) 用のプロセスプールで利用可能なスレッドの合計数を設定します。大量の利用可能なプロセッサの場合、または大量の同時ソース要求に関連する非トランザクションクエリーを発行する必要がある場合は、システムで最大スレッド数を増加することを検討してください。 max-active-plans
- デフォルトは 20 です。この値は常に
max-threads
よりも小さくなければなりません。デフォルトでは、thread-count-for-source-concurrency は (max-threads / max_active_plans) * 2 で算出され、各ユーザークエリーの同時ソースリクエストを処理できるスレッドを決定します。長期実行されるクエリーが多いワークロード場合や、使用できるプロセッサーの数が多いシステムの場合は、max-active-plans を増加することを検討してください。max-threads および max-active-plans を増加するとメモリーの問題が発生する場合は、バッファーマネージャーが保持するヒープの量を少なくするか、各計画で消費するメモリー行のベース数を制限するために processor-batch-size を減少することを検討してください。大量の利用可能なプロセッサで大量のクエリーまたはシステムを長時間実行するワークロードの場合は、max-active-plans
を増加することを検討してください。max-threads
とmax-active-plans
を増加するときにメモリー問題が発生した場合は、各計画で消費するメモリー行のベース数を制限するためにbuffer-service-processor-batch-size
を減少することを検討してください。 thread-count-for-source-concurrency
- デフォルト値は 0 です。この値は、常に
max-threads
よりも小さくする必要があります。このプロパティーは、ユーザー要求ごとに同時に実行するソースクエリーの数を設定します。0 は 2 * (max-threads
/max-active-plans
) に基づいて計算されたデフォルト値を使用することを示します。これを 1 に設定すると、処理スレッドによりすべてのソースクエリーが連続して実行されます。1 よりも大きい値を設定すると、同時に実行するソースクエリーの最大数が制限されます。デフォルト値を使用すると、各ユーザー要求に 6 つの同時実行ソースクエリーが許可されます。計算されたデフォルト値がワークロードに該当しない場合 (たとえば、クエリーで長時間実行する同時ソースクエリーをさらに生成する場合) は、この値を調整することを検討してください。
max-socket-threads
については、「トランスポートに関する考慮事項」も参照してください。
13.6. キャッシュに関する考慮事項
- 結果セットキャッシュチューニング
- 準備された計画キャッシュチューニング
resultset-cache-max-staleness
は 60 秒になっています。結果セットキャッシュと基礎となるデータとの整合性を上げる場合は、この値を減少させることを検討してください。設定値が 0 であっても、完全なトランザクションの整合性は保証されません。
警告
13.7. トランスポートに関する考慮事項
max-socket-threads
- デフォルト値は 0 です。初期要求処理専用のスレッドの最大数が決定されます。ゼロは、利用可能な最大プロセッサ数のシステムデフォルト値を使用することを示します。ソケットスレッドは NIO 非ブロック IO 操作を処理し、ブロックなしで実行できるすべての操作を直接処理します。長時間実行されている操作の場合、ソケットスレッドはクエリーエンジンでワークをキューに格納します (クエリーエンジンには、スレッドの使用を決定する
max-threads
とmax-active-plans
の 2 つのプロパティーがあります)。すべての JDBC/ODBC ソケットの操作は非ブロックであり、max-socket-threads
の数をマシンの効果的な最大並列処理数よりも大きく設定すると、パフォーマンスが低下することがあります。ODBC クエリーはソケットスレッドから同時に実行されます。クエリーが長時間同時に実行されると、利用可能なスレッドが枯渇することがあります。同時に長時間実行されるクエリーの高い負荷が予想される場合は、デフォルトのmax-socket-threads
を増加させることを検討してください (たとえば、15 に増加)。 input-buffer-size
- デフォルト値は、システムデフォルト値を使用する 0 です。トランスポートに対して
input-buffer-size
を調整する前に、各クライアントが新しいソケット接続を作成することに注意してください。この値の増加は、クライアント数が制限されている場合のみ行ってください。 output-buffer-size
- デフォルト値は、システムデフォルト値を使用する 0 です。トランスポートに対して
output-buffer-size
を調整する前に、各クライアントが新しいソケット接続を作成することに注意してください。この値の増加は、クライアント数が制限されている場合のみ行ってください。
teiid-client-settings.properties
ファイルを介した SSL クライアント接続プロパティー以外に、低レベルトランスポート値を調整する必要がある場合があります (サンプルファイルは EAP_HOME/modules/system/layers/base/org/jboss/teiid/client/main/teiid-client-VERSION.jar
ファイル内にあります)。
注記
13.8. Large Object (LOB)
- Binary (BLOB)
- 画像や音声などのマルチメディアオブジェクトを含みます。
- Character (CLOB)
- ASCII 文字を含みます。
- Extensible Markup Language (XML)
- テキストデータを含みます。
JBoss Data Services Connector API は、LOB への参照を返します (JBoss Data Services サーバーで許可された場合)。JBoss Data Services サーバーまたは JDBC ドライバーは、一度にすべてのデータを取得する代わりにストリームからデータにアクセスできます。これは以下の複数の理由により役に立ちます。
- 結果セットをユーザーに返すときにメモリー使用量を削減します。
- 結果セットで少ないデータを渡すことにより、パフォーマンスを向上します。
- ユーザーが常に LOB データを使用することを前提とする代わりに、必要なときに LOB にアクセスするようにします。
- 固定された JBoss Data Services メモリー使用量内での任意の大きいデータ値の処理を有効にします。
13.9. LOB に関する考慮事項
lob-chunk-size-in-kb
- LOB および XML ドキュメントは JBoss Data Virtualization サーバーから JDBC API にストリーミングされます。通常、これらの値はサーバーメモリーでマテリアライズされず、メモリー不足の問題が回避されます。スタイルシートまたは XQuery を使用する場合は、XML ドキュメント全体をサーバーでマテリアライズする必要があります。XMLQuery 関数または XMLTable 関数を使用し、ドキュメントプロジェクションが適用される場合であっても、大きいドキュメントに対してメモリーの問題が発生することがあります。LOB は、作成され、ストリーミングされるときに分割されます。各部分の最大サイズは、クライアントがフェッチするときに
lob-chunk-size-in-kb
プロパティーで設定できます。デフォルト値は 100 です。非常に大きい LOB を使用する場合は、結果をストリーミングするラウンドトリップの量を減少するためにlob-chunk-size-in-kb
を増加することを検討してください。設定値が大きすぎると、サーバーまたはクライアントでメモリーの問題が発生することがあります。ソース LOB 値は、一時的な場所にコピーされるのではなく、通常参照によりアクセスされます。したがって、ソース LOB がメモリーセーフの方法で返されるようにする必要があります。これは、LOB の VM メモリーを消費しないソースドライバーベンダーに特に当てはまります。
13.10. 他のパフォーマンスチューニングに関する注意点
max-source-rows
設定に関する追加情報を提供します。
max-source-rows
- JBoss Data Services をデプロイメント環境で使用する場合は、ソースが大量の大きなデータを取得することを回避するために
max-source-rows
を小さい値 (たとえば、10000) に設定することを検討してください。exception-on-max-source-rows
プロパティーをtrue
に設定したままにすると、指定された行数よりも多い行数を取得することが試行されたことを示す例外が開発者に通知されます。
パート VI. リファレンス
第14章 全般設定
14.1. JBoss Data Virtualization の設定
- バッファーサービス設定
- キャッシュ設定 (結果セットおよび準備された計画キャッシュ設定を含む)
- ランタイムエンジンデプロイヤーの設定
- 承認バリデーターおよびポリシーディサイダーの設定
- トランスポートおよび SSL の設定
- トランスレーターの設定
/subsystem=teiid:read-resource-description
注記
14.2. 管理 CLI を使用した JBoss Data Virtualization 設定の表示
/subsystem=teiid:read-resource
/subsystem=teiid:read-attribute(name=SETTING_NAME)
/subsystem=teiid:read-attribute(name=max-active-plans)
注記
14.3. 管理 CLI を使用した JBoss Data Virtualization 設定の変更
/subsystem=teiid:write-attribute(name=SETTING_NAME, value=VALUE)
注記
/subsystem=teiid:write-attribute(name=max-active-plans, value=50)
注記
reload
コマンドを実行することによりリロードできます。サーバーのリロード後は、管理 CLI 内で作業を続行するために connect
コマンドを実行して再接続する必要がある場合があります。
14.4. 管理 CLI を使用したトランスポートおよび SSL の設定の管理
/subsystem=teiid/transport=TRANSPORT_NAME:read-resource
transport
下にリストされます。
/subsystem=teiid:read-resource
14.5. 管理 CLI を使用したトランスレーター設定の管理
/subsystem=teiid/translator=TRANSLATOR_NAME:read-resource
translator
下にリストされます。
/subsystem=teiid:read-resource
14.6. トランスポートセキュリティー認証モード
anonymous
- 証明書は交換されません。キーストアおよびトラストストアプロパティーの設定は必要ありません。クライアントでは匿名サーバーに接続するために
org.teiid.ssl.allowAnon
を true (デフォルト値) に設定する必要があります。通信は TLS_DH_anon_WITH_AES_128_CBC_SHA SSL 暗号スイートを使用して暗号化されます。これはほとんどのセキュアイントラネットに適切です。 1-way
- クライアントに対してサーバーを認証します。サーバーは、サーバーのキーストアに格納されたプライベートキーで署名された証明書を提供します。対応するサーバーのパブリックキーはクライアントのトラストストアに存在する必要があります。
2-way
- クライアントとサーバーの相互認証。サーバーは、サーバーのキーストアに格納されたプライベートキーで署名された証明書を提供します。対応するサーバーのパブリックキーはクライアントのトラストストアに存在する必要があります。また、クライアントは、クライアントのキーストアに格納されたプライベートキーで署名された証明書を提供します。対応するクライアントのパブリックキーは、サーバーのトラストストアに存在する必要があります。
注記
14.7. JBoss 管理コンソールを使用したコア設定の管理
- JBoss 管理コンソールにログインします。
- Profile タブを選択します。
- ナビゲーションツリーから、Subsystems → Teiid を選択します。
- 以下のオプションのいずれかを選択します。
- Query Engine - ここから、コアクエリーエンジンプロパティーを参照および設定できます。
- Translators - ここから、トランスレーターを参照、追加、および削除できます。
- Transports - ここから、トランスポートを参照、追加、および削除できます。
- 必要に応じて設定を参照および変更できます。
注記
警告
14.8. Red Hat JBoss Data Virtualization で使用されるポート
14.9. 管理コンソールを使用したデフォルトの JDBC ポートの変更
- 管理コンソールへログインします。
管理コンソールでの Socket Binding パネルへのナビゲート
スタンドアロンモード
コンソールの右上より Profile タブを選択します。ドメインモード
- コンソールの右上より Profiles タブを選択します。
- 左上のドロップダウンボックスより該当するプロファイルを選択します。
- コンソールの左側にある Subsystems メニューを展開します。
- コンソールの左側のメニューから General Configuration → Socket Binding を選択します。
ポート番号の変更
- teiid-jdbc 設定を選択します。
- Edit ボタンを選択します。
- Port に新しいポート番号を設定します。
- Save を選択します。
14.10. システムプロパティー
-Dproperty=value
です。
表14.1 システムプロパティー
設定 | 説明 | デフォルト値 |
---|---|---|
org.teiid.allowNanInfinity | 数値関数が NaN (Not A Number) および +-Infinity を返すことを許可する場合は、true に設定します。これらの値は SQL の仕様に準拠しないことに注意してください。 | デフォルトでは false に設定されます。 |
org.teiid.useValueCache | 正規の値キャッシュを有効にする場合は true に設定します。値キャッシュは、同一の値を再使用するためにバッファーメモリーの空き容量が小さくなり、JBoss Data Virtualization が消費するメモリーが削減されるときに動的に使用されます。ただし、キャッシュルックアップに関連する計算コストがある場合、類似しない大量のデータを処理するインストールに対してこの設定を有効にすることは適切ではありません。 | デフォルトでは false に設定されます。 |
org.teiid.ansiQuotedIdentifiers | 先頭の識別子部分がない、二重引用符に囲まれた値を文字列リテラルとして処理する以前の動作をエミュレートする場合は false に設定します。この動作は SQL の仕様で期待されません。 | デフォルトでは true に設定されます。 |
org.teiid.subqueryUnnestDefault | サブクエリーの IN 述語および EXISTS 述語を積極的にネスト解除する場合は true に設定します。可能な場合は、述語が従来の結合にネスト解除され、依存結合計画に使用できます。従来の結合が可能でない場合 (NOT IN を使用する場合など) は、利用可能なコスト情報に基いて、セミ結合またはアンチ結合のマージ結合バージョンが考慮されます。 | デフォルトでは false に設定されます。 |
org.teiid.ODBCPacketSize | ODBC 結果バッファーのターゲットサイズ (バイト単位)。これはハードな最大値ではなく、LOBS 行およびワイド行がさらに大きいバッファーを使用することがあります。 | デフォルト値は 307200 です。 |
org.teiid.decimalAsDouble | 固定小数点リテラル (たとえば 1.0) を 10 進数/BigDecimal 値ではなく double 値として解析し、以前のバージョンと同じように整数値用の AVG 関数から double 値を返す場合は true に設定されます。 | デフォルトでは false に設定されます。 |
org.teiid.comparableLobs | JBoss Data Virtualization で BLOB と CLOB の列値を比較することを許可する場合は、true に設定します。ソースタイプメタデータにより、比較をプッシュダウンできるかどうかが決まります。 | デフォルトでは false に設定されます。 |
org.teiid.comparableObject | JBoss Data Virtualization でオブジェクト列値を比較することを許可する場合は、true に設定します。ソースタイプメタデータにより、比較をプッシュダウンできるかどうかが決まります。オブジェクトインスタンスは、java.lang.Comparable.compareTo を適切に実装することが期待されます。インスタンスオブジェクトが Comparable でない場合は、ClassCastExceptions がスローされることがあります。 | デフォルトでは false に設定されます。 |
org.teiid.padSpace | PAD SPACE 照合が使用される場合のように文字列を比較するときは true に設定します。つまり、文字列は比較のために同じ長さにパディングされます。このプロパティーが設定された場合は、trimStrings トランスレーターオプションを使用する必要がありません。 | デフォルトでは false に設定されます。 |
org.teiid.collationLocale | Java ロケール文字列言語 [_country[_varient]] に設定します。ここで、言語、国、および種類は 2 文字のコードです。有効なコードの詳細については、java.util.Locale を参照してください。org.teiid.comparableLobs が設定されている場合であっても、CLOB 値はロケールコレーターを使用して比較されません。 | デフォルトでは設定されません。つまり、Java の通常の (UTF-16) 文字列比較が使用されます。 |
org.teiid.clientVdbLoadTimeoutMillis | クライアント (現時点ではローカルクライアントのみ) がアクティブな VDB に接続する場合に例外をスローするまで待機するデフォルトの時間。クライアントは waitForLoad 接続プロパティーを使用してこの設定を上書きすることがあります。 | デフォルト値は 5 分です。 |
org.teiid.enDateNames | Java デフォルトロケールから名前を返す代わりにシステム関数 dayName および monthName に対して英語の月名および曜日名を使用する場合は、true に設定します。このリリースより前は、dayName と monthName は常に英語の名前を返していました。 | デフォルトでは false に設定されます。 |
org.teiid.pushdownDefaultNullOrder | ソースのデフォルトの null 順序が異なり、明示的な null 順序がサポートされるときに、null のデフォルトの null 順序を低下させる以前のリリースの動作を真似る場合は、true に設定します。 | デフォルトでは false に設定されます。 |
org.teiid.implicitMultiSourceJoin | 複数ソーステーブル間で暗黙的に結合を分割する以前のリリースの動作を無効にする場合は、false に設定します。false に設定された場合は、結合の結果を分割するために tbl1.source_name = tbl2.source_name などの明示的な述語が必要です。 | デフォルトでは true に設定されます。 |
org.teiid.joinPrefetchBatches | ソースからストリームできる結合処理に対してプリフェッチまたはバッファできるバッチの数を設定します。スローな ALREADY_SORTED ソースが多数のバッチを返す非依存結合に参加する場合は、増加することを検討してください。 ただし、この値により、バッファリングを実行するためにディスクの使用率が増加することがあります。 | デフォルト値は 10 です。 |
org.teiid.maxStringLength | JBoss Data Virtualization で文字列の名目最大長を設定します。ほとんどの操作では、この値よりも大きい文字列の部分が切り捨てられます。この値を設定することにより、メモリに保持される LOB バイトの最大サイズを調整することもできます。ソースがサポートするよりも大きい文字列値を適切に処理できないことがあることに注意してください。
警告
文字列は全体がメモリに保持されます。メモリ不足のエラーが発生することがあるため、この値をあまり高く設定しないでください。
| デフォルト値は 4000 です。 |
org.teiid.calendarTimestampDiff | 以前のバージョンの timestampdiff の動作を使用する場合は、false に設定します。古い動作を使用すると、秒よりも大きい間隔に対する timestampdiff のプッシュバージョンと非プッシュバージョン間の結果が異なることがあることに注意してください。 | デフォルトでは true に設定されます。 |
表14.2 PostgreSQL との互換性を維持するためのシステムプロパティー
設定 | 説明 | デフォルト値 |
---|---|---|
org.teiid.iso8601Week | ロケールに関係なく、週の計算に ISO 8601 ルールを使用する場合は、true に設定します。true に設定されると、dayOfWeek 関数が日曜日ではなく月曜日を 1 で開始します。週の関数では、 1 年のその週に 1 年の最初の木曜日が含まれている必要があります。 | デフォルトでは false に設定されます。 |
org.teiid.backslashDefaultMatchEscape | エスケープが指定されないときに LIKE 述語および SIMILAR TO 述語のデフォルトのエスケープ文字として '\' を使用する場合は true に設定します。それ以外の場合、JBoss Data Virtualization では、ワイルドカード以外の各文字を完全一致文字として処理する SQL 仕様準拠の動作を前提とします。 | デフォルトでは false に設定されます。 |
注記
14.11. Teiid 管理 CLI
deploy adminapi-test-vdb.xml undeploy adminapi-test-vdb.xml /subsystem=teiid:restart-vdb(vdb-name=AdminAPITestVDB, vdb-version=1, model-names=TestModel) /subsystem=teiid:list-vdbs() /subsystem=teiid:get-vdb(vdb-name=AdminAPITestVDB,vdb-version=1) /subsystem=teiid:change-vdb-connection-type(vdb-name=AdminAPITestVDB, vdb-version=1,connection-type=ANY) /subsystem=teiid:add-data-role(vdb-name=AdminAPITestVDB, vdb-version=1, data-role=TestDataRole, mapped-role=test) /subsystem=teiid:remove-data-role(vdb-name=AdminAPITestVDB, vdb-version=1, data-role=TestDataRole, mapped-role=test)
/subsystem=teiid:add-source(vdb-name=AdminAPITestVDB, vdb-version=1, source-name=text-connector-test, translator-name=file, model-name=TestModel, ds-name=java:/test-file) /subsystem=teiid:remove-source(vdb-name=AdminAPITestVDB, vdb-version=1, source-name=text-connector-test, model-name=TestModel) /subsystem=teiid:update-source(vdb-name=AdminAPITestVDB, vdb-version=1, source-name=text-connector-test, translator-name=file, ds-name=java:/marketdata-file)
/subsystem=teiid:list-translators() /subsystem=teiid:get-translator(translator-name=file) /subsystem=teiid:read-translator-properties(translator-name=file,type=OVERRIDE) /subsystem=teiid:read-rar-description(rar-name=file)
/subsystem=teiid:workerpool-statistics() /subsystem=teiid:cache-types() /subsystem=teiid:clear-cache(cache-type=PREPARED_PLAN_CACHE) /subsystem=teiid:clear-cache(cache-type=QUERY_SERVICE_RESULT_SET_CACHE) /subsystem=teiid:clear-cache(cache-type=PREPARED_PLAN_CACHE, vdb-name=AdminAPITestVDB,vdb-version=1) /subsystem=teiid:clear-cache(cache-type=QUERY_SERVICE_RESULT_SET_CACHE, vdb-name=AdminAPITestVDB,vdb-version=1) /subsystem=teiid:cache-statistics(cache-type=PREPARED_PLAN_CACHE) /subsystem=teiid:cache-statistics(cache-type=QUERY_SERVICE_RESULT_SET_CACHE) /subsystem=teiid:engine-statistics() /subsystem=teiid:list-sessions() /subsystem=teiid:terminate-session(session=sessionid) /subsystem=teiid:list-requests() /subsystem=teiid:cancel-request(session=sessionId, execution-id=1) /subsystem=teiid:list-requests-per-session(session=sessionId) /subsystem=teiid:list-transactions() /subsystem=teiid:mark-datasource-available(ds-name=java:/accounts-ds) /subsystem=teiid:get-query-plan(session=sessionid,execution-id=1)
第15章 ディレクトリー構造
15.1. ディレクトリー構造
/bin /scripts /docs /teiid /datsources /schema /examples /domain /configuration application-users.properties application-roles.properties /dataVirtualization /modules /system /layers /dv /dv modules /base /eap modules /standalone /configuration standalone.xml application-users.properties application-roles.properties
- bin/scripts
- このディレクトリーには、インストールおよびユーティリティー CLI スクリプトが含まれます。
- docs/teiid
- このディレクトリーには、ドキュメント、例、サンプルデータソース XML の一部、およびスキーマファイルが含まれます。
- standalone/configuration
standalone.xml
は、JBoss Data Virtualization 向けのマスター設定ファイルです。このファイルは、標準的な JBoss EAP ウェブプロファイルサブシステムに加えて JBoss Data Virtualization サブシステムの設定を管理します。application-users.properties
とapplication-roles.properties
は、デフォルトのセキュリティードメインを使用して許可ユーザーとそのロールを定義します。ユーザーを追加するにはこれらのファイルを編集します。異なるセキュリティードメインを使用する場合は、メイン設定ファイルでセキュリティードメイン詳細を変更します。
- domain/configuration
application-users.properties
とapplication-roles.properties
は、デフォルトのセキュリティードメインを使用して JBoss Data Virtualization で許可ユーザーとそのロールを定義します。ユーザーを追加するにはこれらのファイルを編集します。異なるセキュリティードメインを使用する場合は、メイン設定ファイルでセキュリティードメイン詳細を変更します。
- /modules/system/layers/base/org/jboss/teiid/*
- このディレクトリーでは、JBoss EAP 用 JBoss Data Virtualization モジュールが定義されます。
- /modules/system/layers/base/org/jboss/teiid/client
- このディレクトリーには、JBoss Data Virtualization クライアントライブラリーが含まれます。また、JBoss Data Virtualization JDBC ドライバー JAR ファイルである
teiid-8.4.0.Final-jdbc.jar
と、JBoss Data Virtualization Hibernate ダイアレクトを含むteiid-hibernate-dialect-8.4.0.Final.jar
が含まれます。 - {standalone,domain}/tmp/teiid
- このディレクトリーには、JBoss Data Virtualization により作成された一時ファイルが含まれます。ほとんどの場合、これらのファイルはバッファーマネージャーにより作成されます。また、これらのファイルは VM の再起動で必要ありません。JBoss Data Virtualization LOB 値を作成する場合 (たとえば、SQL/XML を使用)、通常、8KBのメモリーサイズの許容値が超えると、LOB ごとに 1 つのファイルが作成されます。使用量が大きい場合は、定期的に最適化するパーティションでバッファディレクトリーを参照することを検討してください。
- {standalone,domain}/data/teiid-data
- このディレクトリーには、キャッシュ済み VDB メタデータファイルが含まれます。これらのファイルは手動で編集しないでください。
- dataVirtualization
- このディレクトリーには、JDBC ドライバー、adminshell、ModeShape VDB および一部の WAR が含まれています。
付録A 改訂履歴
改訂履歴 | |||
---|---|---|---|
改訂 6.2.0-15 | Wed Sep 2 2015 | David Le Sage | |
| |||
改訂 6.2.0-03.1 | Sat Aug 22 2015 | Takuro Nagamoto | |
|