Red Hat JBoss Data Virtualization 6.1 管理および設定ガイド

Red Hat JBoss Data Virtualization 6.1
管理および設定ガイド
管理者向け
Red Hat Customer Content Services
Red Hat JBoss Data Virtualization 6.1 管理および設定ガイド
管理者向け
Red Hat Custo mer Co ntent Services
法律上の通知
Co pyright © 20 15 Red Hat, Inc.
This do cument is licensed by Red Hat under the Creative Co mmo ns Attributio n-ShareAlike 3.0
Unpo rted License. If yo u distribute this do cument, o r a mo dified versio n o f it, yo u must pro vide
attributio n to Red Hat, Inc. and pro vide a link to the o riginal. If the do cument is mo dified, all Red
Hat trademarks must be remo ved.
Red Hat, as the licenso r o f this do cument, waives the right to enfo rce, and agrees no t to assert,
Sectio n 4 d o f CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shado wman lo go , JBo ss, MetaMatrix, Fedo ra, the Infinity
Lo go , and RHCE are trademarks o f Red Hat, Inc., registered in the United States and o ther
co untries.
Linux ® is the registered trademark o f Linus To rvalds in the United States and o ther co untries.
Java ® is a registered trademark o f Oracle and/o r its affiliates.
XFS ® is a trademark o f Silico n Graphics Internatio nal Co rp. o r its subsidiaries in the United
States and/o r o ther co untries.
MySQL ® is a registered trademark o f MySQL AB in the United States, the Euro pean Unio n and
o ther co untries.
No de.js ® is an o fficial trademark o f Jo yent. Red Hat So ftware Co llectio ns is no t fo rmally
related to o r endo rsed by the o fficial Jo yent No de.js o pen so urce o r co mmercial pro ject.
The OpenStack ® Wo rd Mark and OpenStack Lo go are either registered trademarks/service
marks o r trademarks/service marks o f the OpenStack Fo undatio n, in the United States and o ther
co untries and are used with the OpenStack Fo undatio n's permissio n. We are no t affiliated with,
endo rsed o r spo nso red by the OpenStack Fo undatio n, o r the OpenStack co mmunity.
All o ther trademarks are the pro perty o f their respective o wners.
概要
本書では Red Hat JBo ss Data Virtualizatio n の管理方法について説明しています。
目次
目次
. . ート
⁠パ
. . . . I.. .はじめに
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. . . . . . . . . .
. . 1. 章
⁠第
. . 注意事項
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. . . . . . . . . .
⁠1.1. データのバックアップ
6
⁠1.2. 変数名: EAP_HO ME
6
⁠1.3. 変数名: MO DE
6
⁠1.4. Red Hat のドキュメントサイト
6
. . 2. 章
⁠第
. . Red
. . . . Hat
. . . . JBoss
. . . . . .Dat
. . . a. .Virt
. . .ualiz
. . . .at
. .ion
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7. . . . . . . . . .
⁠2 .1. データの統合
7
⁠2 .2. Red Hat JBo s s Data Virtualiz atio n
7
⁠2 .3. 保険会社のユースケース
7
⁠2 .4. Red Hat JBo s s Data Virtualiz atio n の概要
8
⁠2 .5. サーバー
9
⁠2 .6 . 設計ツール
10
⁠2 .7. 管理ツール
10
. . 3章
⁠第
. . . 本書で使用される主な用語
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. 2. . . . . . . . . .
⁠3 .1. データフェデレーション
⁠3 .2. データロール
12
12
⁠3 .3. Maven について
⁠3 .4. 仮想データベース
13
14
⁠3 .5. データソース
⁠3 .6 . Teiid Des ig ner
⁠3 .7. コネクターフレームワーク
14
14
15
⁠3 .8 . トランスレーター
⁠3 .9 . サービス
15
15
⁠3 .10 . データプロバイダー
⁠3 .11. 管理 API
16
16
⁠3 .12. Ad minShell
⁠3 .13. JBo s s O p eratio ns Netwo rk
16
16
⁠3 .14. 管理コマンドラインインターフェース
⁠3 .15. 管理コンソール
16
17
⁠3 .16 . 対話型 Ad minShell
⁠3 .17. 非インタラクティブ Ad minShell
⁠3 .18 . Ad minShell G UI
⁠3 .19 . ワークスペース
17
17
17
17
⁠3 .20 . ページ
⁠3 .21. 仮想データベース
⁠3 .22. リソースアダプター
⁠3 .23. Ap ac he CXF
17
18
18
18
⁠3 .24. クラスター
⁠3 .25. 負荷分散
⁠3 .26 . フェイルオーバー
⁠3 .27. 分散キャッシング
⁠3 .28 . マテリアライズされたビュー
18
19
19
19
19
⁠3 .29 . データベースツールの役割
19
. . ート
⁠パ
. . . . II.
. . JBoss
. . . . . .Dat
. . . a. .Virt
. . .ualiz
. . . .at
. .ion
. . . 管理の概要
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. 1. . . . . . . . . .
. . 4. 章
⁠第
. . 管理ツール
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. 2. . . . . . . . . .
⁠4 .1. 管理ツールの概要
22
⁠4 .2. 管理コンソール
22
1
管理および設定ガイド
⁠4 .3. 管理 CLI
26
⁠4 .4. Ad minShell
⁠4 .5. JBo s s O p eratio ns Netwo rk
⁠4 .6 . Das hb o ard Build er
28
39
41
. . ート
⁠パ
. . . . III.
. . .ユーザー管理
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4. 7. . . . . . . . . .
. . 5章
⁠第
. . . ユーザーアカウント
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4. 8. . . . . . . . . .
⁠5 .1. ユーザーアカウント
48
⁠5 .2. データロール
⁠5 .3. JBo s s EAP 管理ユーザーの追加
⁠5 .4. Mo d es hap e ユーザーの追加
48
48
53
. . ート
⁠パ
. . . . IV.
. . .製品の設定
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
...........
. . 6. 章
⁠第
. . 仮想データベース
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
...........
⁠6 .1. 仮想データベースおよび JBo s s Data Virtualiz atio n
55
⁠6 .2. 仮想データベースデプロイメント
⁠6 .3. ファイルデプロイメントによる VDB のデプロイ
55
56
⁠6 .4. 管理コンソールでの VDB のデプロイ
⁠6 .5. CLI を使用して VDB をデプロイ
56
57
⁠6 .6 . Ad minShell を使用して VDB をデプロイ
⁠6 .7. 管理 API を使用して VDB をデプロイ
58
58
⁠6 .8 . VDB 依存関係
59
⁠6 .9 . データソースデプロイメント
⁠6 .10 . 管理コンソールを使用したデプロイ済み仮想データベースの管理
59
76
. . 7. 章
⁠第
. . バージョン管理
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7. 9. . . . . . . . . .
⁠7 .1. 仮想データベースバージョン管理
⁠7 .2. VDB バージョンの設定
79
79
⁠7 .3. 仮想データベース接続タイプ
79
⁠7 .4. 管理 API を使用して VDB 接続タイプを設定
79
. . 8. 章
⁠第
. . リソースアダプター
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8. 1. . . . . . . . . .
⁠8 .1. JBo s s Data Virtualiz atio n のリソースアダプター
81
⁠8 .2. リソースアダプターの設定
81
⁠8 .3. 設定例
⁠8 .4. リソースアダプタープロパティー
81
82
⁠8 .5. CLI スクリプトを使用してリソースアダプターを設定
⁠8 .6 . リソースアダプターの手動での設定
82
82
⁠8 .7. ファイルアダプタープロパティー
83
⁠8 .8 . G o o g le スプレッドシートリソースアダプタープロパティー
⁠8 .9 . JBo s s Data G rid リソースアダプタープロパティー
84
85
⁠8 .10 . LDAP アダプタープロパティー
⁠8 .11. Sales fo rc e アダプタープロパティー
86
86
⁠8 .12. Web サービスアダプタープロパティー
87
⁠8 .13. Mo ng o DB アダプタープロパティー
87
. . 9. 章
⁠第
. . CXF
. . . . 設定
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8. 9. . . . . . . . . .
⁠9 .1. CXF 設定
89
2
⁠9 .2. Web サービスデータソース用 CXF の設定
89
⁠9 .3. Web サービスデータソース用 CXF の設定: WS-Sec urity
⁠9 .4. Web サービスデータソース用 CXF の設定: ロギング
90
92
⁠9 .5. Web サービスデータソース用 CXF の設定: トランスポート設定
⁠9 .6 . Web サービスデータソース用 CXF の設定: SSL サポート (HTTPS)
92
93
⁠9 .7. Sales fo rc e データソース用 CXF の設定
94
目次
⁠9 .7. Sales fo rc e データソース用 CXF の設定
94
. . 1. 0. 章
⁠第
. . .JDBC
. . . . .データソース
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9. 6. . . . . . . . . .
⁠10 .1. JDBC データソースの設定
⁠10 .2. 設定例
96
96
⁠10 .3. 管理 CLI で JDBC ドライバーをインストール
⁠10 .4. 管理コンソールを用いた JDBC ドライバーのインストール
96
96
⁠10 .5. 管理インターフェースによる非 XA データソースの作成
97
⁠10 .6 . 管理インターフェースによる XA データソースの作成
⁠10 .7. データソースのパラメーター
99
10 0
⁠10 .8 . JDBC ドライバーをダウンロードできる場所
10 6
. . 1. 1. 章
⁠第
. . .ロギング
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.0. 7. . . . . . . . . .
⁠11.1. ロギングの概要
⁠11.2. デフォルトのログファイルの場所
10 7
10 7
⁠11.3. JBo s s Data Virtualiz atio n ログカテゴリー
⁠11.4. コマンドロギング
10 7
10 8
⁠11.5. コマンドロギングの有効化
110
⁠11.6 . コマンドログ出力
⁠11.7. 監査ロギング
110
111
⁠11.8 . 監査ロギングの有効化
⁠11.9 . 管理コンソールのログカテゴリーの設定
111
111
⁠11.10 . CLI でのログカテゴリー設定
112
⁠11.11. 管理コンソールでの周期的なログハンドラーの設定
⁠11.12. CLI での周期ログハンドラーの設定
115
115
. . 1. 2. 章
⁠第
. . .クラスタリング
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.2. 1. . . . . . . . . .
⁠12.1. JBo s s Data Virtualiz atio n のクラスタリング
⁠12.2. JBo s s Data Virtualiz atio n でのクラスタリングの有効化
121
121
⁠12.3. 負荷分散の設定
122
. . 1. 3章
⁠第
. . . キャッシング
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. 2. 3. . . . . . . . . .
⁠13.1. 結果セットキャッシュ
⁠13.2. マテリアライズビュー
123
127
⁠13.3. コードテーブルキャッシュ
134
⁠13.4. キャッシングのヒントとオプション
136
. . ート
⁠パ
. . . . V.
. . 監視およびパフォーマンス
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. 39
...........
. . 1. 4. 章
⁠第
. . .モニタリング
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.4. 0. . . . . . . . . .
⁠14.1. JBo s s Data Virtualiz atio n の監視
⁠14.2. クエリー/セッションの詳細
140
140
⁠14.3. セッション/クエリーメトリックス
140
⁠14.4. バッファーマネージャーメトリックス
141
⁠14.5. キャッシュメトリックス
141
. . 1. 5章
⁠第
. . . パフォーマンスチューニング
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. 4. 3. . . . . . . . . .
⁠15.1. 使用に関するヒント
⁠15.2. メモリー管理に関する考慮事項
143
145
⁠15.3. スケーラビリティーに関する考慮事項
146
⁠15.4. ディスク使用に関する考慮事項
148
⁠15.5. スレッドに関する考慮事項
148
⁠15.6 . キャッシュに関する考慮事項
⁠15.7. トランスポートに関する考慮事項
149
150
⁠15.8 . Larg e O b jec t (LO B)
151
⁠15.9 . LO B に関する考慮事項
151
3
管理および設定ガイド
⁠15.9 . LO B に関する考慮事項
151
⁠15.10 . 他のパフォーマンスチューニングに関する注意点
152
. . ート
⁠パ
. . . . VI.
. . .リファレンス
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. 53
...........
. . 1. 6. 章
⁠第
. . .全般設定
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. 54
...........
⁠16 .1. JBo s s Data Virtualiz atio n の設定
154
⁠16 .2. 管理 CLI を使用した JBo s s Data Virtualiz atio n 設定の表示
⁠16 .3. 管理 CLI を使用した JBo s s Data Virtualiz atio n 設定の変更
154
155
⁠16 .4. 管理 CLI を使用したトランスポートおよび SSL の設定の管理
155
⁠16 .5. 管理 CLI を使用したトランスレーター設定の管理
156
⁠16 .6 . SSL 認証モード
156
⁠16 .7. JBo s s 管理コンソールを使用したコア設定の管理
⁠16 .8 . Red Hat JBo s s Data Virtualiz atio n で使用されるポート
157
157
⁠16 .9 . 管理コンソールを使用したデフォルトの JDBC ポートの変更
157
⁠16 .10 . システムプロパティー
158
. . 1. 7. 章
⁠第
. . .ディレクトリー構造
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. 6. 3. . . . . . . . . .
⁠17.1. ディレクトリー構造
16 3
. .録
⁠付
. .A. 改訂履歴
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. 6. 5. . . . . . . . . .
4
⁠パート I. はじめに
⁠パート I. はじめに
5
管理および設定ガイド
第1章 注意事項
1.1. データのバックアップ
警告
Red Hat は、システム設定をバックアップしてから本書に掲載されている設定タスクを実行するこ
とを推奨します。
バグを報告する
1.2. 変数名: EAP_HOME
EAP _HO ME は、JBoss D ata Virtualization がデプロイされた Red Hat JBoss Enterprise Application
Platform インストールのルートディレクトリーを示しています。
バグを報告する
1.3. 変数名: MODE
MO D E は、JBoss D ata Virtualization が実行されているモードがスタンドアロンまたはドメインモードで
あるかによって stand al o ne か d o mai n のいずれかになります。本書に記載されているファイルパスに
MO D E がある場合は、これらのどちらかに置き換えてください (この変数は、ディレクトリー構造のどこに
製品がインストールされているかを基にしてご自身で設定する必要があります)。
バグを報告する
1.4 . Red Hat のドキュメントサイト
Red Hat の公式ドキュメントサイトは https://access.redhat.com/site/documentation/ になります。本書
を含む最新バージョンのドキュメントをご覧になれます。
バグを報告する
6
⁠第2 章 Red Hat JBoss Dat a Virt ualiz at ion
第2章 Red Hat JBoss Data Virtualization
2.1. データの統合
企業では、複数の異なるデータソースにあるデータにアクセスする必要性が高まっています。そのため、企
業が情報を簡単に利用できる方法を考える必要があります。
データの統合は、複数の異なるソースから組み合わされた情報を仮想ビューで統一します。これにより、
ユーザーとアプリケーションは単一の統一 API を使用することで、統合されたデータが単一のデータベース
にあるかのようにクエリーおよび管理できます。
データをコピーまたは移動する代わりに、仮想データベース (VD B) を使用して物理データソースを統合
ビューへマップします。 実行時、VD B によって定義されたクエリー基準やマッピングにしたがって、これ
らのビューに対して送信されたクエリーは依存する物理データソースの間でコーディネートされます。この
方法を用いると、データの複製によって発生する不必要な転送や不整合を防ぐことができます。
データの統合は、場所、構造、API、アクセス言語、ストレージ技術などの物理データソースの詳細をエン
ドユーザーに対して非公開にします。これにより、物理的なデータの分離に関する技術的な問題に時間をか
けず、データの分析や操作に労力を費やすことができます。
バグを報告する
2.2. Red Hat JBoss Dat a Virt ualiz at ion
Red Hat JBoss D ata Virtualization はリレーショナルデータベース、テキストファイル、ERP/CRM メイ
ンフレームシステムなどのソースや、Apache Hadoop (Hive)、MongoD B などの「ビッグデータ」データ
ソースからデータを統合するために使用されるデータ統合ソリューションです。
Red Hat は JBoss D ata Virtualization インスタンスの設計、デプロイメントおよび継続的な管理を容易に
するさまざまなツールを提供します。
バグを報告する
2.3. 保険会社のユースケース
状況
Acme Home Insurance の CEO は、経営を効果的に行うために、企業の社内データ分析を改善すべきだと
判断しました。企業は顧客に関連するデータと、企業のリスク管理と全体的なビジネス戦略に影響する要因
を包括的かつ正確に把握する必要があります。データ分析に質はデータ統合の質に依存するため、企業は最
初にデータ統合ソリューションを見直します。
顧客情報は、企業ネットワークの Tenacicle データベースに保存されます。ただし、企業は他のソースから
以下のような色々なデータを使用する必要もあります。
国内の火災および洪水の件数。連邦緊急サービス部門により提供され、オンライン IntegriSQL データ
ベースに格納されます。
各州の都市部と地方部の平均建設コスト。州の住宅組合により提供され、一部はオンラインデータベー
スに格納され、それ以外はダウンロード可能なテキストファイルとして格納されます。これらのソース
は別々に維持されるため、テーブルには標準的な列の名前とメトリックスがありません。たとえば、一
部のテーブルは C o st を参照し、他のテーブルは P ri ce を参照します。また、一部のコストはメート
ルごとに ((per m)) 割り当てられ、他のコスト (同じ資材) はミリメートルごとに (
( per mm)) 割り当
てられます。
ソリューション
7
管理および設定ガイド
ソリューション
JBoss D ata Virtualization と連携するよう開発された Teiid D esigner ツールを使用して、Acme Home
Insurance の IT チームはデータを統合するために仮想データベース (VD B) を作成しました。
1. IT チームは、各ソースからメタデータを直接インポートして、必要な各データソースのソースモデ
ルを作成しました。コネクターフレームワークの柔軟性により、異なるデータソースタイプ
(Tenacicle、IntegriSQL、プレーンテキストファイルなど) をシームレスに統合できるようになり
ました。
2. また、IT チームは、複数のソースモデルでのデータの意味、解釈、および用途についてのセマン
ティックな違いを解消しました。たとえば、統合されたすべてのテーブルでは、資材コストが
C o st (per mm) として表されるようになりました。
3. さらに IT チームはアナリストが要求するフォーマットで統合データを表すよう一連のカスタマイズ
ビューを作成しました。
結果
アナリストは、1 つの API で必要なすべてのデータにアクセスできるため、物理的な場所や複数のデータ
ソース間の技術的な違いまたはセマンティックな違いを気にせずに高度な分析テクニックを適用することに
集中できます。
バグを報告する
2.4 . Red Hat JBoss Dat a Virt ualiz at ion の概要
完全な JBoss D ata Virtualization ソリューションは以下のものから構成されます。
サーバー
サーバーは、ビジネスアプリケーションと 1 つまたは複数のデータソース間に存在し、実行時に
ビジネスアプリケーションがアクセスできるようこれらのデータソースの統合を調整します。
設計ツール
ユーザーが特定のデータ統合ソリューションのために JBoss D ata Virtualization をセットアッ
プすることを支援するさまざまな設計ツールが利用可能です。
管理ツール
管理者が JBoss D ata Virtualization を設定および監視するためのさまざまな管理ツールが利用
可能です。
8
⁠第2 章 Red Hat JBoss Dat a Virt ualiz at ion
図2.1 JB o ss D at a Virt u aliz at io n Arch it ect u ral の概要
バグを報告する
2.5. サーバー
Red Hat JBoss D ata Virtualization サーバー (またはサービス) は、ビジネスアプリケーションと 1 つまた
は複数のデータソース間に存在し、実行時のビジネスアプリケーションによるアクセスに対してこれらの
データソースの統合を調整します。
JBoss D ata Virtualization サーバーは、以下のコンポーネントを管理します。
仮想データベース
仮想データソース (VD B) は、複数の物理リポジトリーにあるデータの統一ビューを提供します。
VD B はさまざまなデータモデルと、どのデータソースをどのように統合するかを定義する設定情
報から構成されます。特に、 ソースモデルは物理データソースの構造と特性を表すために使用さ
れ、ビューモデルは、アプリケーションに公開される統合データの構造と特定を表します。
アクセス層
アクセス層は、アプリケーションが JD BC、OD BC、または Web サービスを介してクエリー (リ
レーショナル、XML、XQuery、および手続き) を VD B に送信するために使用するインター
フェースです。
クエリーエンジン
9
管理および設定ガイド
アプリケーションがアクセス層を介して VD B にクエリーを送信する場合、クエリーエンジン
は、SQL 基準と VD B のソースおよびビューモデル間のマッピングによって決定される必須物理
データソースに対して効率的なアクセスを提供する最適なクエリー計画を生成します。このクエ
リー計画に従って、オーダーが処理され、物理データソースが最も効率的にアクセスされます。
コネクターアーキテクチャー
トランスレーターとリソースアダプターは、クエリーエンジンと物理データソース間で透過的な
接続を提供するために使用されます。トランスレーターは、クエリーをソース固有のコマンドに
変換するために使用され、リソースアダプターはソースとの通信を提供します。
バグを報告する
2.6. 設計ツール
ユーザーが必要なデータ統合ソリューションのために Red Hat JBoss D ata Virtualization をセットアップ
することを支援する以下の設計ツールが利用可能です。
T eiid D esig n er
Teiid D esigner は、JBoss D eveloper Studio 向けのプラグインであり、仮想データソース
(VD B) を設計およびテストするためのグラフィカルユーザーインターフェースを提供します。
コネクター開発キット
コネクター開発キットは、ユーザーが特定の統合シナリオのためにコネクターアーキテクチャー
(トランスレーターおよびリソースアダプター) をカスタマイズすることを可能にする Java API
です。
Mo d eSh ap e T o o ls
ModeShape Tools は、JBoss D eveloper Studio 向けのプラグインセットであり、提供された
階層データベースで JBoss D ata Virtualization アーティファクト (VD B や付属のモデルなど) を
公開および管理するためのグラフィカルユーザーインターフェースを提供します。
バグを報告する
2.7. 管理ツール
管理者が Red Hat JBoss D ata Virtualization を設定および監視するための以下の管理ツールが利用可能で
す。
Ad min Sh ell
AdminShell は、ユーザーが JBoss D ata Virtualization にアクセスし、監視および制御を行うこ
とを可能にするスクリプトベースのプログラミング環境を提供します。
管理コンソール
Red Hat JBoss Enterprise Application Platform (EAP) により提供される管理コンソールは、シ
ステム管理者が実行中の JBoss EAP インスタンス (JBoss D ata Virtualization を含む) 内でデプ
ロイされたサービスを管理および設定することを可能にする Web ベースのツールです。
管理 C LI
管理 CLI (コマンドラインインターフェース) は、JBoss EAP インスタンス内でデプロイされた
サービスを管理するために JBoss EAP により提供されます。操作は、バッチモードで実行で
き、複数のタスクをグループで実行できます。
10
⁠第2 章 Red Hat JBoss Dat a Virt ualiz at ion
JB o ss O p erat io n s N et wo rk
Red Hat JBoss Operations Network は、Red Hat JBoss Middleware アプリケーションおよび
サービス (JBoss D ata Virtualization を含む) をデプロイし、デプロイメント全体を管理および
監視するための単一のインターフェースを提供します。
管理 API
JBoss D ata Virtualization には、開発者が他のアプリケーション内から実行時に JBoss D ata
Virtualization に接続し、設定することを可能にする Java API ( org.teiid.adminapi ) が含まれま
す。
バグを報告する
11
管理および設定ガイド
第3章 本書で使用される主な用語
3.1. データフェデレーション
データフェデレーションの例は、複数のデータソースを統合して 1 つのクエリーが 1 つまたは複数のデー
タソースから結果を返すことができる JBoss D ata Virtualization の機能について示しています。これによ
り、新しいアクセス詳細を晒さずに新しいソースを簡単に統合できるようになります。
注記
この例で説明したすべてのコードは dynamicvdb-datafederation クイックスタートで利用できま
す。クイックスタートの実行手順については、EAP_HOME/q ui ckstarts/d ynami cvd bd atafed erati o n/R EAD ME. md を参照してください。
この例では、 次の 2 つの異なるデータソースが使用されます。
H2 データベースに保存されるアカウント情報
CSV テキストファイルに保存されるマーケットデータ (株価)
D ynamicPortfolio VD B は、各データソースのモデルを定義します。VD B は JBoss D ata Virtualization
にデプロイされるため、JD BC を使用してユーザーアプリケーションにアクセスできます。Accounts モデ
ルと MarketD ata モデルからデータを結合するテストクエリーが実行されると、JBoss D ata
Virtualization はリレーショナルソースと非リレーショナルソースの両方にアクセスし、ポートフォリオ値
を計算して、結果を返します。
バグを報告する
3.2. データロール
データロールの例は、データロールを使用してデータへのアクセスを制御する方法を示しています。これに
は、読み取り専用と読み書きのアクセスロールが含まれます。
注記
この例で説明したすべてのコードは dynamicvdb-dataroles クイックスタートで利用できます。ク
イックスタートの実行手順については、EAP_HOME/q ui ckstarts/d ynami cvd bd ataro l es/R EAD ME. md を参照してください。
この例では、VD B (po rtfo l i o -vd b. xml ) が次の 2 つの異なるデータアクセスロールで定義されていま
す。
read-only
read-only ロールは、VD B のアクセスを読み取り専用アクセス (つまり、選択) に制限します。このロー
ルは、ログインクレデンシャルを持つすべてのユーザーに割り当てられます ('user' という名前のユー
ザーとパスワード 'user' を使用できます)。
read-write
12
⁠第3章 本書で使用される主な用語
read-write ロールにより、読み書きアクセス (つまり、挿入/更新/削除) が提供されます。このロール
は、'superuser' JAAS ロールを持つユーザーにのみ割り当てられます ('portfolio' ユーザーとパスワー
ド 'portfolio' を使用できます)。
po rtfo l i o -vd b. xml の read-write data-role の例は以下のとおりです。
<data-role name="ReadWrite">
<description>Allow Reads and Writes to tables and
procedures</description>
<permission>
<resource-name>Accounts</resource-name>
<allow-create>false</allow-create>
<allow-read>true</allow-read>
<allow-update>true</allow-update>
</permission>
<permission>
<resource-name>MarketData</resource-name>
<allow-create>false</allow-create>
<allow-read>true</allow-read>
<allow-update>true</allow-update>
</permission>
<!-This role must defined in the JAAS security domain, the sample
UserRolesLoginModules based roles file is provided in this sample
directory. Copy these teiid-security-roles.properties and teiid-securityusers.proeprties into
EAP_HOME/modules/system/layers/dv/org/jboss/teiid/conf directory and
replace the old ones.
-->
<mapped-role-name>supervisor</mapped-role-name>
</data-role>
JAAS に対してユーザーとロールを定義する方法について
は、EAP_HOME/q ui ckstarts/src/d ynami cvd b-d ataro l es/securi ty/tei i d -securi tyro l es. pro perti es ファイルと EAP_HOME/q ui ckstarts/src/d ynami cvd bd ataro l es/securi ty/tei i d -securi ty-users. pro perti es ファイルを参照してください。
teiid-security-users.properties ファイルは、ユーザークレデンシャル (つまり、ログイン ID およびパス
ワード) を確認するために JAAS によって使用され、teiid-security-roles.properties ファイルはユーザー名
を <mapped -ro l e-name> 要素にマップします。
バグを報告する
3.3. Maven について
Apache Maven は、ソフトウェアプロジェクトの構築および管理を行う Java アプリケーション開発で利
用される分散型構築自動化ツールです。Maven は POM (Project Object Model) と呼ばれる設定 XML ファ
イルを利用して、プロジェクトプロパティーの定義や構築プロセスの管理を行います。POM ファイルはプ
ロジェクトのモジュールやコンポーネントの依存関係、構築の順番、生成されるプロジェクトパッケージ
と出力のターゲットを定義します。この結果、プロジェクトは正しく統一された状態で構築されます。
Maven はレポジトリーを使用して Java ライブラリー、プラグイン、および他のビルドアーティファクト
を格納します。リポジトリーはローカルまたはリモートのいずれかになります。ローカルリポジトリーは、
13
管理および設定ガイド
ローカルマシンにキャッシュされたリモートリポジトリーからのアーティファクトのダウンロードです。
リモートリポジトリーは、http: // (HTTP サーバーにある場合) や fi l e: // (ファイルサーバーにある
場合) などの一般的なプロトコルを使用してアクセスされる他のリポジトリーです。デフォルトのリポジト
リーは、パブリックリモートの Maven 2 Central Repository です。
Maven の設定は、setti ng s. xml ファイルを変更して実行されます。グローバルな Maven 設定
は、M2_HOME/co nf/setti ng s. xml ファイルまたは USER_HOME/. m2/setti ng s. xml ファイルの
ユーザーレベル設定で指定できます。
Maven の詳細については、Welcome to Apache Maven を参照してください。
Maven リポジトリーの詳細については、Apache Maven Project - Introduction to Repositories を参照し
てください。
Maven POM ファイルの詳細については Apache Maven Project POM Reference を参照してください。
注記
Red Hat JBoss Fuse Service Works は maven 3.0.x でビルドされました。したがって、これは、
独自の SwitchYard アプリケーションをビルドするのに推奨される maven バージョンです。
バグを報告する
3.4 . 仮想データベース
仮想データベース (VD B) は、複数の異なるデータソースからデータを統合するコンポーネントのコンテナ
であり、データが単一のデータベースにある (したがって、単一の統一 API を使用) ようにアプリケーショ
ンがデータにアクセスし、問い合わせることを可能にします。
バグを報告する
3.5. データソース
データソースはデータのリポジトリーです。クエリー言語を使用すると、ユーザーはこれらのソースに格納
されたデータを取得および操作できます。
バグを報告する
3.6. T eiid Designer
Teiid D esigner は、複数のデータソースをモデリング、分析、統合、およびテストする Eclipse ベースのグ
ラフィカルモデリングツールです。Teiid D esigner はリレーショナル、XML、および Web サービスビュー
を生成します。
Teiid D esigner の機能は以下のとおりです。
セマンティックな差異を解決します。
物理または論理レベルで仮想データ構造を作成します。
宣言型インターフェースを使用して、アプリケーションの互換性のためにデータを統合および集約し、
ソースからターゲットの形式にデータを変換します。
14
⁠第3章 本書で使用される主な用語
バグを報告する
3.7. コネクターフレームワーク
Red Hat JBoss D ata Virtualization には、VD B が依存する物理データソースにアクセスすることを可能に
する トランスレーターとリソースアダプターのセットが含まれます。
ED S で直接サポートされないデータソースに対してカスタムのトランスレーターおよびリソースアダプ
ターを開発できます。
バグを報告する
3.8. トランスレーター
Reed Hat JBoss D ata Virtualization では、トランスレーターはクエリーエンジンと物理データソース間の
抽象レイヤーを提供します。このレイヤーはクエリーコマンドをソース固有コマンドに変換し、リソースア
ダプターを使用してこれらのコマンドを実行します。また、トランスレーターは、物理ソースからの結果
データをクエリーエンジンが必要な形式に変換します。
バグを報告する
3.9. サービス
Red hat JBoss D ata Virtualization Service は、ビジネスアプリケーションと 1 つまたは複数のデータ
ソース間で機能し、実行時のビジネスアプリケーションによるアクセスに対してこれらのデータソースの統
合を調整します。
ED S Service は、以下のコンポーネントを管理します。
仮想データベース
仮想データソース (VD B) は、複数の物理リポジトリーにあるデータの統一ビューを提供します。
VD B はさまざまなデータモデルと、どのデータソースをどのように統合するかを定義する設定情
報から構成されます。特に、 ソースモデルは物理データソースの構造と特性を表すために使用さ
れ、ビューモデルは、アプリケーションに公開される統合データの構造と特性を表します。
アクセス層
アクセス層は、アプリケーションが JD BC、OD BC、または Web サービスを介してクエリー (リ
レーショナル、XML、XQuery、および手続き) を VD B に送信するために使用するインター
フェースです。
クエリーエンジン
アプリケーションがアクセス層を介して VD B にクエリーを送信する場合、クエリーエンジン
は、SQL 基準と VD B のソースおよびビューモデル間のマッピングによって決定される必須物理
データソースに対して効率的なアクセスを提供する最適なクエリー計画を生成します。このクエ
リー計画に従って、オーダーが処理され、物理データソースが最も効率的にアクセスされます。
コネクターフレームワーク
トランスレーターとリソースアダプターは、クエリーエンジンと物理データソース間で透過的な
接続を提供するために使用されます。トランスレーターは、クエリーをソース固有のコマンドに
変換するために使用され、リソースアダプターはソースとの通信を提供します。
バグを報告する
15
管理および設定ガイド
3.10. データプロバイダー
データプロバイダーは、データソース (CSV ファイルまたはデータソース) に接続し、必要なデータを収集
して、データ型を割り当てるよう設定されたエンティティーです。データベースクエリーと考えることがで
きます。
収集されたデータは、ページのインジケーターで視覚化し、 XLS や CVS でエクスポートできます。
バグを報告する
3.11. 管理 API
管理 API パッケージ org.teiid.adminapi は、開発者が他のアプリケーションから実行時に JBoss D ata
Virtualization インスタンスに接続および設定することを可能にするメソッドを提供します。
JBoss D ata Virtualization 向け Javadoc は Red Hat カスタマーポータルで利用できます。
バグを報告する
3.12. AdminShell
AdminShell は、ユーザーが JBoss D ata Virtualization にアクセスし、監視および制御を行うことを可能
にするスクリプトベースのプログラミング環境を提供します。
バグを報告する
3.13. JBoss Operat ions Net work
JBoss Operations Network (JON) では、管理者がさまざまなシステムを一元的に参照できます。JON を
使用すると、システムのインベントリーを開発し、監視できます。インベントリーには各管理対象リソース
(プラットフォーム、アプリケーション、サービスを含む) が含まれ、整理されます。IT 環境の複雑さは関
係ありません。
JBoss Operations Network により、インストールされたサーバーでの操作が一元化されます。JON サー
バーはローカルにインストールされた JON エージェントと通信します。エージェントはプラットフォーム
およびサービスと直接対話し、監視などのローカルタスクを実行します。JON で管理できるリソースのタ
イプと実行できる操作は、JON でロードされたサーバーおよびエージェントプラグインにより決定されま
す。
JBoss Operations Network では、サーバー、エージェント、プラグイン、およびリソース間の関係が重要
になります。
バグを報告する
3.14 . 管理コマンドラインインターフェース
管理コマンドラインインターフェース (CLI) は、JBoss EAP 6 のコマンドライン管理ツールです。
管理 CLI を使用して、サーバーの起動および停止、アプリケーションのデプロイおよびアンデプロイ、シス
テムの設定、他の管理タスクの実行を行います。操作はバッチモードで実行でき、複数のタスクをグループ
として実行できます。
バグを報告する
16
⁠第3章 本書で使用される主な用語
3.15. 管理コンソール
管理コンソールは JBoss EAP 6 の Web ベースの管理ツールです。
管理コンソールを使用して、サーバーの開始および停止、アプリケーションのデプロイおよびアンデプロ
イ、システム設定の調整、サーバー設定の変更の永続化を行います。管理コンソールは管理タスクも実行で
き、変更後にサーバーインスタンスの再起動またはリロードが必要な場合はライブ通知も行います。
管理対象ドメインでは、同じドメイン内のサーバーインスタンスやサーバーグループをドメインコントロー
ラーの管理コンソールから集中管理できます。
バグを報告する
3.16. 対話型 AdminShell
対話型 AdminShell は、JBoss D ata Virtualization を簡単に管理するためにユーザーがアドホックスクリ
プトベースのコマンドを発行できるコマンドラインインターフェースを提供します。
バグを報告する
3.17. 非インタラクティブ AdminShell
非インタラクティブ AdminShell を使用すると、ユーザーは以前に開発したスクリプトをコマンドラインか
ら実行して JBoss D ata Virtualization を管理できます。このモードは、テストを自動化し、JBoss D ata
Virtualization インスタンスに対する設定/移行の変更を繰り返す場合に特に役に立ちます。
バグを報告する
3.18. AdminShell GUI
AdminShell GUI を使用すると、ユーザーはグラフィカル環境でスクリプトを開発および実行して JBoss
D ata Virtualization を管理できます。スクリプト開発は、GUI テキストエディターを使用して行われます
(構文は強調表示されます)。
バグを報告する
3.19. ワークスペース
ワークスペースは、パネルまたはインジケーターがあるページのコンテナーです。
デフォルトでは、Showcase ワークスペースが利用可能です。
ワークスペースを切り替えるには、左上のパネルのワークスペースドロップダウンボックスで必要なワーク
スペースを選択します。新しいワークスペースを作成するには、左上のメニューの C reate wo rkspace
アイコン (
) をクリックします。また、現在のワークスペースプロパティーを編集し、現在のワークス
ペースを削除して、上部パネルのアイコンを使用して現在のワークスペースを複製することもできます。
各ワークスペースでは、ワークスペースのグラフィックプロパティーを定義する特定のスキンとエンベロー
プが使用されます。
バグを報告する
3.20. ページ
17
管理および設定ガイド
3.20. ページ
ページは、ワークスペースに存在する単位であり、パネルの領域 (ダッシュボード) を提供します。デフォ
ルトでは、上部パネルのページドロップダウンメニューで選択してページを表示できます。
各ページは、主にラテラルメニューとページの中央部分の 2 つの部分に分割されます。これらの部分はさら
に分割されます (分割部分は新しいパネルをページに配置したときに示されます)。ラテラルメニューでは、
パネルをお互いの下にのみ挿入できますが、ページの中央部分では、パネルをお互いの下に挿入したり、タ
ブ化したりすることができます。
また、ページにはカスタマイズ可能なヘッダーとロゴ領域があります。
バグを報告する
3.21. 仮想データベース
仮想データベース (VD B) は、複数の異なるデータソースからデータを統合するコンポーネントのコンテナ
であり、データが単一のデータベースにある (したがって、単一の統一 API を使用) ようにアプリケーショ
ンがデータにアクセスし、問い合わせることを可能にします。
バグを報告する
3.22. リソースアダプター
リソースアダプターは、 Java Connector Architecture (JCA) 仕様を使用して Java EE アプリケーション
とエンタープライズ情報システム (EIS) との間の通信を提供するデプロイ可能な Java EE コンポーネント
です。EIS ベンダーの製品と Java EE アプリケーションの統合を容易にするため、リソースアダプターは
通常 EIS ベンダーによって提供されます。
エンタープライズ情報システムは、組織内における他のあらゆるソフトウェアシステムのことです。例とし
ては、エンタープライズリソースプランニング (ERP) システム、データベースシステム、電子メールサー
バー、商用メッセージングシステムなどが挙げられます。
リソースアダプターは、JBoss EAP 6 にデプロイできる Resource Adapter Archive (RAR) ファイルで
パッケージ化されます。また、RAR ファイルは、Enterprise Archive (EAR) デプロイメントにも含めるこ
とができます。
バグを報告する
3.23. Apache CXF
Apache CXF は、サービス指向アーキテクチャー (SOA) を開発するオープンソースフレームワークです。
CXF を使用すると、JAX-WS や JAX-RS などのフロントエンドプログラミング API を使用してサービスを
構築および開発できます。これらのサービスは、SOAP、XML/HTTP、RESTful HTTP、CORBA などのさ
まざまなプロトコルを使用し、HTTP、JMS、JBI などのさまざまなトランスポートと連携します。
CXF の詳細については、http://cxf.apache.org/docs/を参照してください。
バグを報告する
3.24 . クラスター
クラスターは、連携して動作するため、単一のシステムとして見ることができる緩やかに接続されたコン
ピューターのグループです。クラスターのコンポーネント (またはノード) は通常高速のローカルエリア
ネットワークを介してお互いに接続されます (各ノードでは独自のオペレーティングシステムが実行されま
18
⁠第3章 本書で使用される主な用語
す)。クラスタリングミドルウェアにより、ノード間の連携が実行され、ユーザーとアプリケーションがク
ラスターを単一のプロセッサーとして扱うことができるようになります。必要に応じてノードを追加するこ
とによりパフォーマンスが向上されるため、クラスターはスケーラブルなエンタープライズアプリケーショ
ンに効果的です。1 つのノードで障害が発生した場合は、他のノードが負荷を引き受けることができます。
バグを報告する
3.25. 負荷分散
負荷分散は、複数のコンピューターまたはコンピュータークラスター、ネットワークリンク、中央処理ユ
ニット、ディスクドライバー、あるいは他のリソース全体で負荷を分散して、リソースの使用の最適化、ス
ループットの最大化、応答時間の最小化、および過負荷の回避を実現するコンピュータネットワーク方法論
です。負荷分散で単一のコンポーネントではなく複数のコンポーネントを使用することにより、冗長性が実
現され信頼性も向上します。
バグを報告する
3.26. フェイルオーバー
フェイルオーバーでは、以前にアクティブであったアプリケーション、サーバー、システム、ハードウェ
アコンポーネント、またはネットワークの障害発生時または異常終了時に、冗長またはスタンバイ状態のコ
ンピューターサーバー、システム、ハードウェアコンポーネント、またはネットワークに自動的に切り替わ
ります。
バグを報告する
3.27. 分散キャッシング
分散キャッシングにより、単一マシンでのキャッシングの従来の概念が拡張され、複数のサーバーでキャッ
シングできるようになります。分散キャッシュを使用することにより、アプリケーションはキャッシュを
単一エンティティーとして扱うことができ、サーバーを追加してキャッシュのサイズとトランザクション
容量を拡大できます。
バグを報告する
3.28. マテリアライズされたビュー
JBoss D ata Virtualization は、マテリアライズされたビューをサポートします。マテリアライズされた
ビューは他のビューとほとんど同じですが、変換が事前に計算され、通常のテーブルのように格納されま
す。JBoss D ata Virtualization Server を介してクエリーがビューに対して発行される場合に、キャッシュ
された結果が使用されます。これにより、クエリーが実行されるたびに基礎となるすべてのデータソースに
アクセスし、ビュー変換を再計算するコストが節約されます。
マテリアライズされたビューは、基礎となるデータがすぐに変更されない場合、一定期間「無効な」データ
を取得することを許容する場合、またはエンドユーザークエリーが、稼働しているソースに追加のクエリー
負荷を与える代わりにステージングされたデータにアクセスすることを求める場合に適切です。
バグを報告する
3.29. データベースツールの役割
Red Hat JBoss D ata Virtualization のデータベースは、ModeShape、D ashboard Builder、およびコマ
ンド/監査ロギング機能の 3 つのアイテムにより必要とされます。Red Hat JBoss D ata Virtualization とと
19
管理および設定ガイド
もに Red Hat JBoss Fuse Service Works を使用している場合は、BPEL および SwitchYard/jBPM 統合も
この機能を使用します。
バグを報告する
20
⁠パート II. JBoss Dat a Virt ualiz at ion 管理の概要
⁠パート II. JBoss Data Virtualization 管理の概要
21
管理および設定ガイド
第4章 管理ツール
4 .1. 管理ツールの概要
JBoss D ata Virtualization を管理するのに利用できるツールは以下のとおりです。
管理コンソール
管理コマンドラインインターフェース ( C LI)
Ad min Sh ell
管理 API
JB o ss O p erat io n s N et wo rk
バグを報告する
4 .2. 管理コンソール
4 .2.1. 管理コンソールおよび JBoss Dat a Virt ualiz at ion
JBoss D ata Virtualization は、Web ベースの管理コンソール用プラグインを提供します。このプラグイン
は使いやすい Web インターフェースを提供し 、実行中の JBoss EAP インスタンス内でデプロイされた
JBoss D ata Virtualization サービスを監視および設定するために使用します。
注記
JBoss D ata Virtualization に固有でない管理コンソールの一般的な使用の詳細については、『Red
Hat JBoss Enterprise Application Platform 管理および設定ガイド』を参照してください。
バグを報告する
4 .2.2. 管理コンソールにログインします。
前提条件
JBoss EAP 6 が稼働している必要があります。
1. 管理コンソールのスタートページへのアクセス
Web ブラウザーを起動し、Web ブラウザーで管理コンソール
(http://localhost:9990/console/App.html) に移動します。
注記
ポート 9990 は、管理コンソールソケットバインディングとして事前定義されています。
2. 以前作成したアカウントのユーザー名とパスワードを入力し、管理コンソールのログイン画面にロ
グインします。
22
⁠第4 章 管理ツール
図4 .1 管理コンソールのログイン画面
結果
ログインすると、以下のアドレスにリダイレクトされ、管理コンソールのランディングページが表示されま
す (http://localhost:9990/console/App.html#home)。
バグを報告する
4 .2.3. 管理コンソール - Configurat ion タブ
C o nfi g urati o n タブには、一般的な JBoss D ata Virtualization 固有の設定プロパティーが含まれま
す。左側のナビゲーションツリーで T ei i d をクリックして Teiid 設定を表示します。サブカテゴリーは以
下のとおりです。
図4 .2 C o n f ig u rat io n タブ
23
管理および設定ガイド
Query Engine - コアの Teiid エンジンプロパティーを表示および設定します。
Translators - Teiid で設定されたトランスレーターを表示および削除します。
Transports - トランスポートを表示し、Teiid エンジンに追加したり、削除したりします。
Audit Logs - Teiid の監査ロギングを有効または無効にします。
C o nfi g urati o n タブを使用して、Teiid の設定値を変更できます。さまざまな設定プロパティーが異な
るタブに分割されます。これらのページで Need Hel p リンクをクリックすると、ページに各フィールド
の説明が表示されます。
注記
一部のプロパティーでは、プロパティーの変更を反映する前にサーバーを再起動する必要がありま
す。
バグを報告する
4 .2.4 . 管理コンソール - Runt ime タブ
R unti me タブには、JBoss EAP サーバーと Teiid サブシステムに関する実行時情報が表示されます。
Teiid に関する実行時情報は、左側のナビゲーションツリーで Vi rtual D atabases をクリックすること
により表示できます。
図4 .3 R u n t ime タブ
サーバーにデプロイされたすべての VD B は最上部の表に表示されます。VD B を選択し、ハイライトする
と、その VD B に関する詳細が下の表に表示されます。これらの各タブは、機能のグループに分割されま
す。
24
⁠第4 章 管理ツール
Summary: このパネルには、選択された VD B、その VD B に関連するプロパティー、およびこの VD B
がインポートする他の VD B の詳細が表示されます。このタブは、VD B ステータスの概要を提供するよ
う設計されています。
Models: このパネルには、該当する VD B に定義されたすべてのモデルと、各モデルのトランスレーター
名とソース接続 JND I 名が表示されます。また、各モデルのタイプとそれがマルチソースであるかどう
かも示されます。特定のモデルが選択された場合は、定義されたそのモデルのすべてのプロパティー
と、モデルに関連付けられたすべてのエラーも表示されます。VD B がアクティブなステータスでデプロ
イされていない場合は、これらのエラーと修正を検証し、デプロイメントの問題を解決する必要があり
ます。
Models パネルの D D L ボタンをクリックすると、該当するモデルのスキーマが表示されます。これは、
Teiid D esigner を使用して設計された XML ベースのモデルには適用されません。このツールでは、ト
ランスレーター名または JND I 名をダブルクリックして変更することにより編集できます。これは、該
当する環境で JND I 名を変更する場合に役に立ちます。
Overrides : このパネルには、Teiid D esigner でオーバーライドされたすべてのトランスレーターとその
プロパティーが表示されます。
Caching: Caching パネルには、キャシュがどれぐらい効果的に使用されるかなど結果セットキャッ
シュのキャッシュ統計が表示されます。また、VD B のすべての内部マテリアライズビューと、これら
がいつロードされたかなどのロードステータスも表示されます。さらに、ソースからコンテンツを更新
またはリロードできるように特定のビューまたは VD B 内のすべてのビューを無効にするオプションが
提供されます。このパネルは、結果セットキャッシュ内容全体または選択された VD B の準備済み計画
キャッシュ内容を破棄する UI も提供します。
D ata Roles: D ata Roles パネルには、Teiid D esigner を使用して VD B で定義されたすべてのポリシー
または vdb.xml ファイルでハンドコーディングされたすべてのポリシーが表示されます。選択した各ポ
リシーに対して、ユーザーが所有する権限の種類などのそのポリシーのパーミッションがリストされ、
そのポリシーに対してマップされたエンタープライズロール割り当てが表示されます。エンタープライ
ズロールはこの UI を使用してポリシーに対して追加または削除できます。
Requests: このパネルには、VD B の選択時に選択した VD B に対する現在のすべての要求が表示されま
す。" refresh" をクリックすると、最新の日付要求が取得されます。パネルの上部テーブルには、teiid
エンジンにユーザーが送信した要求が表示されます。これらのいずれかの要求が選択されると、下部
テーブルに Teiid エンジンにより物理ソースに送信されたすべてのソースレベルクエリーが表示されま
す。この UI を使用して、ユーザーはキャンセル要求をユーザーレベルクエリーに送信することもできま
す。キャンセルは非同期操作であるため、この操作は保証されません (キャンセルが送信されるまでに
クエリーが完了しないことがあります)。
Sessions: このパネルには、選択した VD B に接続されたすべてのアクティブセッションが表示されま
す。また、接続プロパティーと選択したセッションまたはすべてのセッションを修了するオプションも
表示されます。
バグを報告する
4 .2.5. 管理コンソール - Administ rat ion タブ
Administration タブを使用してロールとグループを設定できます。ユーザーを含めたり、除外したりする
ロールは管理コンソールで設定できます。また、ロールに含めたり、ロールから除外したりするグループを
設定することもできます。この設定は、SuperUser または Administrator ロールのユーザーのみが実行でき
ます。
25
管理および設定ガイド
図4 .4 Ad min ist rat io n タブ
ユーザー管理の詳細については、『Red JBoss EAP 管理および設定ガイド』を参照してください。
バグを報告する
4 .3. 管理 CLI
4 .3.1. 管理 CLI の起動
手順4 .1 Lin u x または Micro so f t Win d o ws Server での C LI の起動
A. Lin u x での C LI の起動
コマンドラインで以下のコマンドを入力して、EAP_HOME/bi n/jbo ss-cl i . sh ファイルを実行
します。
$ EAP_HOME/bin/jboss-cli.sh
B. Micro so f t Win d o ws Server での C LI の起動
ダブルクリックするか、コマンドラインで以下のコマンドを入力して、EAP_HOME\bi n\jbo sscl i . bat ファイルを実行します。
C:\>EAP_HOME\bin\jboss-cli.bat
バグを報告する
4 .3.2. 管理 CLI の終了
管理 CLI で、q ui t コマンドを入力します。
26
⁠第4 章 管理ツール
[domain@ localhost:9999 /] q ui t
バグを報告する
4 .3.3. 管理 CLI を使用した管理対象サーバーインスタンスへの接続
前提条件
「管理 CLI の起動」
手順4 .2 管理対象サーバーインスタンスへの接続
co nnect コマンドの実行
管理 CLI で、co nnect コマンドを入力します。
[disconnected /] co nnect
Connected to domain controller at localhost:9999
A. Linux システムで管理 CLI を起動するときに管理対象サーバーへ接続するには、--connect パラ
メーターを使用します。
$ EAP_HOME/bi n/jbo ss-cl i . sh --co nnect
B. --connect パラメーターは、ホストとサーバーのポートを指定するために使用できます。ポートの
値が 9 9 9 9 であるアドレス 19 2. 16 8. 0 . 1 に接続するには、次のコマンドを使用します。
$ EAP_HOME/bi n/jbo ss-cl i . sh --co nnect -co ntro l l er= 19 2. 16 8. 0 . 1: 9 9 9 9
バグを報告する
4 .3.4 . 管理 CLI でのヘルプの取得
概要
CLI コマンドを学ぶ必要がある場合や何を行ったらいいかわからない場合に、ガイダンスが必要になること
があります。管理 CLI には、一般的なオプションと状況依存オプションから構成されるヘルプダイアログが
組み込まれてます (処理状況に依存するヘルプコマンドでは、スタンドアロンまたはドメインコントロー
ラーへの接続を確立する必要があります。接続が確立されない限り、これらのコマンドはリストに表示され
ません)。
前提条件
「管理 CLI の起動」
1. 一般的なヘルプの場合
管理 CLI で、hel p コマンドを入力します。
[standalone@ localhost:9999 /] hel p
2. 状況依存ヘルプの取得
27
管理および設定ガイド
管理 CLI で、hel p -co mmand s 拡張コマンドを入力します。
[standalone@ localhost:9999 /] hel p --co mmand s
3. 特定のコマンドの詳細な説明については、そのコマンドとその後に --help を入力してください。
[standalone@ localhost:9999 /] deploy --hel p
結果
CLI ヘルプ情報が表示されます。
バグを報告する
4 .4 . AdminShell
4 .4 .1. AdminShell 機能
AdminShell は以下の機能を提供します。
管理
AdminShell を使用すると、さまざまな管理タスクを実行するために JBoss D ata Virtualization
インスタンスに接続できます。
データアクセス
AdminShell を使用すると、仮想データベース (VD B) に接続し、SQL コマンドを実行して VD B
データを問い合わせ、結果を参照できます。
マイグレーション
AdminShell を使用すると、VD B および関連するコンポーネントをある開発環境から別の開発環
境に移行するスクリプトを開発できます (移行スクリプトは、本番稼働デプロイメントで実行する
前にテストおよび自動化できます)。
テスト
組み込みの JUnit テストフレームワークを使用すると、ユーザーはシステムの状態とデータの整
合性を確認する回帰テストを作成できます。作成されたテストは、システム機能をアトミックに
検証します。QA 担当者が手動で検証する必要はありません。
バグを報告する
4 .4 .2. AdminShell インターフェース
AdminShell は、JBoss D ata Virtualization を管理するユーザー向けにスクリプトベースのコマンド言語を
提供します。
AdminShell は、次のインターフェースにより提供されます。
対話型 Ad min Sh ell
「対話型 AdminShell」を参照してください。
非対話型 Ad min Sh ell
28
⁠第4 章 管理ツール
「非インタラクティブ AdminShell」を参照してください。
Ad min Sh ell G U I
「AdminShell GUI」を参照してください。
バグを報告する
4 .4 .3. AdminShell スクリプト
Groovy 言語を使用して、タスクを自動化する AdminShell スクリプトを記述します。AdminShell は、
JBoss D ata Virtualization の管理を支援する Groovy 機能のカスタムライブラリーを提供します。これら
のカスタム機能は、他の Groovy コードとは無関係に、または他の Groovy コードとともに使用できます。
基本的なルールは以下のとおりです。これらのルールを覚えて構文に慣れてください。
すべてのコマンドと関数では大文字と小文字を区別します。
Groovy コマンドは、セミコロンで終了する必要はありません。これはオプションです。
関数は入力としてゼロ個以上のパラメーターをとります。
関数パラメーターはかっこ内で提供されます。
文字列パラメーターは、一重引用符または二重引用符内に提供する必要があります。
connectAsAdmin("localhost", "9999", "user", "password", "conn1")
他の Java クラスおよびメソッドは、必要なライブラリーがすでにクラスパスで指定されている限り、
スクリプト内からアクセスしたり、呼び出したりできます (l i b ディレクトリーに追加された JAR ファ
イルは自動的にクラスパスに含まれます)。
import my.package.*;
myObject = new MyClass();
myObject.doSomething();
注記
d i sco nnect() コマンドを入力して、AdminShell を終了する前に JBoss D ata Virtualization か
ら切断する必要があります。
参考資料
Groovy スクリプトの詳細については、http://groovy.codehaus.org/ を参照してください。
Groovy スクリプトと SQL の詳細については、http://groovy.codehaus.org/D atabase+features を参
照してください。
Groovy スクリプトを使用したテストの詳細については、http://groovy.codehaus.org/Unit+Testing と
http://junit.org/ を参照してください。
バグを報告する
4 .4 .4 . AdminShell ヘルプ
29
管理および設定ガイド
AdminShell で利用可能なすべてのカスタム管理メソッドは、ad mi nHel p() メソッドを使用してリスト
できます (カスタム AdminShell メソッドのみが表示されることに注意)。
adminHelp()
特定のメソッドの定義と入力パラメーターが必要な場合は、ad mi nHel p("METHOD") を使用します。
adminHelp("deploy")
/*
*Deploy a VDB from file
*/
void deploy(
String /* file name */)
throws AdminException
throws FileNotFoundException
すべての SQL 拡張メソッドをリストする場合は、sq l Hel p() メソッドを使用します。
sqlHelp()
特定のメソッドの定義と入力パラメーターを取得する場合は、sq l Hel p("METHOD") を使用します。
バグを報告する
4 .4 .5. AdminShell 基本コマンド
表4 .1 Ad min Sh ell 基本コマンド
コマンド
説明
ad mi nHel p();
利用可能なすべてのカスタム AdminShell メソッドを表示し
ます。
提供された AdminShell メソッドの定義および入力パラメー
ターを表示します。
利用可能なすべてのカスタム SQL AdminShell メソッドを表
示します。
提供された SQL AdminShell メソッドの定義および入力パラ
メーターを表示します。
値をコンソールに出力します。
co nnecti o n. pro perti es ファイルで指定されたデフォル
トの接続を使用して、拡張された Groovy SQL 接続を取得し
ます。
SQL コマンドを実行します。
co nnecti o n. pro perti es ファイルで指定されたデフォル
トの接続を使用して管理ユーザーで接続詞ます。このコマンド
は VD B 名を必要としません。これは管理接続であり JD BC
接続ではないため、この接続を使用して SQL コマンドを発行
できません。SSL が使用される場合は、接続 URL とクライア
ント SSL 設定を必要に応じて調整する必要があります (通常
は、2 方向 SSL の場合のみ)。
アクティブな接続の名前を返します。
該当する接続を使用します。
アクティブな接続を切断します。
ad mi nHel p("METHOD");
sq l Hel p();
sq l Hel p("METHOD");
pri ntl n "STRING";
sq l = co nnect();
sq l . execute("SQL");
co nnectAsAd mi n();
pri ntl n g etC o nnecti o nName();
useC o nnecti o n("cNAME");
d i sco nnect();
30
⁠第4 章 管理ツール
コマンド
説明
d i sco nnectAl l ();
すべての接続 (アクティブな接続および中断された接続) を切
断します。
バグを報告する
4 .4 .6. 非インタラクティブ AdminShell でのスクリプトの実行
手順4 .3 非インタラクティブ Ad min Sh ell でのスクリプトの実行
1. コマンドラインターミナルを開く
2. スクリプトを実行する
/ad mi nshel l . sh l o ad [-D param=value] PATH/FILENAME コマンドを実行します。
注記
-D を使用して渡すオプションプロパティーには、System. g etP ro perty() を使用してスクリプ
トファイル内からアクセスできます。
value = System.getProperty("param")
重要
スクリプト内で確立されたすべての接続は、スクリプトが修了する前に切断する必要があります。
バグを報告する
4 .4 .7. インタラクティブ AdminShell の起動
手順4 .4 インタラクティブ Ad min Sh ell の起動
1. ad mi nshel l ディレクトリーに移動する
a. コマンドラインターミナルを開きます。
b. /EAP_HOME/d ataVi rtual i zati o n/tei i d -ad mi nshel l -VERSION に移動しま
す。
2. ad mi nshel l スクリプトを起動する
. /ad mi nshel l . sh コマンドを実行します。
ログの出力は以下のようになります。
==================================================================
====
31
管理および設定ガイド
Teiid AdminShell Bootstrap Environment
TEIID_HOME = /EAP_HOME/dataVirtualization/teiidadminshell-VERSION
CLASSPATH
= /EAP_HOME/dataVirtualization/teiidadminshell-VERSION/lib/patches/*:/EAP_HOME/dataVirtualization/teiid
-adminshell-VERSION/lib/teiidadminshell-VERSION.jar:/EAP_HOME/dataVirtualization/teiidadminshell-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 が実行されています。この時点で、個々のコマンドを行ごとに実行できま
す。
注記
exi t コマンドを入力することにより、いつでもインタラクティブ AdminShell を終了できます。
バグを報告する
4 .4 .8. インタラクティブ AdminShell に役に立つヒント
表4 .2 インタラクティブ Ad min Sh ell コマンド
コマンド
説明
↑ ('up arrow')
hel p
実行した過去のコマンドを最新のものから表示します。
インタラクティブシェア内で使用するために特別に提供され
た追加コマンドを表示します。
シェルの動作
インタラクティブシェルは特別なインタープリターを使用し、Groovy スクリプトを実行して期待される動
作とは異なる動作を表示します。
def ステートメントは、シェルのコンテキストで変数を定義しません。たとえば、
d ef x = 1, use x
= 1 は使用しないでください。
シェルは、アノテーションを使用する Groovy クラスを解析できません。
32
⁠第4 章 管理ツール
バグを報告する
4 .4 .9. インタラクティブ AdminShell でのスクリプトの保存
手順4 .5 インタラクティブ Ad min Sh ell でのスクリプトの保存
1. インタラクティブ Ad min Sh ell を開く
a. コマンドラインターミナルを開きます。
b. /EAP_HOME/d ataVi rtual i zati o n/tei i d -ad mi nshel l -VERSION/ に移動しま
す。
c. . /ad mi nshel l . sh コマンドを実行します。
2. ファイルへの記録を開始する
reco rd start PATH/FILENAME コマンドを入力します。
3. 記録する必要なコマンドを入力する
入力/出力を記録する一連のコマンドを入力します。
4. ファイルへの記録を停止する
reco rd sto p コマンドを入力します。
結果
reco rd start コマンドを発行し、reco rd sto p コマンドを発行するまでのすべての入力と出力が
PATH/FILENAME にキャプチャされます。
注記
入力と出力の両方が記録されるため、ファイルはスクリプトファイルとして実行する前に編集する
必要があります。
バグを報告する
4 .4 .10. インタラクティブ AdminShell でのスクリプトの実行
手順4 .6 インタラクティブ Ad min Sh ell でのスクリプトの実行
1. インタラクティブ Ad min Sh ell を開く
a. コマンドラインターミナルを開きます。
b. /EAP_HOME/d ataVi rtual i zati o n/tei i d -ad mi nshel l -VERSION/ に移動しま
す。
c. . /ad mi nshel l . sh コマンドを実行します。
2. スクリプトを実行する
33
管理および設定ガイド
A. インタラクティブシェル l o ad コマンドを使用してスクリプトを実行する
l o ad PATH/FILENAME コマンドを実行します。
B. G ro o vy eval uate コマンドを使用してスクリプトを実行する
eval uate("PATH/FILENAME" as Fi l e) コマンドを実行します。
注記
また、スクリプトは、インタラクティブシェルを開いた後に行ごとに実行できます。
バグを報告する
4 .4 .11. AdminShell GUI の起動
手順4 .7 Ad min Sh ell G U I の起動
1. ad mi nshel l ディレクトリーに移動する
a. コマンドラインターミナルを開きます。
b. /EAP_HOME/d ataVi rtual i zati o n/tei i d -ad mi nshel l -VERSION/ に移動しま
す。
2. ad mi nshel l -co nso l e スクリプトを起動する
. /ad mi nshel l -co nso l e. sh コマンドを実行します。
結果
AdminShell GUI が表示されます。
注記
AdminShell GUI は、File → Exit をクリックしていつでも終了できます。
バグを報告する
4 .4 .12. AdminShell GUI でのスクリプトの保存
手順4 .8 Ad min Sh ell G U I でのスクリプトの保存
1. ad mi nshel l ディレクトリーに移動する
a. コマンドラインターミナルを開きます。
b. /EAP_HOME/d ataVi rtual i zati o n/tei i d -ad mi nshel l -VERSION/ に移動しま
す。
2. スクリプトを入力する
34
⁠第4 章 管理ツール
AdminShell GUI の上部の スクリプトウィンドウにスクリプトを入力します。スクリプトは、作業
中に Scrip t → R u n で実行してテストできます。
3. スクリプトを保存する
a. File → Save As を選択します。
b. スクリプトの場所とファイル名を選択し、Save をクリックします。
バグを報告する
4 .4 .13. AdminShell GUI でのスクリプトの実行
手順4 .9 Ad min Sh ell G U I でのスクリプトの実行
1. Ad min Sh ell G U I を開く
a. コマンドラインターミナルを開きます。
b. /EAP_HOME/d ataVi rtual i zati o n/tei i d -ad mi nshel l -VERSION/ に移動しま
す。
c. . /ad mi nshel l -co nso l e. sh コマンドを実行します。
2. スクリプトを準備する
A. 新しいスクリプトを入力する
AdminShell GUI の上部の スクリプトウィンドウにスクリプトを入力します。
B. 保存されたスクリプトをロードする
a. File → O p en を選択します。
b. 必要なスクリプトファイルを見つけ、O pen をクリックします。
スクリプトが、AdminShell GUI の上部のスクリプトウィンドウに表示されます。
3. スクリプトを実行する
Scrip t → R u n を選択します。
バグを報告する
4 .4 .14 . AdminShell 接続プロパティー
EAP_HOME/d ataVi rtual i zati o n/tei i d -ad mi nshel l -VERSION/co nnecti o n. pro perti es
ファイルは、Boss D ata Virtualization インスタンスに接続するために AdminShell が使用するデフォルト
の接続プロパティーを提供します。
jdbc.user=user
jdbc.password=user
jdbc.url=jdbc:teiid:admin@ mm://localhost:31000;
35
管理および設定ガイド
admin.host=localhost
admin.port=9999
admin.user=admin
admin.password=admin
入力パラメーターなしで co nnect() または co nnecti o nAsAd mi n() を呼び出すと、このプロパ
ティーファイルで定義された設定を使用して JBoss D ata Virtualization に接続します。co nnect()
は、jd bc の接頭辞を持つプロパティーを使用し、co nnectAsAd mi n() は ad mi n の接頭辞を持つプロ
パティーを使用します。また、好きなプロパティーを使用して接続するために co nnect() メソッドまた
は co nnectAsAd mi n() メソッドにパラメーターを含めることもできます。
connect("URL", "USER", "PASSWORD")
警告
パスワードはクリアテキストで保存しないでください。上記の例はデモを目的としています。
ファイルにパスワードを保存する場合は、パスワードを安全にするのに必要な対策をとってくださ
い。必要な対策がとれない場合は、この機能を使用せずに、パスワードを対話的 (または他の安全な
方法) に入力してください。
バグを報告する
4 .4 .15. AdminShell での複数の接続
AdminShell を使用して、ユーザーは 1 つまたは複数の JBoss D ata Virtualization インスタンスに対する
複数の接続を管理できます。たとえば、ユーザーは開発サーバーに対する接続と統合サーバーに対する別の
接続を同時に行えます。
新しい接続が行われるたびに、接続に一意な名前が割り当てられ、アクティブな接続になります。すでに接
続がある場合は、一時停止されます (閉じられません)。
g etC o nnecti o nName() メソッドは、アクティブな接続の名前を返します。この接続名は、次のコマン
ドを使用して変数 cName に割り当てることができます。
cName = getConnectionName();
現在の接続の名前は、接続を変更するために必要です。アクティブな接続を変更するには、使用する接続の
名前 (または名前が割り当てられた変数) を指定して useC o nnecti o n() コマンドを使用します。
useConnection(cName);
例
以下の例は、2 つの接続を使用して切り替える方法を示しています。
// 接続を作成する
connectAsAdmin();
//接続名を conn1 に割り当てる
conn1 = getConnectionName();
36
⁠第4 章 管理ツール
deploy("file.vdb")
// 2 番目の接続 (この時点ではアクティブな接続) を作成する
connectAsAdmin();
//新しい接続名を conn2 に割り当てる
conn2 = getConnectionName();
deploy("file.vdb")
// アクティブな接続を conn1 に切り替える
useConnection(conn1);
// アクティブな接続 (conn1) を閉じる
disconnect();
バグを報告する
4 .4 .16. サンプルスクリプト
例4 .1 VD B のデプロイ
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";
}
例4 .2 データソースの作成 ( O racle)
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);
例4 .3 T eiid に対する SQ L クエリの実行
37
管理および設定ガイド
sql = connect("jdbc:teiid:<vdb>@ mm://<host>:31000", "user", "user");
// 選択する
sql.eachRow("select * from sys.tables") { println "${it}" }
// 更新、挿入、削除する
sql.execute(<sql command>);
バグを報告する
4 .4 .17. AdminShell FAQ
問:
なぜ ad mi nhel p コマンドは G U I ツールで動作しないのですか?
答: AdminShell GUI 環境では、Groovy によって直接サポートされない l o ad 、hel p、ad mi nhel p な
どのシェルコマンドが認識されません。GUI では、同等の機能形式を使用する必要があります (たと
えば、ad mi nhel p の代わりに ad mi nHel p() を使用します)。
問:
事前に作成されたスクリプトを利用できますか?
答: 現時点では提供されていません。
問:
co nnectAsAd mi n() と co nnect() の違いは何ですか?
答: co nnectAsAd mi n() メソッドは、JBoss D ata Virtualization の AdminAPI に対するコンテキスト
接続を作成します。co nnect() メソッドは、JBoss D ata Virtualization に対する SQL 呼び出しに
使用する Groovy SQL オブジェクトの拡張を返します。
問:
g etAd mi n() は何を行うのですか? なぜこれが必要なのですか?
答: g etAd mi n() メソッドは、co nnectAsAd mi n() で接続したときに作成された現在のコンテキスト
接続オブジェクトを返します。こおオブジェクトは、インターフェース org.teiid.adminapi.Admin
を実装します。提供された AdminShell コマンドは、この API のラッパーです。上級ユーザーは、提
供されたラッパーコマンドがニーズを満たさない場合にこの API を直接使用できます。
問:
スクリプトを記述するために ID E サポートを利用できますか?
答: AdminShell GUI ツールは軽量な ID E です。Groovy には完全な ID E サポートが利用可能ですが、ク
ラスパスとスクリプトインポートを手動で処理する必要があります。
問:
他の環境で Ad min Sh ell メソッドを使用できますか?
38
⁠第4 章 管理ツール
答: AdminShell メソッド (名前付きコンテキスト接続、AdminAPI ラッパー、およびヘルプシステムを含
む) は、Groovy に対する直接的な依存関係を持たないため、他のスクリプト言語で使用できます。
別の言語で AdminShell メソッドを使用するには、静的なメソッドと Admin クラスをスクリプトにイ
ンポートします。また、EAP_HOME/d ataVi rtual i zati o n/tei i d ad mi nshel l -VERSION/l i b/tei i d -VERSION. jar と
EAP_HOME/d ataVi rtual i zati o n/tei i d -ad mi nshel l -VERSION/l i b/tei i d ad mi nshel l -VERSION. jar がクラスパスで指定されていることを確認する必要があります。
以下のコード例は、Java、BeanShell、Groovy などで動作するインポートステートメントを示して
います。
import static org.teiid.adminshell.AdminShell.*;
import org.teiid.adminapi.*;
問:
デバッグサポートは利用できますか?
答: インタラクティブ AdminShell と GUI には現在の状態を検査するサポートが組み込まれています。た
だし、ラインベースデバッグは本書の範囲外です。
バグを報告する
4 .5. JBoss Operat ions Net work
4 .5.1. JBoss Dat a Virt ualiz at ion での管理
JBoss D ata Virtualization には、以下の 2 つの異なるコンポーネントによりサポートされる 2 つの主な
ユースケースがあります。
S- R AMP
S-RAMP は、オプションで Red Hat ミドルウェア製品で生成されるアーティファクトの保存と
管理に使用されます。JBoss D ata Virtualization の場合、これらは通常 VD B (これらが作成され
るモデルと D D L ファイル、XSD 、WSD L などの関連ファイル) になります。設計時の設定プロ
セスは、設定プロセスの一部としてこれらのアーティファクトを承認またはデプロイメントワー
クフローに組み込むために使用できます。
階層データベース
多くの場合、階層データベースはアーティファクトの設定にそれほど使用されませんが、JBoss
D ata Virtualization に関連する追加データおよびメタデータを格納するために頻繁に使用されま
す。たとえば、ユーザーが画像、電子メール、他の準構造コンテツなどの情報を JBoss D ata
Virtualization ソリューションに組み込む必要がある場合、ユーザーはこれらを階層データベー
スに格納し、JBoss D ata Virtualization からアクセスできます。また、ユーザーはデータに関す
る追加の定義情報を階層データベースに格納し、他のデータと組み合わせることもできます。
例4 .4
顧客のデータベースに顧客の連絡先情報があるとします。そのデータベースには顧客データが
ありますが、必ずしも以下のような顧客データに関する情報があるとは限りません。
39
管理および設定ガイド
データの所有者
データに権限があるかどうか
これが顧客データの唯一のソースであるかどうか
組織がそのデータを「タグ付け」できる他のすべての属性
この追加情報が階層データベースに格納されている場合は、REST API または JBoss D ata
Virtualization のいずれかからこの情報にアクセスし、組織がデータを拡張または強化できま
す。
注記
階層データベースは、より高度なシナリオとソリューションの価値を高めることができま
す。
バグを報告する
4 .5.2. JBoss エージェントプラグインパックのインストール
JBoss Operations Network には、他の JBoss 製品を管理する追加のエージェントプラグインがありま
す。これらは JBoss ON リソースプラグインですが、別のパッケージに含まれ、ダウンロードする別のサ
ブスクリプションを必要とします。
1. カスタマーサポートポータルからプラグイン JAR ファイルをダウンロードします。
a. https://access.redhat.com/jbossnetwork/ にナビゲートします。
b. PRODUCT に対して JBoss ON を選択します。
c. D o wnl o ad を選択します。
2. プラグイン JAR ファイルを JON_HOME/pl ug i ns ディレクトリーに抽出します。
3. JBoss ON サーバーでプラグインを更新します。これは、JBoss ON GUI を使用するか、サーバー
を再起動することにより実行できます。
4. GUI からプラグインをロードするには、以下の手順に従ってください。
a. Ad mi ni strati o n タブを開きます。
b. 左側の C o nfi g urati o n 領域で、Ag ent P l ug -i ns リンクを選択します。
c. ロードされたエージェントプラグインのリストの下部で、SC AN FO R UP D AT ES ボタン
をクリックします。
5. エージェントでプラグインをリロードして新しいプラグインをロードします。これは、エージェン
トのコマンドプロンプトで以下のプラグインコマンドを使用して実行できます。
> plugins update
40
⁠第4 章 管理ツール
注記
これは、エージェントまたはエージェントのグループに対してプラグインの更新操作をスケ
ジュールすることによっても実行できます。別の方法として、エージェントを再起動しま
す。
バグを報告する
4 .6. Dashboard Builder
4 .6.1. データソース
Red Hat JBoss D ashboard Builder は、コンテナーの JND I または JD BC ドライバーを直接使用して外部
データベースに接続できます。データベースへの接続は、ページ Ext ern al C o n n ect io n s のワークス
ペース Sh o wcase で設定できます。データベースへの接続を確立したら、データベースからデータを収集
し、ページのダッシュボード領域でデータをインジケーターとして視覚化することを可能にするデータプロ
バイダーを作成する必要があります。
CSV ファイルに接続してデータを取得する場合は、データプロバイダーから直接接続が確立されます。
Red Hat JBoss D ashboard Builder は、ローカルデータを格納するために独自のローカル内部データベー
スを使用します。このデータベースは、D ashboard Builder に対して読み取り専用ですが、外部からアク
セスできます。
バグを報告する
4 .6.2. データソースへの接続
JND I データソース (アプリケーションコンテナーからセットアップされ、アクセス可能なデータソース) ま
たはカスタムデータソースとしてのデータソースに直接接続できます (アプリケーションコンテナーに正し
い JD BC ドライバーがデプロイされている場合)。
外部データソースに接続するには、以下の手順に従ってください。
1. データソースが稼働しており、アプリケーションサーバーがデータソースにアクセスできることを
確認してください (ドライバーやログインクレデンシャルなどを確認します。Red Hat JBoss EAP
6 でこれを行うには、管理コンソールで Su b syst ems → C o n n ect o r → D at aso u rces を選択
します)。
2. D ashboard Builder のツリーメニュー (デフォルトでは、Showcaseパースペクティブにありま
す) で、Ad min ist rat io n → Ext ern al co n n ect io n s に移動します。
3. 表示された外部接続パネルで、New D ataSo urce
リックします。
ボタンをク
4. データソースタイプ (JND I またはカスタムデータソース) を選択し、以下の各データソースパラ
メーターを提供します。
バグを報告する
4 .6.3. データプロバイダーの作成
新しいデータプロバイダーを作成するには、以下の手順に従ってください。
41
管理および設定ガイド
1. ツリーメニュー (Showcase ワークスペースのラテラルメニューのパネル) で、Ad min ist rat io n
→ D at a p ro vid ers をクリックします。
2. D ata P ro vi d ers パネルで、C reate new d ata pro vi d er
ボタンをクリックします。
3. 更新された D ata P ro vi d ers パネルの T ype ドロップダウンメニューで、データプロバイダー
が処理するソースに応じてデータプロバイダーのタイプを選択します。
4. データプロバイダーパラメーターを定義します。
C SV ファイルを介したデータプロバイダー
名前: ユーザーフレンドリーな名前とロケール
CSV ファイル URL: ファイル url (たとえ
ば、fi l e: ///ho me/me/exampl e. csv)
データセパレーター: CVS ファイルでセパレーターとして使用される記号 (デフォル
ト値はセミコロンです。カンマをセパレーター記号として使用する場合は、必要に応
じて数字形式を変更してください)。
引用符: 引用符に使用される記号 (デフォルト値は二重引用符です。記号はロケールに
応じて異なることがあります)。
エスケープ記号: 後続の記号をエスケープしてそのリテラル値を保持するために使用さ
れる記号
日付形式: 日付と時刻の形式
数値形式: 数千および小数に解決される数値の形式
データベースを介したデータプロバイダー ( SQ L クエリー)
名前: ユーザーフレンドリーな名前とロケール
データソース: クエリーを実行するデータソース (デフォルト値は l o cal です。
D ashboard Builder データソースに対してクエリーを実行できます)
クエリー: 必要なデータを返すクエリー
5. パラメーターが正しいことを確認する場合は、Attempt d ata l o ad
をクリックします。
6. Saveをクリックします。
7. 検出されたデータがあるテーブルで、データ型を定義し、必要に応じて、データにユーザーフレン
ドリーな名前を指定します。Save をクリックします。
データプロバイダーは、この時点で任意のページのインジケーターで視覚化できます。
バグを報告する
4 .6.4 . Dashboard Builder ワークスペース
4 .6 .4 .1 . ワークスペースの作成
新しいワークスペースを作成するには、以下の手順に従ってください。
42
⁠第4 章 管理ツール
1. 上部メニューの C reate wo rkspace ボタンをクリックします。
Wo rkspace ノードが展開され、右側にワークスペース詳細が示されたワークスペース管理領域が
ある管理コンソールが表示されます。
2. 右側の C reate wo rkspace テーブルで、ワークスペースパラメーターを設定します。
名前: ワークスペース名とロケール
タイトル: ワークスペースとロケール
スキン: ワークスペースリソースに提供するスキン
エンベロープ: ワークスペースリソースに適用するエンベロープ
3. C reate wo rkspace をクリックします。
4. オプションで、左側のツリーメニューでワークスペース名をクリックし、右側にワークスペースプ
ロパティーがある領域で、追加のワークスペースパラメーターを定義できます。
URL: ワークスペース URL
ユーザーホーム検索: ホームページ設定
R o l e assi g ned pag e に設定された場合は、ページパーミッションのホームページが適用
されます。つまり、各ロールでホームページとして異なるページが表示されることがありま
す。C urrent pag e に設定された場合は、すべてのユーザーがホームページとして現在のホー
ムページを使用します。
バグを報告する
4 .6 .4 .2 . ページの作成
新しいページを作成するには、以下の手順に従ってください。
1. 正しいワークスペースを表示します。
2. 上部メニューの P ag e ドロップダウンボックス
る C reate new pag e
の横にあ
ボタンをクリックします。
3. P ag es ノードが展開され、右側にページ詳細が示されたページ管理領域がある管理コンソールが表
示されます。
4. 右側の C reate new pag e テーブルで、ページパラメーターを設定します。
名前: ページ名とロケール
親ページ: 新しいページの親ページ
スキン: ページに適用するスキン
エンベロープ: ページに適用するエンベロープ
ページレイアウト: ページのレイアウト
5. C reate new pag e をクリックします。
6. オプションで、左側のツリーメニューでページ名をクリックし、右側にワークスペースプロパ
ティーがある領域で、追加のページパラメーターを定義できます。
43
管理および設定ガイド
URL: ページ URL
表示可能なページ: ページの表示可能性
リージョンとパネル間のスペース
バグを報告する
4 .6 .4 .3. ページパーミッションの定義
ユーザーは通常基礎となるアプリケーションコンテナー (Red Hat JBoss EAP の場合はデフォルトで
o ther セキュリティードメインになります) に対してセットアップされた承認方法を使用して承認されま
すが、Red Hat JBoss D ashboard Builder には、個別ページまたは複数ページでパーミッション管理を実
現する独自のロールベースアクセス制御 (RBAC) 管理ツールが含まれます。
ロールのページまたはすべてのワークスペースページでパーミッションを定義するには、以下の手順に従っ
てください。
1. 上部メニューで、G eneral co nfi g urati o n
が表示されます。
ボタンをクリックします。 管理コンソール
2. 左側の Wo rkspace ノードで、ページまたは P ag es ノードを見つけます。
3. ページ/ページノードで、P ag e permi ssi o ns ノードをクリックします。
4. 右側の P ag e permi ssi o ns 領域で、以前に定義されたパーミッション定義 (該当する場合) を削
除し、必要なロールの権利を定義します。
a. P ermi ssi o n assi g nati o n テーブルで、Sel ect ro l e ドロップダウンメニューを
探し、それぞれのロールを選択します。
b. テーブルの Acti o ns 列で、各パーミッションを無効または有効にします。
5. Save をクリックします。
バグを報告する
4 .6 .4 .4 . パネル
パネルは GUI ウィジェットであり、ページに配置できます。主に以下の 3 つの種類のパネルがあります。
ダッシュボードパネル
主な BAM パネルであり、以下のものを含みます。
データプロバイダーマネージャー: 利用可能なデータプロバイダーとデータプロバイダー管理
オプションのリストがあるパネル
フィルターおよびドリルダウン: データプロバイダーで定義されたページのインジケーターで
フィルタリングを実現するためにすべての KPI とその値が表示されたパネル
HTML エディターパネル: 静的なコンテンツがあるパネル
キーパフォーマンスインジケーター (インジケーター): データプロバイダーのデータを視覚化
するパネル
ナビゲーションパネル
ナビゲーション機能を提供し、以下のものを含むパネル
44
⁠第4 章 管理ツール
Breadcrumb: 現在のページを参照する完全なページ階層があるパネル
言語メニュー: 利用可能なロケールがあるパネル (デフォルトでは中央上部)
ログアウトパネル: 現在ログインしているユーザーの名前とログアウトボタンがあるパネル
ページメニューカスタム: ワークスペース内のすべてのページに対するリンクが縦に配置さ
れ、ページの HTML ソースの一般的なコントロールがあるパネル
縦のページメニュー: ワークスペース内のすべてのページに対するリンクが縦に配置されたパ
ネル (ページのリストは調整できます)
横のページメニュー: ワークスペース内のすべてのページに対するリンクが横に配置されたパ
ネル (ページのリストは調整できます)
ツリーメニュー: 管理やホーム (ラテラルメニューで、左側に表示される Showcase ワークス
ペースのホームページ) などの重要な機能に対するリンクがあるパネル
カスタムワークスペースメニュー: 利用可能なワークスペースに対するリンク (ワークスペー
スのリストは調整できます) とワークスペースの HTML ソースに対する一般的なコントロール
があるパネル
横のワークスペースメニュー: 利用可能なワークスペースに対するリンク (ワークスペースの
リストは調整できます) がある横方向のパネル
縦のワークスペースメニュー: 利用可能なワークスペースに対するリンク (ワークスペースの
リストは調整できます) がある縦方向のパネル
システムパネル
システム設定と管理機能に対するアクセスを提供し、以下のものを含むパネル。
データソースマネージャー: 外部データソース管理用のパネル
エクスポートダッシュボード: ダッシュボードのパネルエクスポート
ワークスペースのエクスポート/インポート: ワークスペースをエクスポートおよびインポート
するパネル
バグを報告する
4 .6 .4 .5 . パネルの追加
既存のパネルを追加するか、新しいパネルを作成するには、以下の手順に従ってください。
1. 各ページが開いてることを確認します (上部メニューの P ag e ドロップダウンメニューで、ページ
を選択します)。
2. 上部メニューで、C reate a new panel i n current pag e
ボタンをクリックします。
3. 表示されたダイアログボックスで、追加するパネルタイプを展開し
(D ashbo ard 、Navi g ati o n、または System)、追加するパネルをクリックします。
4. 左側の C o mpo nents メニューから、既存のパネルインスタンスの名前またはC reate panel ア
イテムをページの必要な場所にドラッグアンドドロップします。
新しいインジケーターを挿入する場合に、グラフ設定があるパネルビューが表示されます。グラフ
の詳細を定義し、ダイアログを閉じます。
45
管理および設定ガイド
既存のインジケーターのインスタンスを追加する場合は、そのインジケーターが特定の元のページ
の KPI にリンクされているときにインジケーターを使用できないことがあります。このような場合
は、新しいパネルを作成してください。
5. 必要に応じて、新しく追加されたパネルの内容を編集します。
バグを報告する
46
⁠パート III. ユーザー管理
⁠パート III. ユーザー管理
47
管理および設定ガイド
第5章 ユーザーアカウント
5.1. ユーザーアカウント
JBoss D ata Virtualization では、以下のアカウントタイプを使用できます。
JB o ss EAP 管理ユーザー
管理コンソール、管理 CLI、JBoss D eveloper Studio、および管理 API で JBoss D ata
Virtualization インストールを管理するには、JBoss EAP 管理ユーザーが必要です。
JB o ss D at a Virt u aliz at io n ユーザー
JBoss D ata Virtualization ユーザーは、仮想データベース (VD B) にアクセスできます。これら
のデータソースで実行できる操作を制御するユーザーのパーミッションを定義できます。
階層データベースユーザー
階層データベースユーザーは、提供された階層データベースにアクセスできます。このデータ
ベースで実行できる操作を制御する各ユーザーのパーミッションを定義できます。
注記
ユーザー/ロールの名前と詳細は、オペレーティングシステムアカウントなどの他のアカウントとは
独立しています。これらは JBoss EAP and JBoss D ata Virtualization にのみ関連します。
バグを報告する
5.2. データロール
仮想データベースにユーザーアクセスを付与するには、仮想データベースにデータロール (セキュリティー
パーミッション) を付与する必要があります。データロールを VD B の MET A-INF/vd b. xml ファイルで
設定してください。
データロール定義の一部として、データロールを <mapped -ro l e-name> タグで指定された JAAS ロール
にマップできます (これらのマッピングは ad d D ataR o l eMappi ng () メソッドを使用して確立します)。
これらの JAAS ロールがユーザーにどのように関連付けられるかは、使用する特定の JAAS ログインモ
ジュールによって異なります。たとえば、デフォルトの UsersR o l esLo g i nMo d ul e では、プレーンテ
キストファイルでユーザーが JAAS ロールに関連付けられます。
データロールの詳細については、『Red Hat JBoss D ata Virtualization D evelopment Guide: Reference
Material』 を参照してください。
重要
" admin" または " user" は JAAS ロール名として使用しないでください。これらは、D ashboard
Builder パーミッション用に特別に予約されています。
バグを報告する
5.3. JBoss EAP 管理ユーザーの追加
48
⁠第5章 ユーザーアカウント
5.3. JBoss EAP 管理ユーザーの追加
5.3.1. 管理インターフェースのユーザーの追加
概要
最初に利用できるユーザーアカウントがないため、Boss EAP 6 の管理インスタンスは、デフォルトでセ
キュアになります (グラフィカルインストーラーを使用してプラットフォームがインストールされてない場
合)。これは、単純な設定エラーが原因でセキュリティーが侵されることを防ぐための対策です。
JBoss EAP 6 との HTTP 通信は、トラフィックの送信元がローカルホストであってもリモートアクセスと
見なされます。したがって、管理コンソールを使用するには、少なくとも 1 人のユーザーを作成する必要が
あります。ユーザーを追加する前に管理コンソールにアクセスしようとすると、ユーザーが作成されるまで
デプロイされないため、エラーが発生します。
以下の手順に従って、最初の管理ユーザーを作成します。このユーザーは、Web ベースの管理コンソール
および管理 CLI のリモートインスタンスを使用して、リモートシステムから JBoss EAP 6 を設定および管
理できます。
手順5.1 リモート管理インターフェース用の最初の管理ユーザーを作成
1. ad d -user. sh または ad d -user. bat スクリプトを実行します。
EAP_HOME/bi n/ ディレクトリーへ移動します。ご使用のオペレーティングシステムに対応する
スクリプトを呼び出します。
R ed H at En t erp rise Lin u x
[user@ ho st bi n]$ ./add-user.sh
Micro so f t Win d o ws Server
C : \bi n>
add-user.bat
2. 管理ユーザーの追加を選択します。
ENT ER を押して、デフォルトのオプション a を選択して管理ユーザーを追加します。
このユーザーは Manag ementR eal m に追加され、Web ベース管理コンソールまたはコマンドライ
ンベース管理 CLI を使用して監理操作を実行することを許可されます。他のオプション b を選択す
ると、ユーザーが Appl i cati o nR eal m に追加され、特定のパーミッションは提供されません。
このレルムはアプリケーションで使用するために提供されます。
3. ユーザー名とパスワードを入力します。
ユーザー名とパスワードの入力を要求されたら入力します。入力後、パスワードを確認するよう指
示されます。
4. グループ情報を入力します。
ユーザーが属するグループを追加します。ユーザーが複数のグループに属する場合は、カンマ区切
りリストを入力します。ユーザーがどのグループにも属さない場合は空白のままにします。
5. 情報を確認します。
情報を確認するよう指示されます。情報が正しければ yes を入力します。
49
管理および設定ガイド
6. ユーザーがリモート JB o ss EAP 6 サーバーインスタンスを表すかどうかを選択します。
管理者以外にも、場合によっては JBoss EAP 6 の別のインスタンスを表すユーザーを
Manag ementR eal m で JBoss EAP 6 に追加する必要があることがあります。このユーザーは、
メンバーとしてクラスターに参加することを認証できる必要があります。次のプロンプトでは、こ
の目的のために追加されたユーザーを指定できます。yes を選択した場合は、ユーザーのパスワー
ドを表すハッシュされた secret 値が提供されます。これは他の設定ファイルに追加する必要があ
ります。このタスクでは、no を選択してください。
7. 追加ユーザーを入力します。
必要な場合は、この手順を繰り返すと追加のユーザーを入力できます。また、稼働中のシステムに
いつでもユーザーを追加することが可能です。デフォルトのセキュリティーレルムを選択する代わ
りに他のレルムにユーザーを追加すると、承認を細かく調整できます。
8. 非対話的にユーザーを作成します。
コマンドラインで各パラメーターを渡すと非対話的にユーザーを作成できます。ログや履歴ファイ
ルにパスワードが表示されるため、この方法は共有システムでは推奨されません。管理レルムを使
用した、コマンドの構文は次のとおりです。
[user@ ho st bi n]$ ./add-user.sh username password
アプリケーションレルムを使用するには、-a パラメーターを使用します。
[user@ ho st bi n]$ ./add-user.sh -a username password
9. --si l ent パラメーターを渡すと add-user スクリプトの通常出力を無効にできます。これ
は、username および passwo rd の最低限のパラメーターが指定されている場合のみ適用されま
す。エラーメッセージは表示されます。
結果
追加したすべてのユーザーは、指定したセキュリティーレルム内でアクティベートされま
す。Manag ementR eal m レルム内でアクティブなユーザーは、リモートシステムから JBoss EAP 6 を管
理できます。
バグを報告する
5.3.2. デフォルトのユーザーセキュリティー設定
はじめに
JBoss EAP 6 のすべての管理インターフェースはデフォルトで保護されます。このセキュリティーには、
2 つの形式があります。
ローカルインターフェースは、ローカルクライアントとローカルクライアントが接続するサーバーとの
間の SASL コントラクトによって保護されます。このセキュリティーメカニズムは、ローカルファイル
システムにアクセスするクライアントの機能に基づきます。ローカルシステムへアクセスできるとクラ
イアントによるユーザーの追加が可能で、他のセキュリティーメカニズムを無効にするよう設定を変更
できるからです。これにより、ファイルシステムへ物理的にアクセスできると、他のセキュリティーメ
カニズムが不要になるという原則が厳守されます。このメカニズムは 4 つの手順で実現されます。
50
⁠第5章 ユーザーアカウント
注記
HTTP を使用してローカルホストへ接続する場合でも、HTTP のアクセスはリモートと見なされ
ます。
ローカル SASL メカニズムを用いて認証する要求が含まれるメッセージをクライアントがサー
バーに送信します。
サーバーはワンタイムトークンを生成し、固有のファイルに書き込み、ファイルのフルパスが
含まれるメッセージをクライアントへ送信します。
クライアントはファイルよりトークンを読み取り、サーバーへ送信し、ファイルシステムへ
ローカルアクセスできるかを検証します。
サーバーはトークンを検証し、ファイルを削除します。
ローカル HTTP クライアントを含むリモートクライアントはレルムベースのセキュリティーを使用しま
す。管理インターフェースを使用して JBoss EAP 6 インスタンスをリモートで設定するパーミッショ
ンを持つデフォルトのレルムは Manag ementR eal m です。このレルム (またはユーザーが作成したレ
ルム) にユーザーを追加できるスクリプトが提供されます。ユーザーの追加の詳細については、『JBoss
EAP 6 管理および設定ガイド』の章「ユーザー管理」を参照してください。ユーザーごとに、ユーザー
名とハッシュ化されたパスワードがファイルに保存されます。
管理対象ドメイン
EAP_HOME/d o mai n/co nfi g urati o n/mg mt-users. pro perti es
スタンドアロンサーバー
EAP_HOME/stand al o ne/co nfi g urati o n/mg mt-users. pro perti es
mg mt-users. pro perti es の内容はマスクされていますが、機密ファイルとして扱う必要がありま
す。ファイルモードを、ファイル所有者による読み書きのみが許可される 6 0 0 に設定することが推奨
されます。
バグを報告する
5.3.3. JBoss Dat a Virt ualiz at ion ユーザーの追加
JBoss D ata Virtualization のデフォルト設定では、プレーンテキストファイルを使用してユーザーおよび
ユーザーロールが定義されます。このデフォルト設定の新しいユーザーを追加するには、以下の手順に従っ
てください。
1. EAP_HOME/MODE/co nfi g urati o n/tei i d -securi ty-users. pro perti es ファイルをテ
キストエディターで開きます ( vi EAP _HO ME/MO D E/co nfi g urati o n/tei i d -securi tyusers. pro perti es)。
2. username= password という構文で必要な username と passwo rd を新しい行で追加します。
以下に例を示します。
#user=user
harold=s3kr3tz
51
管理および設定ガイド
警告
このプロパティーファイルのパスワードは、デフォルトでプレーンテキストで保存されま
す。このファイルを暗号化しないと、セキュリティーが侵される危険があります。これらの
パスワードを暗号化するには、 『Red Hat JBoss Enterprise Application Platform セキュ
リティーガイド』を参照してください。
3. ファイルを保存し、閉じます。
4. EAP_HOME/MODE/co nfi g urati o n/tei i d -securi ty-ro l es. pro perti es ファイルをテ
キストエディターで開きます。
5. username= ro l e1,ro l e2,. . . という構文を使用して、ユーザーと割り当てられたロールを新
しい行でファイルに追加します。任意の数のロールを割り当てることができます。ロールがユー
ザーに割り当てられていない場合、エントリーは必要ありません。例を以下に示します。
administrator=administrator
harold=accounts, inventory, reports
6. ファイルを保存し、閉じます。
注記
ユーザーアカウントを一時的に無効にするには、行の先頭にハッシュ (#) を挿入します。ハッシュ
を削除すると、機能が復元されます。
重要
" admin" および " user" ロール名は、D ashboard Builder パーミッション用に特別に予約されてい
ます。
バグを報告する
5.3.4 . 階層データベースユーザーの追加
JBoss D ata Virtualization のデフォルト設定では、プレーンテキストファイルを使用してユーザーおよび
ユーザーロールが定義されます。このデフォルト設定の新しいユーザーを追加するには、以下の手順に従っ
てください。
1. テキストエディターで EAP_HOME/MODE/co nfi g urati o n/mo d eshapeusers. pro perti es ファイルを開きます。
2. username= password という構文で必要な username と passwo rd を新しい行で追加します。
以下に例を示します。
#user=user
harold=s3kr3tz
52
⁠第5章 ユーザーアカウント
警告
このプロパティーファイルのパスワードは、デフォルトでプレーンテキストで保存されま
す。このファイルを暗号化しないと、セキュリティーが侵される危険があります。これらの
パスワードを暗号化するには、 『Red Hat JBoss Enterprise Application Platform セキュ
リティーガイド』を参照してください。
3. ファイルを保存し、閉じます。
4. テキストエディターで EAP_HOME/MODE/co nfi g urati o n/mo d eshapero l es. pro perti es 設定ファイルを開きます。
5. username= ro l e1,ro l e2,. . . という構文を使用して、ユーザーと割り当てられたロールを新
しい行でファイルに追加します。任意の数のロールを割り当てることができます。ロールがユー
ザーに割り当てられていない場合、エントリーは必要ありません。例を以下に示します。
administrator=administrator
harold=accounts, inventory, reports
6. ファイルを保存し、閉じます。
注記
ユーザーアカウントを一時的に無効にするには、行の先頭にハッシュ (#) を挿入します。ハッシュ
を削除すると、機能が復元されます。
バグを報告する
5.4 . Modeshape ユーザーの追加
5.4 .1. Modeshape パブリッシングユーザーの作成
Modeshape パブリッシングを使用するには、少なくとも 1 人のユーザーが接続および読み書きロールまた
は接続および管理ロールを持っている必要があります。
デフォルトでは、すべてのロールがすべての匿名ロールユーザーに割り当てられます。
バグを報告する
53
管理および設定ガイド
⁠パート IV. 製品の設定
54
⁠第6 章 仮想データベース
第6章 仮想データベース
6.1. 仮想データベースおよび JBoss Dat a Virt ualiz at ion
JBoss D ata Virtualization は、仮想データベース (VD B) を使用してエンタープライズデータ統合ソリュー
ションを提供します。
バグを報告する
6.2. 仮想データベースデプロイメント
仮想データベース (VD B) は、クライアントアプリケーションによりアクセスする前にデプロイする必要が
あります。
VD B は次の手段でデプロイできます。
ファイルデプロイメント
ファイルデプロイメントは、サーバーが開発者のワークステーションでローカルで実行されてい
る場合に開発中に素早くデプロイする場合に推奨されます。「ファイルデプロイメントによる
VD B のデプロイ」を参照してください。
管理コンソール
ウェブベース管理コンソールによるデプロイメントは、VD B をリモートサーバーにデプロイする
最も単純な方法として推奨されます。「管理コンソールでの VD B のデプロイ」を参照してくださ
い。
管理コマンドラインインターフェース
EAP 管理コマンドラインインターフェース (CLI) は、もう 1 つの単純なデプロイメントオプショ
ンです。「CLI を使用して VD B をデプロイ」を参照してください。
Ad min Sh ell
AdminShell によるデプロイメントは、環境でアーティファクトのデプロイメントを自動化する
場合などの高度なデプロイメントに推奨されます。「AdminShell を使用して VD B をデプロ
イ」を参照してください。
管理 API
管理 API によるデプロイメントは、他のアプリケーション内で VD B をデプロイする場合などの
高度なデプロイメントに推奨されます。「管理 API を使用して VD B をデプロイ」を参照してく
ださい。
注記
また、VD B は Teiid D esigner 内でデプロイできます。『Red Hat JBoss D ata Virtualization User
Guide』 を参照してください。
55
管理および設定ガイド
重要
VD B を削除すると、そのすべてのリソースが自動的にクリーンアップされます。ただし、既存の
セッションは自動的に終了しません。
警告
VD B をデプロイする場合、VD B を同じ名前のもので上書きすると、VD B バージョン管理が使用さ
れてない限り、古い VD B へのすべての接続が終了します。
本番稼働システムでは VD B バージョン管理を使用することが推奨されます。「仮想データベース
バージョン管理」を参照してください。
バグを報告する
6.3. ファイルデプロイメントによる VDB のデプロイ
前提条件
Red Hat JBoss D ata Virtualization をインストールする必要があります。
手順6 .1 ファイルデプロイメントによる VD B のデプロイ
1. VD B を d epl o y ディレクトリーにコピー
VD B ファイルを EAP_HOME/stand al o ne/d epl o yments ディレクトリーにコピーします。
2. マーカーファイルの作成
拡張子が . d o d epl o y の同じ名前の空のマーカーファイルを同じディレクトリーに作成します。
たとえば、VD B 名が enterpri se. vd b である場合、マーカーファイル名は
enterpri se. vd b. d o d epl o y である必要があります。
注記
これはスタンドアロンモードにのみ適用されます。ドメインモードの場合は、他の利用可能なメソッ
ドのいずれかを使用する必要があります。
バグを報告する
6.4 . 管理コンソールでの VDB のデプロイ
前提条件
Red Hat JBoss D ata Virtualization をインストールする必要があります。
JBoss Enterprise Application Platform (EAP) サーバーが稼働している必要があります。
56
⁠第6 章 仮想データベース
JBoss EAP 管理ユーザーが登録されている必要があります。
手順6 .2 管理コンソールでの VD B のデプロイ
1. ウェブブラウザーでコンソールを起動する
ウェブブラウザーで、http://localhost:9990/console/ を開きます。
2. コンソールに対して認証する
プロンプトが表示されたら、JBoss EAP の管理者ユーザー名とパスワードを入力します。
3. D epl o yments パネルを開く
R unti me ビューで Server → Man ag e D ep lo ymen t s を選択します。
4. 仮想データベースを追加する
a. Ad d ボタンを選択します。
b. C ho o se Fi l e を選択し、デプロイする VD B ファイルを選択します。
c. Next を選択してデプロイメント名を確認し、Save を選択します。
d. En/D i sabl e を選択して VD B を有効にします。
バグを報告する
6.5. CLI を使用して VDB をデプロイ
前提条件
Red Hat JBoss D ata Virtualization をインストールする必要があります。
JBoss Enterprise Application Platform (EAP) サーバーが稼働している必要があります。
手順6 .3 C LI を使用して VD B をデプロイ
1. コマンドラインインターフェースを開く
EAP_HOME/bi n/jbo ss-cl i . sh コマンドを実行します。
2. サーバーに接続する
co nnect コマンドを実行します。
3. 仮想データベースをデプロイする
スタンドアロンモードの場合は、d epl o y PATH/DATABASE. vd b を実行します。
ドメインモードの場合は、d epl o y -al l -server-g ro ups PATH/DATABASE. vd b を実行し
ます。
57
管理および設定ガイド
注記
ドメインモードでは、デプロイメントオプションとして特定の " server-group" または利用可能なす
べてのサーバーグループを選択する必要があります。
バグを報告する
6.6. AdminShell を使用して VDB をデプロイ
前提条件
Red Hat JBoss D ata Virtualization をインストールする必要があります。
JBoss Enterprise Application Platform (EAP) サーバーが稼働している必要があります。
手順6 .4 Ad min Sh ell を使用して VD B をデプロイ
1. インタラクティブ Ad min Sh ell インターフェースを開く
. /ad mi nshel l . sh コマンドを実行します。
2. 接続を開く
インタラクティブ AdminShell 内で、co nnectAsAd mi n() コマンドを実行します。
3. 仮想データベースをデプロイする
d epl o y("PATH/DATABASE. vd b") コマンドを実行します。
4. 接続を閉じる
d i sco nnect() コマンドを実行します。
5. インタラクティブシェルを終了する
a. exi t コマンドを入力してインタラクティブシェルを終了します。
注記
ドメインモードで AdminShell を使用してデプロイする場合に、VD B は利用可能なすべてのサー
バーにデプロイされます。
また、VD B は AdminShell コンソールまたは非インタラクティブ AdminShell を介したスクリプト
を使用してデプロイできます。これらの詳細については、管理シェルに関するトピックを参照して
ください。
バグを報告する
6.7. 管理 API を使用して VDB をデプロイ
58
⁠第6 章 仮想データベース
VD B は、管理 API パッケージ (o rg . tei i d . ad mi napi ) 内の Admin インターフェースにより提供され
た d epl o y メソッドを使用してデプロイできます。
Red Hat JBoss D ata Virtualization 向け Javadocs は Red Hat カスタマーポータルで利用できます。
注記
ドメインモードで管理 API を使用してデプロイする場合に、VD B は利用可能なすべてのサーバーに
デプロイされます。
バグを報告する
6.8. VDB 依存関係
JBoss D ata Virtualization で仮想データベース (VD B) をデプロイする場合は、VD B で使用する物理デー
タソースにアクセスするために依存ライブラリーと設定も提供する必要があります
(EAP_HOME/MODE/d epl o yments/DATABASE. vd b ファイル内の MET A-INF/vd b. xml を参照して
すべての依存物理データソースを識別できます)。
たとえば、Oracle とファイルソースを VD B で統合する場合は、Oracle ソースの JD BC ドライバー、必要
なすべてのドキュメント、ファイルトランスレーターで必要な設定ファイルを提供する必要があります。
データソースインスタンスは、複数の VD B とアプリケーションで共有できます。ヘビーウェイトでリソー
ス制限があるソースに対する接続の共有を検討します。
VD B と依存関係をデプロイしたら、クライアントアプリケーションは JD BC API を使用して接続できま
す。デプロイメントでエラーが発生した場合は、接続の試行が失敗し、メッセージがログに記録されます。
管理コンソールを使用して (またはログファイルをチェックして) エラーを特定し、修正します。JD BC を
使用して VD B に接続する方法については、『Red Hat JBoss D ata Virtualization D evelopment Guide:
Server D evelopment』を参照してください。
警告
一部のデータソース設定ファイルには、パスワードまたは他の機密情報が含まれることがあります。
パスワードをプレーンテキストで保存することを回避する手順については、JBoss Enterprise
Application Platform 『セキュリティーガイド』を参照してください。
バグを報告する
6.9. データソースデプロイメント
6.9.1. Accumulo データソース
Accumulo データソースは、インストール時に JBoss EAP にデプロイされた Teiid 固有の JCA コネクター
を使用します。Accumulo データソースを作成するには多くの方法があります (CLI、AdminShell、管理コ
ンソールなどを使用)。以下の例では、スタンドアロンモードとドメインモードの両方で動作する CLI ツー
ルを使用します。
サーバーに接続したら、CLI を使用して以下のコマンドを実行します。また、正しい URL とユーザークレ
デンシャルを提供し、以下の " connection-definitions" コマンドをコピーしてコネクターで必要なプロパ
ティーを追加します。さらに、VD B で使用した JND I 名に一致するように JND I 名を編集します。 batch
59
管理および設定ガイド
/subsystem= reso urce-ad apters/reso urce-ad apter= accumul o /co nnecti o nd efi ni ti o ns= tei i d : ad d (jnd i -name= java: /accumul o -d s, cl assname= o rg . tei i d . reso urce. ad apter. accumul o . Accumul o Manag ed C o nnecti o nFacto ry
, enabl ed = true, use-java-co ntext= true) /subsystem= reso urcead apters/reso urce-ad apter= accumul o /co nnecti o n-d efi ni ti o ns= tei i d /co nfi g pro perti es= Zo o KeeperServerLi st: ad d (val ue= l o cal ho st: 2181)
/subsystem= reso urce-ad apters/reso urce-ad apter= accumul o /co nnecti o nd efi ni ti o ns= tei i d /co nfi g -pro perti es= Username: ad d (val ue= user)
/subsystem= reso urce-ad apters/reso urce-ad apter= accumul o /co nnecti o nd efi ni ti o ns= tei i d /co nfi g -pro perti es= P asswo rd : ad d (val ue= passwo rd )
/subsystem= reso urce-ad apters/reso urce-ad apter= accumul o /co nnecti o nd efi ni ti o ns= tei i d /co nfi g -pro perti es= InstanceName: ad d (val ue= i nstancename)
/subsystem= reso urce-ad apters/reso urce-ad apter= accumul o /co nnecti o nd efi ni ti o ns= tei i d /co nfi g -pro perti es= R o l es: ad d (val ue= publ i c)
/subsystem= reso urce-ad apters/reso urce-ad apter= accumul o : acti vate runbatch
以下に、RAR ファイルで定義されたプロパティーを示します。
表6 .1 プロパティー
プロパティー
説明
必要 デ
性
フォ
ルト
値
Z ooKeeperServerList
ズーキーパーサーバーの場所の
カンマ区切りのリスト。各場所
には、host:port という形式で
オプションのポートを含めるこ
とができます。
ズーキーパーサーバーの場所の
カンマ区切りのリスト。各場所
には、host:port という形式で
オプションのポートを含めるこ
とができます。
接続ユーザーの名前
接続ユーザーのパスワード
Accumulo インスタンス名
接続ユーザーのパスワード
ユーザーのオプションの可視
性。カンマ区切りで複数を指定
します。
必要 なし
Z ooKeeperServerList
Username
Password
InstanceName
Password
Roles
必要 なし
必要
必要
必要
必要
不必
要
なし
なし
なし
なし
なし
この Accumulo コネクターでサポートされたすべてのプロパティーを見つけるには、CLI で次のコマンドを
実行します: /subsystem= tei i d : read -rar-d escri pti o n(rar-name= accumul o )
バグを報告する
6.9.2. Amaz on SimpleDB データソース
SimpleD B データソースは、インストール時に EAP にデプロイされた Teiid 固有の JCA コネクターを使用
します。SimpleD B データソースを作成するには多くの方法があります (CLI、AdminShell、管理コンソー
ルなどを使用)。以下の例では、スタンドアロンモードとドメインモードの両方で動作する CLI ツールを使
用します。
サーバーに接続したら、CLI を使用して以下のコマンドを実行します。また、正しいアクセスキーを提供
60
⁠第6 章 仮想データベース
し、以下の " connection-definitions" コマンドをコピーしてコネクターで必要なプロパティーを追加しま
す。さらに、VD B で使用した JND I 名に一致するように JND I 名を編集します。 batch
/subsystem= reso urce-ad apters/reso urce-ad apter= si mpl ed b/co nnecti o nd efi ni ti o ns= si mpl ed bD S: ad d (jnd i -name= java: /si mpl ed bD S, cl assname= o rg . tei i d . reso urce. ad apter. si mpl ed b. Si mpl eD BManag ed C o nnecti o nFacto ry
, enabl ed = true, use-java-co ntext= true) /subsystem= reso urcead apters/reso urce-ad apter= si mpl ed b/co nnecti o nd efi ni ti o ns= si mpl ed bD S/co nfi g -pro perti es= AccessKey: ad d (val ue= xxx)
/subsystem= reso urce-ad apters/reso urce-ad apter= si mpl ed b/co nnecti o nd efi ni ti o ns= si mpl ed bD S/co nfi g -pro perti es= SecretAccessKey: ad d (val ue= xxx)
/subsystem= reso urce-ad apters/reso urce-ad apter= si mpl ed b: acti vate runbatch
この SimpleD B コネクターでサポートされたすべてのプロパティーを見つけるには、CLI で次のコマンドを
実行します: /subsystem= tei i d : read -rar-d escri pti o n(rar-name= si mpl ed b)
バグを報告する
6.9.3. Cassandra データソース
警告
テクノロジープレビュー機能はサポートされず、完全に機能しない可能性があるため、本番環境での
使用には向いていません。これらの機能を使用すると、ユーザーは近日発表予定の革新的技術を先駆
けて使用し、機能をテストして、開発段階でフィードバックを提供できます。
Cassandra データソースは、インストール時に EAP にデプロイされた Teiid 固有の JCA コネクターを使
用します。Cassandra データソースを作成するには多くの方法があります (CLI、AdminShell、管理コン
ソールなどを使用)。以下の例では、スタンドアロンモードとドメインモードの両方で動作する CLI ツール
を使用します。
サーバーに接続したら、CLI を使用して以下のコマンドを実行します。また、正しい URL とユーザークレ
デンシャルを提供し、以下の " connection-definitions" コマンドをコピーしてコネクターで必要なプロパ
ティーを追加します。さらに、VD B で使用した JND I 名に一致するように JND I 名を編集します。
batch /subsystem= reso urce-ad apters/reso urce-ad apter= cassand ra/co nnecti o nd efi ni ti o ns= cassand raD S: ad d (jnd i -name= java: /cassand raD S, cl assname= o rg . tei i d . reso urce. ad apter. cassand ra. C assand raManag ed C o nnecti o nFacto r
y, enabl ed = true, use-java-co ntext= true) /subsystem= reso urcead apters/reso urce-ad apter= cassand ra/co nnecti o nd efi ni ti o ns= cassand raD S/co nfi g -pro perti es= Ad d ress: ad d (val ue= 127. 0 . 0 . 1)
/subsystem= reso urce-ad apters/reso urce-ad apter= cassand ra/co nnecti o nd efi ni ti o ns= cassand raD S/co nfi g -pro perti es= Keyspace: ad d (val ue= my-keyspace)
/subsystem= reso urce-ad apters/reso urce-ad apter= cassand ra: acti vate runbatch
この Cassandra コネクターでサポートされたすべてのプロパティーを見つけるには、CLI で次のコマンド
を実行します: /subsystem= tei i d : read -rar-d escri pti o n(rar-name= cassand ra)
バグを報告する
6.9.4 . ファイルデータソース
ファイルデータソースは、インストール時に EAP にデプロイされた Teiid 固有の JCA コネクターを使用し
ます。ファイルデータソースを作成するには多くの方法があります (CLI、AdminShell、管理コンソールな
どを使用)。以下の例では、スタンドアロンモードとドメインモードの両方で動作する CLI ツールを使用し
ます。
61
管理および設定ガイド
サーバーに接続したら、CLI を使用して以下のコマンドを実行します。また、正しいディレクトリー名と他
のプロパティーを提供し、以下の " connection-definitions" コマンドをコピーしてコネクターで必要なプロ
パティーを追加します。さらに、VD B で使用した JND I 名に一致するように JND I 名を編集します。
batch /subsystem= reso urce-ad apters/reso urce-ad apter= fi l e/co nnecti o nd efi ni ti o ns= fi l eD S: ad d (jnd i -name= java: /fi l eD S, cl assname= o rg . tei i d . reso urce. ad apter. fi l e. Fi l eManag ed C o nnecti o nFacto ry,
enabl ed = true, use-java-co ntext= true) /subsystem= reso urce-ad apters/reso urcead apter= fi l e/co nnecti o n-d efi ni ti o ns= fi l eD S/co nfi g pro perti es= P arentd i recto ry: ad d (val ue= /ho me/rared d y/testi ng /)
/subsystem= reso urce-ad apters/reso urce-ad apter= fi l e/co nnecti o nd efi ni ti o ns= fi l eD S/co nfi g -pro perti es= Al l o wP arentP aths: ad d (val ue= true)
/subsystem= reso urce-ad apters/reso urce-ad apter= fi l e: acti vate runbatch
このファイルコネクターでサポートされたすべてのプロパティーを見つけるには、CLI で次のコマンドを実
行します: /subsystem= tei i d : read -rar-d escri pti o n(rar-name= fi l e)
バグを報告する
6.9.5. Google スプレッドシートデータソース
Google アカウントは、ClientLogin (ログインとパスワードが必要) または OAuth (ユーザーが更新トーク
ンを提供する必要があるため、より複雑) のいずれかの方法で認証できます。
Google JCA コネクターには teiid-connector-google.rar という名前が付けられます。この例には、
google.xml サンプルファイルが含まれます。JCA コネクターには認証を実現する複数の設定プロパティー
があります。JCA コネクターは 1 つのスプレッドシートに接続します。
表6 .2 設定プロパティー
プロパティー
説明
AuthMethod
Google へのアクセス方法。このプ
ロパティーは、ClientLogin または
OAuth2 のいずれかに設定できま
す。設定が ClientLogin の場合は、
追加の 2 つの設定プロパティー
Username と Password を提供す
る必要があります。設定が OAuth2
の場合は、RefreshToken を提供す
る必要があります。
Google アカウントのユーザー名。
AuthMethod=ClientLogin の場合の
み適応されます。
Google アカウントのパスワード。
AuthMethod=ClientLogin の場合の
み適応されます。
このコネクターのデータソースであ
るスプレッドシートの名前を持つ必
須プロパティー。
一度にフェッチできる行の最大数。
デフォルト値は 4096 です。
Username
Password
SpreadsheetName
BatchSize
OAuth 更新トークンを取得するには、Google の認証サイトに移動します。
62
⁠第6 章 仮想データベース
https://accounts.google.com/o/oauth2/auth?
scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive+https%3A%2F%2Fsprea
dsheets.google.com%2Ffeeds& redirect_uri=urn:ietf:wg:oauth:2.0:oob& respons
e_type=code& client_id=217138521084.apps.googleusercontent.com
次に、認証コードを以下の POST 要求にコピーし、コマンドラインで実行します (更新トークンが応答に含
まれます)。
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.9.6. Infinispan データソース
Infinispan データソースは、インストール時に EAP にデプロイされた Teiid 固有の JCA コネクターを使用
します。このコネクターは、Infinispan キャッシュの以下のモードをサポートするよう設定できます。
表6 .3 レジストリープロパティー
キャッシュタイプ
このキャッシュの取得方法
Local Cache
Local Cache
Remote Cache
Remote Cache
Local Cache
JND I
設定ファイル
JND I
1 つまたは複数のホストポートを指定します。
1 つまたは複数の Hot Rod クライアントプロパ
ティーファイルを指定します。
このコネクターには以下のプロパティーを設定できます。
表6 .4 レジストリープロパティー
プロパティー
必須 プロパティーテンプレート
説明
CacheTypeMa
p
はい cacheName:className[;pkFieldNam
e]
[,cacheName:className[;pkFieldNa
me]..]
無
なし
ルート Java オブジェクトクラス名を
キャッシュにマップし、キャッシュに
対するプライマリーキーである属性を
指定します。
CacheTypeMap で定義されたキャッ
シュクラスを含む JBoss AS モジュー
ルを指定します
CacheContainer を見つけるための
JND I 名
CacheTypeMap で定義されたキャッ
シュにアクセスするために一緒にクラ
スタ化するホストおよびポートを指定
します。
ローカルキャッシュを設定するための
Infinispan 設定 xml ファイル。
module
CacheJndiNam 無
e
RemoteServerL 無
ist
なし
無
なし
ConfigurationF
ileNameForLoc
alCache
host:port[;host:port….]
63
管理および設定ガイド
プロパティー
必須 プロパティーテンプレート
説明
HotRodClientP
ropertiesFile
無
リモートキャッシュに対する接続を設
定するための HotRod プロパティー
ファイル。
なし
データソースを作成するには多くの方法があります (CLI、AdminShell、管理コンソールなどを使用)。以下
の例では、スタンドアロンモードとドメインモードの両方で動作する CLI ツールを使用します。
サーバーに接続したら、CLI を使用して以下のコマンドを実行します。また、正しいディレクトリー名と他
のプロパティーを提供し、以下の " connection-definitions" コマンドをコピーしてコネクターで必要なプロ
パティーを追加します。さらに、VD B で使用した JND I 名に一致するように JND I 名を編集します。
batch /subsystem= reso urce-ad apters/reso urce-ad apter= i nfi ni span/co nnecti o nd efi ni ti o ns= i nfi ni spanD S: ad d (jnd i -name= java: /i nfi ni spanD S, cl assname= o rg . tei i d . reso urce. ad apter. i nfi ni span. Infi ni spanManag ed C o nnecti o nFac
to ry, enabl ed = true, use-java-co ntext= true) /subsystem= reso urcead apters/reso urce-ad apter= i nfi ni span/co nnecti o nd efi ni ti o ns= i nfi ni spanD S/co nfi g pro perti es= C acheT ypeMap: ad d (val ue= trad es: o rg . so mewhere. T rad e;trad eId )
/subsystem= reso urce-ad apters/reso urce-ad apter= i nfi ni span/co nnecti o nd efi ni ti o ns= i nfi ni spanD S/co nfi g pro perti es= Mo d ul e: ad d (val ue= o rg . so mewhere) /subsystem= reso urcead apters/reso urce-ad apter= i nfi ni span/co nnecti o nd efi ni ti o ns= i nfi ni spanD S/co nfi g pro perti es= C acheJnd i Name: ad d (val ue= java: /myC ache) runbatch
この Infinispan コネクターでサポートされたすべてのプロパティーを見つけるには、CLI で次のコマンドを
実行します: /subsystem= tei i d : read -rar-d escri pti o n(rar-name= i nfi ni span)
重要
Classloading 問題の回避: サーブレシーブまたは他の種類の Web アプリケーションを使用して
キャッシュの D efaultCacheManager を作成する場合は、アプリケーションに Infinispan jar 依存
関係を含めずに、代わりにモジュール依存関係を追加してください。
バグを報告する
6.9.7. Infinispan-DSL データソース
Infinispan-D SL データソースは、インストール時に EAP にデプロイされた Teiid 固有の JCA コネクター
を使用します。このコネクターは、Hot Rod クライアントを使用してアクセスする Infinispan キャッシュ
の以下のモードをサポートするよう設定できます。
表6 .5 プロパティー
キャッシュタイプ
プロパティー名
キャッシュの取得方法
Remote Cache
Remote Cache
CacheJndiName
RemoteServerList
Remote Cache
HotRodClientPropertiesFile
JND I
サーバーリスト: 1 つまたは複数
のホストポートを指定します
HotRod クライアントプロパ
ティーファイル
64
⁠第6 章 仮想データベース
これには、オブジェクトのシリアル化のために Google Protobuf を使用するよう設定された JD G 6.2 以上
が必要です。Teiid が Lucene インデックスで設定されたローカルキャッシュのようにキャッシュを問い合
わせることができます。
このコネクターには以下のプロパティーを設定できます。
表6 .6 プロパティー
プロパティー
必要 プロパティーテンプレート
性
説明
CacheTypeMa
p
はい cacheName:className[;pkFieldNam
e]
[,cacheName:className[;pkFieldNa
me]..]
はい なし
ルート Java オブジェクトクラス名を
キャッシュにマップし、キャッシュに
対するプライマリーキーである属性を
指定します。
jar にパッケージ化された Google
Protobin ファイルへのパス
(/quickstart/addressbook.protobin
など)
各メッセージマーシャラーがマップさ
れたクラス名を含みます
(class:marshaller,
[class:marshaller,..])。シリアル化の
ために登録されます。
キャッシュ内のルートオブジェクトに
対するメッセージ記述子クラス名
ロードする必要があるキャッシュクラ
スを含む JBoss EAP モジュールを指
定します。
CacheContainer を見つけるための
JND I 名
キャッシュにアクセスするために一緒
にクラスタ化するホストおよびポート
を指定します。
リモートキャッシュに対する接続を設
定するための HotRod プロパティー
ファイル。
ProtobinFile
MessageMarsh
allers
はい marshaller [,marshaller,..]
MessageD escri はい なし
ptor
module
無
なし
CacheJndiNam 無
e
RemoteServerL 無
ist
なし
無
なし
HotRodClientP
ropertiesFile
host:port[;host:port….]
以下に、JD G remote-query クイックスタートに接続するために使用する resource-adapter の XML コー
ドを示します。
<resource-adapter id="infinispanRemQS">
<module slot="main" id="org.jboss.teiid.resourceadapter.infinispan.dsl"/>
<connection-definitions>
<connection-definition classname="org.teiid.resource.adapter.infinispan.dsl.InfinispanManagedConnecti
onFactory" jndi-name="java:/infinispanRemote" enabled="true" use-javacontext="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
65
管理および設定ガイド
</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.qui
ckstarts.datagrid.hotrod.query.marshallers.PhoneNumberMarshaller,org.jbos
s.as.quickstarts.datagrid.hotrod.query.domain.PhoneType:org.jboss.as.quic
kstarts.datagrid.hotrod.query.marshallers.PhoneTypeMarshaller
</config-property>
<config-property name="RemoteServerList">
127.0.0.1:11322
</config-property>
</connection-definition>
</connection-definitions>
</resource-adapter>
バグを報告する
6.9.8. JDBC データソース
以下に Oracle データソースを設定する例を示します。このプロセスはデータベースベンダーに関係なくほ
ぼ同じです。通常は、JD BC jar と接続 URL およびユーザークレデンシャルなどの設定が変わります。
これらは、jbo ss-i nstal l /d o cs/tei i d /d ataso urces ディレクトリー内のすべてのデータソース
の設定テンプレートです。データソースを JBoss EAP に追加する方法もここで詳細に説明されています。
データソースを作成するには以下の 2 つの方法があります。
最初に、必要な JD BC jar ファイルをデプロイします。たとえば、Oracle データソースを作成する場合
は、最初に " ojdbc6.jar" ファイルをデプロイする必要があります: d epl o y /path/to /o jd bc6 . jar
注記
JBoss EAPis がスタンドアロンモードで実行されている場合は、この 'ojdbc6.jar" を jbo ssi nstal l >/stand al o ne/d epl o yments ディレクトリーに手動でコピーして CLI ツールを使用
せずに自動的にデプロイすることもできます。
ここで、このドライバーを使用してデータソースを作成します。データソースを作成するには多くの方法が
あります (CLI、AdminShell、または管理コンソールを使用)。以下の例では、スタンドアロンモードとドメ
インモードの両方で動作する CLI ツールを使用します。
サーバーに接続したら、CLI を使用して以下のコマンドを実行します。また、正しい URL とユーザークレ
デンシャルを提供し、VD B で使用した JND I 名に一致するように JND I 名を編集します。
/subsystem= d ataso urces/d ata-so urce= o racel -d s: ad d (jnd i -name= java: /O racl eD S,
d ri ver-name= o jd bc6 . jar, co nnecti o n-url = jd bc: o racl e: thi n:
{ho st}: 1521: o rcl ,user-name= {user}, passwo rd = {passwo rd })
/subsystem= d ataso urces/d ata-so urce= o racel -d s: enabl e
バグを報告する
66
⁠第6 章 仮想データベース
6.9.9. LDAP データソース
LD AP データソースは、インストール時に EAP にデプロイされた Teiid 固有の JCA コネクターを使用しま
す。ldap データソースを作成するには多くの方法があります (CLI、AdminShell、管理コンソールなどを使
用)。以下の例では、スタンドアロンモードとドメインモードの両方で動作する CLI ツールを使用します。
サーバーに接続したら、CLI を使用して以下のコマンドを実行します。また、正しい URL とユーザークレ
デンシャルを提供し、以下の " connection-definitions" コマンドをコピーしてコネクターで必要なプロパ
ティーを追加します。さらに、VD B で使用した JND I 名に一致するように JND I 名を編集します。batch
/subsystem= reso urce-ad apters/reso urce-ad apter= l d ap/co nnecti o nd efi ni ti o ns= l d apD S: ad d (jnd i -name= java: /l d apD S, cl assname= o rg . tei i d . reso urce. ad apter. l d ap. LD AP Manag ed C o nnecti o nFacto ry,
enabl ed = true, use-java-co ntext= true) /subsystem= reso urce-ad apters/reso urcead apter= l d ap/co nnecti o n-d efi ni ti o ns= l d apD S/co nfi g pro perti es= Ld apUrl : ad d (val ue= l d ap: //l d apServer: 389 ) /subsystem= reso urcead apters/reso urce-ad apter= l d ap/co nnecti o n-d efi ni ti o ns= l d apD S/co nfi g pro perti es= Ld apAd mi nUserD N: ad d (val ue= {cn= ???,o u= ???,d c= ???})
/subsystem= reso urce-ad apters/reso urce-ad apter= l d ap/co nnecti o nd efi ni ti o ns= l d apD S/co nfi g -pro perti es= Ld apAd mi nUserP asswo rd : ad d (val ue=
{pass}) /subsystem= reso urce-ad apters/reso urce-ad apter= l d ap/co nnecti o nd efi ni ti o ns= l d apD S/co nfi g -pro perti es= Ld apT xnT i meo utInMi l l i s: ad d (val ue= 1) /subsystem= reso urce-ad apters/reso urce-ad apter= l d ap: acti vate runbatch
この LD AP コネクターでサポートされたすべてのプロパティーを見つけるには、CLI で次のコマンドを実行
します: /subsystem= tei i d : read -rar-d escri pti o n(rar-name= l d ap)
バグを報告する
6.9.10. MongoDB データソース
MongoD B データソースは、インストール時に EAP にデプロイされた Teiid 固有の JCA コネクターを使用
します。MongoD B データソースを作成するには多くの方法があります (CLI、AdminShell、管理コンソー
ルなどを使用)。以下の例では、スタンドアロンモードとドメインモードの両方で動作する CLI ツールを使
用します。
サーバーに接続したら、CLI を使用して以下のコマンドを実行します。また、正しい URL とユーザークレ
デンシャルを提供し、以下の " connection-definitions" コマンドをコピーしてコネクターで必要なプロパ
ティーを追加します。さらに、VD B で使用した JND I 名に一致するように JND I 名を編集します。batch
/subsystem= reso urce-ad apters/reso urce-ad apter= mo ng o d b/co nnecti o nd efi ni ti o ns= mo ng o d bD S: ad d (jnd i -name= "java: /mo ng o D S", cl assname= o rg . tei i d . reso urce. ad apter. mo ng o d b. Mo ng o D BManag ed C o nnecti o nFacto ry,
enabl ed = true, use-java-co ntext= true) /subsystem= reso urce-ad apters/reso urcead apter= mo ng o d b/co nnecti o n-d efi ni ti o ns= mo ng o d bD S/co nfi g pro perti es= R emo teServerLi st: ad d (val ue= "{ho st}: 270 17") /subsystem= reso urcead apters/reso urce-ad apter= mo ng o d b/co nnecti o nd efi ni ti o ns= mo ng o d bD S/co nfi g -pro perti es= D atabase: ad d (val ue= "{d b-name}")
/subsystem= reso urce-ad apters/reso urce-ad apter= mo ng o d b: acti vate runbatch
以下に、RAR ファイルで定義されたプロパティーを示します。
表6 .7 プロパティー
プロパティー
説明
必要 デ
性
フォ
ルト
67
管理および設定ガイド
プロパティー
説明
RemoteServerList
サーバーの場所のカンマ区切り 該当 該当
のリスト。各場所には、
なし なし
host:port という形式でオプ
ションのポートを含めることが
できます。
接続ユーザーの名前
Fal なし
se
接続ユーザーのパスワード
Fal なし
se
MongoD B データベース名
Tru なし
e
Username
Password
D atabase
必要 デ
性
フォ
ルト
この MongoD B コネクターでサポートされたすべてのプロパティーを見つけるには、CLI で次のコマンド
を実行します: /subsystem= tei i d : read -rar-d escri pti o n(rar-name= mo ng o d b)
バグを報告する
6.9.11. Salesforce データソース
Salesforce データソースは、インストール時に EAP にデプロイされた Teiid 固有の JCA コネクターを使用
します。salesforce データソースを作成するには多くの方法があります (CLI、AdminShell、管理コンソー
ルなどを使用)。以下の例では、スタンドアロンモードとドメインモードの両方で動作する CLI ツールを使
用します。
サーバーに接続したら、CLI を使用して以下のコマンドを実行します。また、正しい URL とユーザークレ
デンシャルを提供し、以下の " connection-definitions" コマンドをコピーしてコネクターで必要なプロパ
ティーを追加します。さらに、VD B で使用した JND I 名に一致するように JND I 名を編集します。batch
/subsystem= reso urce-ad apters/reso urce-ad apter= sal esfo rce/co nnecti o nd efi ni ti o ns= sfD S: ad d (jnd i -name= java: /sfD S, cl assname= o rg . tei i d . reso urce. ad apter. sal esfo rce. Sal esFo rceManag ed C o nnecti o nFact
o ry, enabl ed = true, use-java-co ntext= true) /subsystem= reso urcead apters/reso urce-ad apter= sal esfo rce/co nnecti o n-d efi ni ti o ns= sfD S/co nfi g pro perti es= UR L: ad d (val ue= https: //www. sal esfo rce. co m/servi ces/So ap/u/22. 0 )
/subsystem= reso urce-ad apters/reso urce-ad apter= sal esfo rce/co nnecti o nd efi ni ti o ns= sfD S/co nfi g -pro perti es= username: ad d (val ue= {user})
/subsystem= reso urce-ad apters/reso urce-ad apter= sal esfo rce/co nnecti o nd efi ni ti o ns= sfD S/co nfi g -pro perti es= passwo rd : ad d (val ue= {passwo rd })
/subsystem= reso urce-ad apters/reso urce-ad apter= sal esfo rce: acti vate runbatch
この Salesforce コネクターでサポートされたすべてのプロパティーを見つけるには、CLI で次のコマンド
を実行します: /subsystem= tei i d : read -rar-d escri pti o n(rar-name= sal esfo rce)
バグを報告する
6.9.12. Solr データソース
Solr データソースは、インストール時に EAP にデプロイされた Teiid 固有の JCA コネクターを使用しま
す。Solr データソースを作成するには多くの方法があります (CLI、AdminShell、管理コンソールなどを使
用)。以下の例では、スタンドアロンモードとドメインモードの両方で動作する CLI ツールを使用します。
サーバーに接続したら、CLI を使用して以下のコマンドを実行します。また、正しい URL とユーザークレ
デンシャルを提供し、以下の " connection-definitions" コマンドをコピーしてコネクターで必要なプロパ
ティーを追加します。さらに、VD B で使用した JND I 名に一致するように JND I 名を編集します。batch
68
⁠第6 章 仮想データベース
/subsystem= reso urce-ad apters/reso urce-ad apter= so l r/co nnecti o nd efi ni ti o ns= so l rD S: ad d (jnd i -name= java: /so l rD S, cl assname= o rg . tei i d . reso urce. ad apter. so l r. So l rManag ed C o nnecti o nFacto ry,
enabl ed = true, use-java-co ntext= true) /subsystem= reso urce-ad apters/reso urcead apter= so l r/co nnecti o n-d efi ni ti o ns= so l rD S/co nfi g pro perti es= url : ad d (val ue= http: //l o cal ho st: 89 83/so l r/) /subsystem= reso urcead apters/reso urce-ad apter= so l r/co nnecti o n-d efi ni ti o ns= so l rD S/co nfi g pro perti es= C o reName: ad d (val ue= co l l ecti o n1) /subsystem= reso urcead apters/reso urce-ad apter= so l r: acti vate runbatch
この Solr コネクターでサポートされたすべてのプロパティーを見つけるには、CLI で次のコマンドを実行
します: /subsystem= tei i d : read -rar-d escri pti o n(rar-name= so l r)
バグを報告する
6.9.13. Web サービスデータソース
Web サービスデータソースは、インストール時に EAP にデプロイされた Teiid 固有の JCA コネクターを使
用します。ファイルデータソースを作成するには多くの方法があります (CLI、AdminShell、管理コンソー
ルなどを使用)。以下の例では、スタンドアロンモードとドメインモードの両方で動作する CLI ツールを使
用します。
サーバーに接続したら、CLI を使用して以下のコマンドを実行します。また、正しいエンドポイントと他の
プロパティーを提供し、以下の " connection-definitions" コマンドをコピーしてコネクターで必要なプロパ
ティーを追加します。さらに、VD B で使用した JND I 名に一致するように JND I 名を編集します。batch
/subsystem= reso urce-ad apters/reso urce-ad apter= webservi ce/co nnecti o nd efi ni ti o ns= wsD S: ad d (jnd i -name= java: /wsD S, cl assname= o rg . tei i d . reso urce. ad apter. ws. WSManag ed C o nnecti o nFacto ry,
enabl ed = true, use-java-co ntext= true) /subsystem= reso urce-ad apters/reso urcead apter= webservi ce/co nnecti o n-d efi ni ti o ns= wsD S/co nfi g pro perti es= End P o i nt: ad d (val ue= {end _po i nt}) /subsystem= reso urcead apters/reso urce-ad apter= webservi ce: acti vate runbatch
この Web サービスコネクターでサポートされたすべてのプロパティーを見つけるには、CLI で次のコマン
ドを実行します: /subsystem= tei i d : read -rar-d escri pti o n(rar-name= webservi ce)。Web
サービスデータソースは Wsdl プロパティーを使用した WSD L の指定をサポートします。Wsdl プロパ
ティーが設定された場合は、 ServiceName、EndPointName、および NamespaceUri プロパティーも設
定する必要があります。Wsdl プロパティーは URL またはファイルの場所、あるいは使用する WSD L にな
ります。サーバーを再起動する必要があります。
表6 .8 レジストリープロパティー
プロパティー
アプリケー
ション
必要性
デフォルト
説明
EndPoint
HTTP および
SOAP。
HTTP および
SOAP。
True
該当なし
false
なし
HTTP および
SOAP。
HTTP および
SOAP。
HTTP および
SOAP。
false
該当なし
false
該当なし
False
該当なし
HTTP の場合は URL、SOAP の場
合はサービスエンドポイント。
Web サービスで使用する認証タイ
プ。許可される値は " None" 、
" HTTPBasic" 、" WSSecurity" 、お
よび " Kerberos" です。
HTTPBasic および WsSecurity で
使用される認証の名前の値。
HTTPBasic および WsSecurity で
使用される認証のパスワードの値。
CXF クライアント設定ファイルまた
は URL。
SecurityType
AuthUserNam
e
AuthPasswor
d
ConfigFile
69
管理および設定ガイド
プロパティー
アプリケー
ション
必要性
デフォルト
説明
EndPointNam HTTP および
e
SOAP。
False
Teiid
ServiceName
SOAP
False
該当なし
NamespaceUr
i
RequestTime
out
ConnectTime
out
Wsdl
SOAP。
False
http://teiid.org
HTTP および
SOAP。
HTTP および
SOAP。
SOAP。
False
該当なし
この接続で使用するエンドポイント
QName のローカル部分。CXF ファ
イルで定義されたものに一致する必
要があります。
この接続で使用するサービス
QName のローカル部分。
この接続で使用するサービス
QName のネームスペース URI。
要求のタイムアウト。
False
該当なし
接続のタイムアウト。
False
該当なし
Web サービス用 WSD L ファイルま
たは URL。
各 Web サービスデータソースでは特定の CXF 設定ファイルとポート設定を選択できます。ConfigFile 設
定プロパティーは CXF Bus の Spring XML 設定ファイルと接続で使用するポート設定を指定します。設定
ファイルが指定された場合は、システムデフォルト設定が使用されます。
このデータソースでは、ポート設定を 1 つだけ使用できます。ConfigName プロパティーにより、使用す
るポート QName のローカル名を明示的に設定できます。設定ファイルの QName のネームスペース URI
はデータソースの WSD L/ネームスペース設定に一致するか、デフォルト値である http://teiid.org を使用す
る必要があります。CXF 設定ファイルの使用例については、CXF ドキュメンテーションと WS-Security や
ロギングなどに関する項を参照してください。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:httpconf="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>
コンジット名 {http://teiid.org}configName.http-conduit, the namespace, {http://teiid.org} では、ネームス
ペースデータソースプロパティーで設定できます。通常、これは、wsdl 設定を指定する場合のみ行う必要
があります。ローカル名は .http-conduit の後に続き、configName 設定に基づきます (デフォルト値は
teiid)。
70
⁠第6 章 仮想データベース
注記
タイムアウトを設定するには Spring 設定を使用する必要がありません。ConnectionTimeout およ
び ReceiveTimeout は、それぞれリソースアダプターの connectTimeout プロパティーと
requestTimeout プロパティーを使用して設定できます。
WS-Security の使用を有効にするには、SecurityType を WSSecurity に設定する必要があります。この場
合、Teiid は WSD L が使用するサービスを定義することを期待しません。したがって、Spring XML 設定
ファイルは必要ではなく、代わりに関連するすべてのポリシー設定を含む必要があります。一般的な設定の
場合と同様に、各データソースは、使用する単一のポート設定のみの指定に限定されます: batch
/subsystem= reso urce-ad apters/reso urce-ad apter= webservi ce/co nnecti o nd efi ni ti o ns= wsD S: ad d (jnd i -name= java: /wsD S, cl assname= o rg . tei i d . reso urce. ad apter. ws. WSManag ed C o nnecti o nFacto ry,
enabl ed = true, use-java-co ntext= true) /subsystem= reso urce-ad apters/reso urcead apter= webservi ce/co nnecti o n-d efi ni ti o ns= wsD S/co nfi g pro perti es= C o nfi g Fi l e: ad d (val ue= ${jbo ss. server. ho me. d i r}/stand al o ne/co nfi
g urati o n/xxx-jbo ssws-cxf. xml ) /subsystem= reso urce-ad apters/reso urcead apter= webservi ce/co nnecti o n-d efi ni ti o ns= wsD S/co nfi g pro perti es= C o nfi g Name: ad d (val ue= po rt_x) /subsystem= reso urcead apters/reso urce-ad apter= webservi ce/co nnecti o n-d efi ni ti o ns= wsD S/co nfi g pro perti es= Securi tyT ype: ad d (val ue= WSSecuri ty) /subsystem= reso urcead apters/reso urce-ad apter= webservi ce: acti vate runbatch
以下に、タイムスタンプを SOAP ヘッダーに追加する xxx-jbo ssws-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>
71
管理および設定ガイド
QName {http://teiid.org}port_x により、クライアントポート設定がデータソースインスタンスに一致するこ
とに注意してください。ここで、ネームスペースはネームスペース設定またはデフォルトの http://teiid.org
に一致します。この設定には、異なるローカル名を持つ他のポート設定を含めることができます。
WS-Security Kerberos は、WSD L プロパティーが resource-adapter 接続設定で定義され、WSD L ベース
プロシージャーが使用されいている場合のみサポートされます。WSD L ファイルには、WS-Policy セク
ションを含める必要があります。これにより、WS-Policy セクションはエンドポイントで正しく解釈さ
れ、適用されます。以下に、CXF 設定の例を示します。
<?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.PropertyPlaceholderConfig
urer"/>
<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>
次に、以下のように stand al o ne-tei i d . xml ファイルの 'security' サブシステムで security-domain
を設定します。
72
⁠第6 章 仮想データベース
<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>
また、CXF 設定プロパティーは、特定またはすべてのポートに対する要求および応答のロギングを制御す
るために使用できます。ロギング (有効な場合) は、org.apache.cxf.interceptor コンテキストに対する
INFO レベルで実行されます: batch /subsystem= reso urce-ad apters/reso urcead apter= webservi ce/co nnecti o n-d efi ni ti o ns= wsD S: ad d (jnd i -name= java: /wsD S,
cl ass-name= o rg . tei i d . reso urce. ad apter. ws. WSManag ed C o nnecti o nFacto ry,
enabl ed = true, use-java-co ntext= true) /subsystem= reso urce-ad apters/reso urcead apter= webservi ce/co nnecti o n-d efi ni ti o ns= wsD S/co nfi g pro perti es= C o nfi g Fi l e: ad d (val ue= ${jbo ss. server. ho me. d i r}/stand al o ne/co nfi
g urati o n/xxx-jbo ssws-cxf. xml ) /subsystem= reso urce-ad apters/reso urcead apter= webservi ce/co nnecti o n-d efi ni ti o ns= wsD S/co nfi g pro perti es= C o nfi g Name: ad d (val ue= po rt_x) /subsystem= reso urcead apters/reso urce-ad apter= webservi ce: acti vate runbatch
対応する xxx-jbo ssws-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>
CXF 設定プロパティーは、HTTP トランスポートの低レベルの側面を制御するために使用することもでき
ます。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:httpconf="http://cxf.apache.org/transports/http/configuration"
73
管理および設定ガイド
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>
HTTPS を使用するには、CXF ファイルを以下のように設定します (HTTPBasic やkerberos なども設定で
きます)。
<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>
kerberos サポートは、http://cxf.apache.org/docs/client-http-transport-including-sslsupport.html#ClientHTTPTransport% 28includingSSLsupport% 29SpnegoAuthentication% 28Kerberos% 29 で定義された SPNEGO に基づきます。kerberos サポートには
2 つのタイプがあり、最初のタイプは Negotiation です。この設定では、トークンをネゴシエートするため
に REST サービスが Kerberos JAAS ドメイン (web サービスにアクセスするために使用されます) で指定
されます。この最初のタイプの場合は、以下のように stand al o ne. xml ファイルでセキュリティードメ
インを作成します。
<security-domain name="MY_REALM" cache-type="default">
<authentication>
<login-module code="Kerberos" flag="required">
74
⁠第6 章 仮想データベース
<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>
以下のように、jbo ss-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:httpconf="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</configproperty>
<config-property name="ConfigName">test</config-property>
重要
上記の設定では、" ConfigName" の値が指定されますが、JAX-RS クライアントで現在使用されてい
る cxf フレームワークではそれを使用するオプションが提供されません。このため、このリソースア
ダプターのすべての HTTP 通信に適用する " *.http-conduit" を使用します。
2 つ目の方法は D elegation です。ユーザーが JD BC/OD BC を使用して Kerberos ですでに Teiidor にログ
インしている場合や、web 階層で SPNEGO を使用し、Teiid へのパススルー認証を使用する場合は、
Kerberos のために新しいトークンをネゴシエートする必要はありません。システムは既存のトークンを委
任できます。委任を設定するには、" negotiation" と jboss-cxf-xxx.xml ファイルで定義されたようにセ
75
管理および設定ガイド
キュリティードメインをセットアップします。ただし、 jboss-cxf-xxx.xml ファイルから次の行を削除して
ください (新しいトークンがネゴシエートされません)。
<sec:Authorization>MY_REALM</sec:Authorization>
Web サービスリソースアダプターの作成で以下のプロパティーを追加します。最初の部分では、
" kerberos" セキュリティーを使用することを定義し、2 つ目の部分では、データソースで使用するセキュ
リティードメインを定義します。この場合は、ログインしているユーザーにパススルーするセキュリティー
ドメインを使用します。
<config-property name="SecurityType">Kerberos</config-property>
<security>
<security-domain>passthrough-security</security-domain>
</security>
" passthrough-security" セキュリティードメインを設定するには、以下のように " 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>
注記
ユーザー名とパスワードはオプションです。コンテキストで認証済みサブジェクトが利用できない
場合は、これらにより、単純な静的ユーザーを簡単に作成できるようになります。ただし、サブジェ
クトが必要な kerberos トークンを持っていないため、このユーザーは kerberos 認証を使用しませ
ん。
バグを報告する
6.10. 管理コンソールを使用したデプロイ済み仮想データベースの管理
6.10.1. 管理コンソールを使用したデプロイ済み仮想データベースの管理
管理者は、Vi rtual D atabases パネル内からデプロイ済み仮想データベースを管理できます。
バグを報告する
6.10.2. 仮想データベースパネルを開く
1. JBoss 管理コンソールにログインします。
2. R unti me タブを選択します。
76
⁠第6 章 仮想データベース
3. ナビゲーションツリーから、St at u s → Su b syst ems → Virt u al D at ab ases を選択します。
バグを報告する
6.10.3. 仮想データベースパネル
Vi rtual D atabases パネルには、情報とともにデプロイされたすべてのデータベースのリスト
(D epl o yed VD BS 以下) と各データベースの R el o ad オプションが表示されます。
タブのセットが利用可能であり、管理者は現在選択されているデータベースのさまざまな側面を管理できま
す。
概要
概要タブは、VD B の概要を提供します。説明、エラー、接続タイプ、インポートされた VD B、
および VD B に関連付けられたすべてのプロパティーが表示されます。
モデル
モデルタブには、各モデルのトランスレーター名とソース接続 JND I 名を含む、該当する VD B に
定義されたすべてのモデルが表示されます。また、各モデルのタイプとそれがマルチソースであ
るかどうかも示されます。特定のモデルが選択された場合は、定義されたそのモデルのすべての
プロパティーと、モデルに関連付けられたすべてのエラーも表示されます。
VD B が " アクティブ" でない場合は、モデルのエラーを検証し、修正してデプロイメント問題を
解決する必要があります。
" D D L" ボタンは、該当するモデルのスキーマを表示します。
注記
D D L ボタンは、Teiid D esigner を使用して設計された XML ベースモデルには機能しませ
ん。
ツールでは、ユーザーがトランスレーター名または JND I 名をダブルクリックし、変更すること
によりこれらを編集できます。これは、環境で JND I 名を変更する場合に役に立ちます。
オーバーライド
Teiid D esigner でトランスレーターをオーバーライドした場合、このタブにはオーバーライドさ
れたすべてのトランスレーターとそのプロパティーが表示されます。
キャッシュ
このキャッシュパネルには、キャシュがどれぐらい効果的に使用されるかなど結果セットキャッ
シュのキャッシュ統計が表示されます。また、VD B のすべての内部マテリアライズビューと、
これらがいつロードされたかなどのロードステータスも表示されます。さらに、ソースからコン
テンツを更新/リロードできるように特定のビューまたは VD B 内のすべてのビューを無効にする
オプションが提供されます。
このパネルは、結果セットキャッシュ内容全体または選択した VD B の準備済み計画キャッシュ
内容を破棄する UI を提供します。
データロール
データロールタブには、Teiid D esigner を使用して VD B で定義された、または vdb.xml ファイ
ルで手動でコーディングされたすべてのポリシーが表示されます。選択された各ポリシーに対し
77
管理および設定ガイド
て、ユーザーが持つ権限の種類などの、そのポリシーに対する " パーミッション" がリストされ、
そのポリシーに対してマップされたエンタープライズロール割り当てが表示されます。この UI を
使用して、エンタープライズロールをポリシーに追加したり、ポリシーからエンタープライズ
ロールを削除したりすることもできます。
要求
要求タブには、VD B の選択時に選択した VD B に対する現在のすべての要求が表示されます。
" refresh" をクリックすると、最新の要求が表示されます。パネルの上部テーブルには、クエリー
エンジンにユーザーが送信した要求が表示されます。これらのいずれかの要求が選択されると、
下部テーブルには物理ソースに送信されたすべてのソースレベルクエリーが表示されます。
この UI を使用して、ユーザーはユーザーレベルクエリーに " キャンセル" 要求を送信することも
できます。" キャンセル" は非同期操作であるため、この操作は保証されません。キャンセルが送
信されるまでにクエリーがすでに完了している場合があります。
セッション
セッションタブには、選択した VD B に接続されたすべてのアクティブセッションが表示されま
す。また、接続プロパティーと選択したセッションまたはすべてのセッションを修了するオプ
ションも表示されます。
バグを報告する
78
⁠第7 章 バージョン管理
第7章 バージョン管理
7.1. 仮想データベースバージョン管理
仮装データベース (VD B) バージョン管理を使用すると、VD B の複数のバージョンを同時にデプロイし、特
定のシナリオで使用するバージョンを指定できます。
アプリケーションが JBoss D ata Virtualization に接続した場合に、接続プロパティーを使用して VD B の
必要なバージョンを設定できます (詳細については、『Red Hat JBoss D ata Virtualization User
Guide』を参照)。
特定のバージョンが設定された場合は、その VD B にのみ接続できます。バージョンが設定されてない場合
は、適切なバージョンが見つかるまで、デプロイされた VD B が検索されます。この機能により、よりダイ
ナミックな移行シナリオがサポートされます。
バグを報告する
7.2. VDB バージョンの設定
バージョンの設定は、vd b. xml ファイル (ダイナミック VD B で有用) を使用するか、またはデプロイメン
トファイルの命名規則で指定することによって (VDBNAME.VERSION. vd b など) 行えます。デプロイヤー
は、適切なバージョン番号を選択します。すでに現在のデプロイメントに一致する VD B の名前とバージョ
ンの組み合わせが存在する場合は、前の VD B への接続が終了し、キャッシュエントリがフラッシュされま
す。新しい接続は、新しい VD B に対して行われます。
バグを報告する
7.3. 仮想データベース接続タイプ
VD B がデプロイされたら、接続タイプと呼ばれるプロパティーを設定できます。このプロパティーを使用
して、VD B に対して行うことができる接続を決定します。接続タイプは以下のいずれかになります。
N O N E: 新しい接続を許可しません。
B Y_VER SIO N : (デフォルト設定) では、バージョンが指定された場合、またはバージョンが最も初期
の BY_VERSION VD B であり、ANY とマークされた VD B がない場合にのみ接続が許可されます。
AN Y: 指定されたバージョンを使用して、または使用せずに接続を許可します。
一部のアプリケーションだけを新しいバージョンの VD B に移行する場合は、BY_VERSION に設定しま
す。これにより、新しいバージョンを認識するアプリケーションだけがそのバージョンを使用できます。
特定の複数のアプリケーションのみを現在の VD B バージョンに維持する場合は、現在の VD B をそのバー
ジョンで参照する接続設定を更新する必要があります。新しくデプロイされた VD B の接続タイプは、ANY
に 設定され、すべての新しい接続を新しいバージョンに対して行えるようになります。
このシナリオでロールバックを行う必要がある場合、新しくデプロイされる VD B の接続タイプは NONE ま
たは BY_VERSION に設定されます。
バグを報告する
7.4 . 管理 API を使用して VDB 接続タイプを設定
79
管理および設定ガイド
VD B 接続タイプは、管理 API パッケージ (o rg . tei i d . ad mi napi ) 内の Admin インターフェースによ
り提供された chang eVD BC o nnecti o nT ype メソッドを使用して変更できます。
Red Hat JBoss D ata Virtualization 向け Javadocs は Red Hat カスタマーポータルで利用できます。
バグを報告する
80
⁠第8 章 リソースアダプター
第8章 リソースアダプター
8.1. JBoss Dat a Virt ualiz at ion のリソースアダプター
JBoss D ata Virtualization は JD BC データソースを除くサポート対象の各データソースに対して JCA ア
ダプターを提供します。サーバー設定ファイルで指定されたように、以下のものがリソースアダプター識別
子になります。
ファイルアダプター - fi l e
Google スプレッドシートアダプター - g o o g l e
Red Hat JBoss D ata Grid (6.1 & 6.2) アダプター - i nfi ni span
LD AP アダプター - l d ap
Salesforce アダプター - sal esfo rce
Web サービスアダプター - webservi ce
Mongo D B アダプター (テクニカルプレビュー) - mo ng o d b
注記
JD BC トランスレーターのリソースアダプターは、デフォルトで JBoss EAP により提供されます。
バグを報告する
8.2. リソースアダプターの設定
VD B で必要なデータソースのリソースアダプターを設定するには、管理コンソール、AdminShell、または
管理 CLI を使用します (スタンドアロンモードでは、サーバー設定ファイルを直接編集します)。
注記
ドメインモードでは、管理 CLI、管理コンソール、または AdminShell を使用してデータソースを設
定する必要があります。管理コンソールを使用してリソースアダプターを設定する方法の例について
は、JBoss Enterprise Application Platform 『管理および設定ガイド』を参照してください。
バグを報告する
8.3. 設定例
設定例 (サーバー設定ファイルに含まれます) は、EAP_HOME/d o cs/tei i d /d ataso urces/ ディレク
トリーにあります。
81
管理および設定ガイド
注記
この設定では、使用しているインストールに応じてファイルパスとプロパティーを調整する必要が
あります。JND I 名は VD B で使用されているのと同じ JND I 名である必要があります。
バグを報告する
8.4 . リソースアダプタープロパティー
設定プロパティーの完全なリストについては、管理 CLI 内で以下のコマンドを実行します。
/subsystem=teiid:read-rar-description(rar-name=ADAPTER_ID)
ADAPTER_ID は、サーバー設定ファイルで指定されたリソースアダプターの識別子を表します。
バグを報告する
8.5. CLI スクリプトを使用してリソースアダプターを設定
リソースアダプターを設定するには、この方法が推奨されます。
JBoss D ata Virtualization は、提供される各リソースアダプターを設定する管理 CLI サンプルスクリプト
を提供します。特定のリソースアダプターのスクリプト
は、EAP_HOME/d o cs/tei i d /d ataso urces/DATASOURCE ディレクトリーにあります。
管理 CLI を使用してリソースアダプターを設定する場合は、プロパティーファイルを提供する必要がありま
す。サンプルプロパティーファイルは、サンプルスクリプトと同じディレクトリーで提供されます。
これらのスクリプトを実行するには、以下のコマンドを実行します (JBoss D ata Virtualization が実行され
た後)。
./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
管理 CLI の詳細については、JBoss Enterprise Application Platform 『管理および設定ガイド』を参照し
てください。
注記
これらのスクリプトでは、使用しているインストールに応じてファイルパスとプロパティーを調整
する必要があります。JND I 名は VD B で使用されているのと同じ JND I 名である必要があります。
バグを報告する
8.6. リソースアダプターの手動での設定
サーバーがスタンドアロンモードで実行されている場合は、リソースアダプターを手動で設定できます。
82
⁠第8 章 リソースアダプター
手順8.1 リソースアダプターの手動での設定
1. JBoss Enterprise Application Platform サーバーを停止します。
2. 編集するために、サーバー設定ファイルを開きます。
3. reso urce-ad apters サブシステムを見つけます (<subsystem
xml ns= "urn: jbo ss: d o mai n: reso urce-ad apters: 1. 0 "> を探してください)。
4. このサブシステムに対して定義されているリソースアダプターがない場合は、最初に reso urcead apters ブロックを指定します。
<subsystem xmlns="urn:jboss:domain:resource-adapters:1.0">
<resource-adapters>
</resource-adapters>
</subsystem>
5. reso urce-ad apters タグ内にリソースアダプター設定を追加します。例を以下に示します。
<subsystem xmlns="urn:jboss:domain:resource-adapters:1.0">
<resource-adapters>
<resource-adapter>
<connection-definitions>
<connection-definition classname="org.teiid.resource.adapter.file.FileManagedConnectionFactory"
jndi-name="java:/fileDS"
enabled="true"
use-java-context="true"
pool-name="teiid-file-ds">
<config-property
name="ParentDirectory">/home/rareddy/testing/<config-property>
<config-property
name="AllowParentPaths">true<config-property>
<connection-definition>
<connection-definitions>
<resource-adapter>
<resource-adapters>
<subsystem>
6. JBoss Enterprise Application Platform サーバーを再起動し、新しい設定で実行します。
バグを報告する
8.7. ファイルアダプタープロパティー
以下の表では、ファイルリソースアダプターに設定できる設定プロパティーについて説明しています。
設定プロパティー
ParentD irectory
例
説明
データファイルが格納されるディ
レクトリー。
83
管理および設定ガイド
設定プロパティー
例
説明
FileMapping
file1.txt=fileX.txt,file2.txt=fileY.txt
AllowParentPaths
true
特定の相対パス (大文字と小文字
を区別) を代替の場所にリダイレ
クトするよう FileMapping を設
定します。文字列値は、
key=value(,key=value)* という
形式でマップを指定します。これ
はオプションです。
パスで '..' を許可しない場合は
AllowParentPaths を false に設
定します。これにより、親ディレ
クトリーに含まれないファイルが
要求されることが回避されます。
これはオプションです。
バグを報告する
8.8. Google スプレッドシートリソースアダプタープロパティー
8.8.1. Google スプレッドシートリソースアダプタープロパティー
以下の表では、Google スプレッドシートリソースアダプターに対して設定できる設定プロパティーについ
て説明しています。
設定プロパティー
説明
AuthMethod
これは、Google にアクセスするために使用する認
証方法です。このプロパティー
は、C l i entLo g i n または O Auth2 に設定できま
す。設定が C l i entLo g i n の場合は、Username
と P asswo rd の 2 つの追加パラメーターを提供す
る必要があります。設定が O Auth2 の場合
は、R efreshT o ken を提供する必要があります。
AuthMetho d = O Auth2 の場合のみ必須です。
Google アカウントのユーザー
名。AuthMetho d = C l i entLo g i nの場合のみ必
須です。
Google アカウントのパスワー
ド。AuthMetho d = C l i entLo g i n の場合のみ必
須です。
このリソースアダプターが接続するスプレッドシー
トの名前。必須です。
一度にフェッチできる行の最大数。デフォルト値は
4096 です。
RefreshToken
Username
Password
SpreadsheetName
BatchSize
バグを報告する
8.8.2. OAut h 更新トークンの取得
OAuth 認証で Google スプレッドシートリソースアダプターを使用する場合は、 OAuth 更新トークンを取
得する必要があります。
手順8.2 O Au t h 更新トークンの取得
84
⁠第8 章 リソースアダプター
1. 承認コードを取得する
次のリンクをクリックします: Get Authorization Code
Al l o w access をクリックして、T eiid G o o g le C o n n ect o r がスプレッドシートが存在する
Google アカウントにアクセスすることを許可します。
2. 更新トークンを取得する
前の手順の承認コードを以下の POST 要求の co d e フィールドにコピーし、コマンドラインから
実行します。
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
更新トークンが応答に含まれます。
バグを報告する
8.9. JBoss Dat a Grid リソースアダプタープロパティー
JBoss D ata Grid (JD G) リソースアダプターは、以下のキャッシュモードをサポートするよう設定できま
す。
キャッシュタイプ
キャッシュの取得手段
リモートキャッシュ
リモートキャッシュ
リモートキャッシュ
JND I の使用
指定された 1 つ以上のホストとポートの組み合わせ
指定された HotRod クライアントプロパティー
ファイルの参照
以下の表は、リソースアダプターに設定できる設定プロパティーを示しています。
プロパティー名
必須
プロパティーテンプレー 説明
ト
CacheTypeMap
Y
cacheName:className
[;pkFieldName]
[,cacheName:classNam
e[;pkFieldName]..]
module
N
CacheJndiName
N
このプロパティーは、
ルート Java クラス名を
キャッシュにマップ
し、プライマリーキーを
識別します。
このプロパティーは、
CacheTypeMap で定義
されたキャッシュクラス
を含む JBoss EAP モ
ジュールを指定します。
これは、
CacheContainer を見つ
けるために使用する
JND I 名です。
85
管理および設定ガイド
プロパティー名
必須
プロパティーテンプレー 説明
ト
RemoteServerList
N
host:port[;host:portâ​¦.]
ConfigurationFileNam
eForLocalCache
N
HotRodClientPropertie
sFile
N
このプロパティーは、
CacheTypeMap で定義
されたキャッシュにアク
セスするために一緒にク
ラスタ化するホスト (お
よびポート) を指定しま
す。
これは、ローカルキャッ
シュを設定するための
XML 設定ファイルで
す。
これは、リモートキャッ
シュに対する接続を設定
するための HotRod プロ
パティーファイルです。
バグを報告する
8.10. LDAP アダプタープロパティー
以下の表は、LD AP リソースアダプターに設定できる設定プロパティーを示しています。
設定プロパティー
プロパティーテンプレート
LdapUrl
LdapAdminUserD N
cn=???,ou=???,dc=???
LdapAdminUserPassword
LdapTxnTimeoutInMillis
説明
LD AP ディレクトリー URL。こ
のプロパティーは必須です。
LD AP 管理ユーザー D N。このプ
ロパティーは必須です。
LD AP 管理パスワード。このプロ
パティーは必須です。
LD AP トランザクションタイムア
ウト (ミリ秒単位)。-1 = タイムア
ウトなし。このプロパティーは必
須です。
バグを報告する
8.11. Salesforce アダプタープロパティー
以下の表は、Salesforce リソースアダプターに設定できる設定プロパティーを示しています。
設定プロパティー
説明
URL
username
password
requestTimeout
接続先の URL。
ユーザー名。
パスワード。
これは、タイムアウトを設定するオプションのプロ
パティーであり、CXF 設定により指定することも
できます。
これは、タイムアウトを設定するオプションのプロ
パティーであり、CXF 設定により指定することも
できます。
connectTimeout
86
⁠第8 章 リソースアダプター
設定プロパティー
説明
configFile
このプロパティーを使用して、SalesForce サービ
スの特定の設定を提供します。この設定には、ネー
ムスペース " urn:partner.soap.sforce.com" で
" SforceService" サービスの設定を含める必要があ
ります。
バグを報告する
8.12. Web サービスアダプタープロパティー
以下の表は、Web サービスリソースアダプターに設定できる設定プロパティーを示しています。
設定プロパティー
例
EndPoint
SecurityType
AuthUserName
AuthPassword
RequestTimeout
HTTPBasic
ConnectTimeout
ConfigFile
EndPointName
WebSVC
説明
Web サービス用エンドポイント
URL
http 基本セキュリティーの使用
http 基本セキュリティーの使用
http 基本セキュリティーの使用
これは、タイムアウトを設定する
オプションのプロパティーであ
り、CXF 設定により指定するこ
ともできます。
これは、タイムアウトを設定する
オプションのプロパティーであ
り、CXF 設定により指定するこ
ともできます。
これらのプロパティーを使用し
て、このサービスの特定の CXF
設定を提供します。このファイル
には、" EndPointName" プロパ
ティーで定義された名前の設定を
含める必要があります。
ConfigFile とともに使用します。
これらのプロパティーは、この
サービスの特定の CXF 設定を提
供します。
バグを報告する
8.13. MongoDB アダプタープロパティー
以下の表は、MongoD B リソースアダプターに設定できる設定プロパティーを示しています。
設定プロパティー
例
説明
RemoteServerList
localhost:27017
host:port[;host:port...]* という形
式の MongoD B サーバーリスト
データベース名。
このプロパティーをパスワードと
ともに使用してクレデンシャルを
提供します。
D atabase
Username
87
管理および設定ガイド
設定プロパティー
Password
バグを報告する
88
例
説明
このプロパティーをユーザー名と
ともに使用してクレデンシャルを
提供します。
⁠第9 章 CXF 設定
第9章 CXF 設定
9.1. CXF 設定
設定で CXF を使用する場合は、データソース設定ファイルとポート設定を指定する必要があります。
ConfigFile プロパティー (リソースアダプターサブシステム用のサーバー設定ファイルで設定される) は、
Spring XML 設定ファイルを指定します (設定ファイルが指定されない場合は、システムのデフォルト設定
が使用されます)。
ConfigName プロパティー (同様にリソースアダプターサブシステム用のサーバー設定ファイルで設定され
る) は、ポート設定を指定します。これを必要なポート QName のローカル部分に設定します。
設定ファイルプロパティーは、/subsystem= reso urce-ad apters/reso urcead apter= webservi ce/co nnecti o n-d efi ni ti o ns= wsD S/co nfi g pro perti es= C o nfi g Fi l e: ad d (val ue= ${jbo ss. server. ho me. d i r}/stand al o ne/co nfi
g urati o n/xxx-jbo ssws-cxf. xml ) を介して指定されます。
バグを報告する
9.2. Web サービスデータソース用 CXF の設定
前提条件
Web サービスデータソースが設定されている必要があります。
手順9 .1 Web サービスデータソース用 C XF の設定
1. Web サービス C XF C o nfi g Fi l e の指定
管理 CLI 内から以下のコマンドを実行してデータソースの CXF 設定ファイルを指定します。
/subsystem=resource-adapters/resourceadapter=webservice/connection-definitions=wsDS/configproperties=ConfigFile:add(value=CONFIG-FILE.xml)
2. Web サービス C XF C o nfi g Name の指定
管理 CLI 内から以下のコマンドを実行し、値としてポート QName (ローカル部分のみ) を使用して
ポート設定を指定します。
/subsystem=resource-adapters/resourceadapter=webservice/connection-definitions=wsDS/configproperties=ConfigName:add(value=CONFIG-NAME)
3. C XF 設定ファイルの作成/編集
EAP_HOME/MODE/co nfi g urati o n/CONFIG-FILE. xml 設定ファイルを開くか、作成しま
す。
<http-conf:conduit name="{NAMESPACE}CONFIG-NAME.http-conduit">
...
</http-conf:conduit>
89
管理および設定ガイド
注記
CONFIG-NAME は、上述したものと同じであり、デフォルト値はtei i d で
す。NAMESPACE は設定ファイルの QName に対するネームスペース URI であり、データ
ソースの WSD L/ネームスペース設定に一致する必要があります (または、デフォルトの
" http://teiid.org" を使用します)。ネームスペースはネームスペースデータソースプロパ
ティーを介して設定できます。通常、これは WSD L 設定を提供する場合のみ行う必要があ
ります。
以下に、タイムアウトを設定する CXF ファイルの例を示します。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:httpconf="http://cxf.apache.org/transports/http/configuration"
xsi:schemaLocation="http://cxf.apache.org/transports/http/configura
tion
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>
注記
Web サービスデータソースの場合、CXF 設定は非バイナリーコールにのみ適用できます。
バグを報告する
9.3. Web サービスデータソース用 CXF の設定: WS-Securit y
前提条件
Web サービスデータソースが設定され、C o nfi g Fi l e プロパティーと C o nfi g Name プロパティー
が CXF に対して設定されている必要があります。
手順9 .2 Web サービスデータソース用 C XF の設定: WS- Secu rit y
1. C XF Securi tyT ype の指定
管理 CLI 内から以下のコマンドを実行して、Securi tyT ype の値として WSSecuri ty を使用し
ます。
90
⁠第9 章 CXF 設定
/subsystem=resource-adapters/resourceadapter=webservice/connection-definitions=wsDS/configproperties=SecurityType:add(value=WSSecurity)
2. C XF 設定ファイルの変更
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/springbeans.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>
注記
WSD L は、使用するサービスを定義することを目的としません。
Spring XML 設定ファイルは、関連するポリシー設定を含む必要があります。
クライアントポート設定は、C O NFIG -NAME によりデータソースインスタンスに対して照合され
ます。この設定には、異なるローカル名を持つ他のポート設定が含まれることがあります。
参考資料
WS-Security および CXF 設定オプションの詳細については、http://cxf.apache.org/docs/wssecurity.html を参照してください。
91
管理および設定ガイド
バグを報告する
9.4 . Web サービスデータソース用 CXF の設定: ロギング
CXF 設定は、特定またはすべてのポートに対する要求および応答のロギングを制御できます。ロギング (有
効な場合) は、o rg . apache. cxf. i ntercepto r コンテキストに対する INFO レベルで実行されます。
前提条件
Web サービスデータソースが設定され、C o nfi g Fi l e プロパティーと C o nfi g Name プロパティー
が CXF に対して設定されている必要があります。
手順9 .3 Web サービスデータソース用 C XF の設定: ロギング
C XF 設定ファイルの変更
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-andlogging.html を参照してください。
バグを報告する
9.5. Web サービスデータソース用 CXF の設定: トランスポート設定
CXF 設定は、HTTP トランスポートの低レベルの側面を制御することもできます。
前提条件
Web サービスデータソースが設定され、C o nfi g Fi l e プロパティーと C o nfi g Name プロパティー
が CXF に対して設定されている必要があります。
92
⁠第9 章 CXF 設定
手順9 .4 Web サービスデータソース用 C XF の設定: トランスポート設定
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/springbeans.xsd">
<http-conf:conduit name="{http://teiid.org}teiid.http-conduit">
<http-conf:tlsClientParameters disableCNcheck="tru" />
</http-conf:conduit>
</beans>
警告
本番稼働環境では、d i sabl eC Ncheck= true を使用しないでください。
バグを報告する
9.6. Web サービスデータソース用 CXF の設定: SSL サポート (HT T PS)
HTTPS を使用する場合は、以下のように CXF 設定を指定できます。
<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"/>
93
管理および設定ガイド
</sec:trustManagers>
</http-conf:tlsClientParameters>
</http-conf:conduit>
</beans>
http-conduit ベースの設定の詳細については、http://cxf.apache.org/docs/client-http-transportincluding-ssl-support.html を参照してください。また、HTTPBasic や Kerberos などのサービスも設定
できます。
バグを報告する
9.7. Salesforce データソース用 CXF の設定
前提条件
Salesforce データソースが設定されている必要があります。
手順9 .5 Salesf o rce データソース用 C XF の設定
1. 管理 CLI 内から以下のコマンドを実行してデータソースの CXF 設定ファイルを指定します。
/subsystem=resource-adapters/resource-adapter=salesforce/connectiondefinitions=sfDS/config-properties=ConfigFile:add(value=CONFIGFILE.xml)
2. 管理 CLI 内から以下のコマンドを実行し、値としてポート QName (ローカル部分のみ) を使用して
ポート設定を指定します (このケースでは So ap)。
/subsystem=resource-adapters/resource-adapter=salesforce/connectiondefinitions=sfDS/config-properties=ConfigName:add(value=Soap)
3. EAP_HOME/MODE/co nfi g urati o n/CONFIG-FILE. xml 設定ファイルを開くか、作成しま
す。C o nfi g Name の値として So ap を使用して QName のネームスペース URI を
{urn: partner. so ap. sfo rce. co m} に設定します。
<http-conf:conduit name="{urn:partner.soap.sforce.com}Soap.httpconduit">
...
</http-conf:conduit>
以下に、タイムアウト値を設定する CXF ファイルの例を示します。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:httpconf="http://cxf.apache.org/transports/http/configuration"
xsi:schemaLocation="http://cxf.apache.org/transports/http/configura
tion
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-
94
⁠第9 章 CXF 設定
conduit">
<http-conf:client ConnectionTimeout="120000"
ReceiveTimeout="240000"/>
</http-conf:conduit>
</beans>
注記
Salesforce データソース用 CXF 設定は、http バス設定にのみ使用されます。これは WS-Security
には使用されません。Salesforce には独自のセキュリティー認証があります。
バグを報告する
95
管理および設定ガイド
第10章 JDBC データソース
10.1. JDBC データソースの設定
JBoss D ata Virtualization が JD BC データソースに接続する場合は、以下の 2 つの手順に従って、JBoss
EAP インスタンスでデータソースを設定する必要があります。
1. JD BC JAR ドライバーファイルをインストール (またはデプロイ) します。
2. JBoss EAP でデータソースとして作成 (または設定) します。
注記
データソースの設定の包括的な情報については、『Red Hat JBoss Enterprise Application
Platform 管理および設定ガイド』を参照してください。
バグを報告する
10.2. 設定例
設定例 (サーバー設定ファイルに含まれます) は、EAP_HOME/d o cs/tei i d /d ataso urces/ ディレク
トリーにあります。
注記
この設定では、使用しているインストールに応じてファイルパスとプロパティーを調整する必要が
あります。JND I 名は VD B で使用されているのと同じ JND I 名である必要があります。
バグを報告する
10.3. 管理 CLI で JDBC ドライバーをインストール
手順10.1 管理 C LI で JD B C ドライバーをインストール
1. 管理 CLI を起動します: . /EAP _HO ME/bi n/jbo ss-cl i . sh
2. co nnect コマンドを入力します。
3. d epl o y PATH/FILE. jar コマンドを入力します: d epl o y o jd bc6 . jar
4. q ui t コマンドを入力します。
バグを報告する
10.4 . 管理コンソールを用いた JDBC ドライバーのインストール
概要
96
⁠第1 0 章 JDBC データソース
アプリケーションが JD BC データソースに接続する前に、データソースベンダーの JD BC ドライバーを
JBoss EAP 6 が使用できる場所にインストールする必要があります。JBoss EAP 6 では、これらのドライ
バーを他のデプロイメントと同じようにデプロイできます。そのため、管理対象ドメインを使用する場合
は、サーバーグループ内の複数のサーバー全体でドライバーをデプロイできます。
前提条件
このタスクを実行する前に、以下の前提条件を満たしている必要があります。
データベースのベンダーから JD BC ドライバーをダウンロードする必要があります。
注記
JD BC 4 対応のドライバーは自動的に認識され、名前とバージョンによってシステムへインストール
されます。JD BC JAR は、Java サービスプロバイダーのメカニズムを使用して識別されます。この
ような JAR には、JAR のドライバークラスの名前が含まれる META-INF/services/java.sql.D river
テキストが含まれています。
手順10.2 JD B C ドライバー JAR の編集
JD BC ドライバー JAR が JD BC 4 未対応である場合、以下の方法でデプロイ可能にすることができます。
1. 空の一時ディレクトリーに移動するか、空の一時ディレクトリーを作成します。
2. META-INF サブディレクトリーを作成します。
3. META-INF/services サブディレクトリーを作成します。
4. JD BC ドライバーの完全修飾クラス名を示す 1 行が含まれる、META-INF/services/java.sql.D river
ファイルを作成します。
5. JAR コマンドラインツールを使用して、次のように JAR を更新します。
jar \-uf jdbc-driver.jar META-INF/services/java.sql.Driver
6. 「管理コンソールにログインします。」
7. 管理ドメインを使っている場合は、JAR ファイルをサーバーグループにデプロイします。それ以外
の場合は、サーバーにデプロイします。詳細については、『JBoss EAP 6 管理および設定ガイド』
の項「管理コンソールでのデプロイ」を参照してください。
結果
JD BC ドライバーがデプロイされ、アプリケーションが使用できるようになります。
バグを報告する
10.5. 管理インターフェースによる非 XA データソースの作成
概要
ここでは、管理コンソールまたは管理 CLI のいずれかを使用して非 XA データソースを作成する手順につい
て取り上げます。
97
管理および設定ガイド
要件
JBoss EAP 6 サーバーが稼働している必要があります。
注記
バージョン 10.2 以前の Oracle データソースでは非トランザクション接続とトランザクション接続
が混在するとエラーが発生したため、<no-tx-separate-pools/> パラメーターが必要でした。一部の
アプリケーションでは、このパラメーターが不要になりました。
手順10.3 管理 C LI または管理コンソールのいずれかを使用したデータソースの作成
A. 管理 C LI
a. CLI ツールを起動し、サーバーに接続します。
b. 以下のコマンドを実行して非 XA データソースを作成し、適切に変数を設定します。
data-source add --name=DATASOURCE_NAME --jndi-name=JNDI_NAME -driver-name=DRIVER_NAME --connection-url=CONNECTION_URL
c. データソースを有効にします。
data-source enable --name=DATASOURCE_NAME
B. 管理コンソール
a. 管理コンソールへログインします。
b. 管理コンソールの D ataso urces パネルに移動します。
i. コンソールの上部から C o nfi g urati o n タブを選択します。
ii. ドメインモードの場合は、左上のドロップダウンボックスからプロファイルを選択
します。
iii. コンソールの左側にある Su b syst ems メニューを展開し、C o n n ect o r メニュー
を展開します。
iv. コンソールの左側にあるメニューより D at aso u rces を選択します。
c. 新しいデータソースを作成します。
i. D ataso urces パネルの上部にある Ad d を選択します。
ii. C reate D ataso urce ウィザードで新しいデータソースの属性を入力し、Next ボ
タンを押します。
iii. C reate D ataso urce ウィザードで JD BC ドライバーの詳細を入力し、Next を
クリックします。
iv. C reate D ataso urce ウィザードで接続設定を入力します。
v. T est C o nnecti o n ボタンをクリックしてデータソースへの接続をテストし、設
定が正しいことを確認します。
98
⁠第1 0 章 JDBC データソース
vi. D o ne をクリックして終了します。
結果
非 XA データソースがサーバーに追加されます。stand al o ne. xml または d o mai n. xml ファイル、お
よび管理インターフェースで追加を確認できます。
バグを報告する
10.6. 管理インターフェースによる XA データソースの作成
概要
ここでは、管理コンソールまたは管理 CLI のいずれかを使用して XA データソースを作成する手順について
取り上げます。
注記
バージョン 10.2 以前の Oracle データソースでは非トランザクション接続とトランザクション接続
が混在するとエラーが発生したため、<no-tx-separate-pools/> パラメーターが必要でした。一部の
アプリケーションでは、このパラメーターが不要になりました。
手順10.4 管理 C LI または管理コンソールのいずれかを使用した XA データソースの作成
A. 管理 C LI
a. 「管理 CLI の起動」
b. 以下のコマンドを実行して XA データソースを作成し、適切に変数を設定します。
xa-data-source add --name=XA_DATASOURCE_NAME --jndiname=JNDI_NAME --driver-name=DRIVER_NAME --xa-datasourceclass=XA_DATASOURCE_CLASS
c. XA データソースプロパティーの設定
i. サーバー名の設定
次のコマンドを実行し、ホストのサーバー名を設定します。
/subsystem=datasources/xa-datasource=XA_DATASOURCE_NAME/xa-datasourceproperties=ServerName:add(value=HOSTNAME)
ii. データベース名の設定
次のコマンドを実行し、データベース名を設定します。
/subsystem=datasources/xa-datasource=XA_DATASOURCE_NAME/xa-datasourceproperties=DatabaseName:add(value=DATABASE_NAME)
99
管理および設定ガイド
d. データソースを有効にします。
xa-data-source enable --name=XA_DATASOURCE_NAME
B. 管理コンソール
a. 「管理コンソールにログインします。」
b. 管理コンソールの D ataso urces パネルに移動します。
i. コンソールの上部から C o nfi g urati o n タブを選択します。
ii. ドメインモードの場合は、左上のドロップダウンボックスからプロファイルを選択
します。
iii. コンソールの左側にある Su b syst ems メニューを展開し、C o n n ect o r メニュー
を展開します。
iv. D at aso u rces を選択します。
c. XA D ataso urce タブを選択します。
d. 新しい XA データソースを作成します。
i. Ad d をクリックします。
ii. C reate XA D ataso urce ウィザードに新しい XA データソースの属性を入力
し、Next をクリックします。
iii. C reate XA D ataso urce ウィザードに JD BC ドライバーの詳細を入力し、Next
をクリックします。
iv. XA プロパティーを入力し、Next をクリックします。
v. C reate XA D ataso urce ウィザードで接続設定を入力します。
vi. T est C o nnecti o n ボタンをクリックして XA データソースへの接続をテスト
し、設定が正しいことを確認します。
vii. D o ne をクリックして終了します。
結果
XA データソースがサーバーに追加されます。追加内容は stand al o ne. xml または d o mai n. xml ファ
イルのどちらかと、管理インターフェースで確認することができます。
バグを報告する
10.7. データソースのパラメーター
表10.1 非 XA および XA データソースに共通のデータソースパラメーター
パラメーター
説明
jndi-name
pool-name
enabled
データソースの一意の JND I 名。
データソースの管理プール名。
データソースが有効かどうかを指定します。
100
⁠第1 0 章 JDBC データソース
パラメーター
説明
use-java-context
データソースをグローバルの JND I にバインドする
かどうかを指定します。
JD BC レイヤーで spy 機能を有効にします。この
機能は、データソースへの JD BC トラフィックを
すべてログに記録します。ロギングカテゴリーの
jbo ss. jd bc. spy もロギングサブシステムのロ
グレベルである D EBUG に設定する必要があること
に注意してください。
キャッシュ接続マネージャーを有効にします。
接続プールに接続が追加された時に実行する SQL
ステートメント。
次のいずれかになります。
spy
use-ccm
new-connection-sql
transaction-isolation
TRANSACTION_READ _UNCOMMITTED
TRANSACTION_READ _COMMITTED
TRANSACTION_REPEATABLE_READ
TRANSACTION_SERIALIZ ABLE
TRANSACTION_NONE
url-selector-strategy-class-name
security
validation
timeout
statement
インターフェース
o rg . jbo ss. jca. ad apters. jd bc. UR LSel e
cto rStrateg y を実装するクラス。
セキュリティー設定である子要素が含まれます。表
10.6「セキュリティーパラメーター」を参照して
ください。
検証設定である子要素が含まれます。表10.7「検証
パラメーター」を参照してください。
タイムアウト設定である子要素が含まれます。表
10.8「タイムアウトパラメーター」を参照してくだ
さい。
ステートメント設定である子要素が含まれます。表
10.9「ステートメントのパラメーター」を参照して
ください。
表10.2 非 XA データソースのパラメーター
パラメーター
説明
jta
非 XA データソースの JTA 統合を有効にします。
XA データソースには適用されません。
JD BC ドライバーの接続 URL。
JD BC ドライバークラスの完全修飾名。
D ri ver. co nnect(url ,pro ps) メソッドに
渡される任意の接続プロパティー。各 connectionproperty は、文字列名と値のペアを指定します。
プロパティー名は名前、値は要素の内容に基づいて
います。
プーリング設定である子要素が含まれます。表
10.4「非 XA および XA データソースに共通のプー
ルパラメーター」を参照してください。
高可用性 (HA) クラスター化されたデータベースの
connection-url にある URL の区切り文字。 connection-url
driver-class
connection-property
pool
url-delimiter
表10.3 XA データソースのパラメーター
101
管理および設定ガイド
表10.3 XA データソースのパラメーター
パラメーター
説明
xa-datasource-property
実装クラス XAD ataSo urce に割り当てるプロパ
ティー。name=value で指定されます。 setName
という形式で setter メソッドが存在する場合、プロ
パティーは setName(value) という形式の
setter メソッドを呼び出すことで設定されます。
実装クラス javax. sq l . XAD ataSo urce の完全
修飾名。
JD BC ドライバーが含まれるクラスローダーモ
ジュールへの一意参
照。driverName#majorVersion.minorVersion の形式
にのみ対応しています。
プーリング設定である子要素が含まれます。表
10.4「非 XA および XA データソースに共通のプー
ルパラメーター」および表10.5「XA プールパラ
メーター」を参照してください。
リカバリー設定である子要素が含まれます。表
10.10「リカバリーパラメーター」を参照してくだ
さい。
xa-datasource-class
driver
xa-pool
recovery
表10.4 非 XA および XA データソースに共通のプールパラメーター
パラメーター
説明
min-pool-size
max-pool-size
prefill
プールが保持する最小接続数
プールが保持可能な最大接続数
接続プールのプレフィルを試行するかどうかを指定
します。要素が空の場合は true を示します。デ
フォルト値は、fal se です。
pool-size が厳密かどうかを指定します。デフォル
ト値は fal se に設定されています。
エラーの場合にプールをフラッシュするかどうかを
指定します。有効な値は次の通りです。
use-strict-min
flush-strategy
FailingConnectionOnly
IdleConnections
EntirePool
デフォルト値は Fai l i ng C o nnecti o nO nl y で
す。
allow-multiple-users
複数のユーザーが getConnection(user,
password) メソッドを使いデータソースへアクセ
スするかどうか、および内部プールタイプがこの動
作に対応するかを指定します。
表10.5 XA プールパラメーター
パラメーター
説明
is-same-rm-override
javax. transacti o n. xa. XAR eso urce. i sS
ameR M(XAR eso urce) クラスが true あるいは
fal se のどちらを返すかを指定します。
102
⁠第1 0 章 JDBC データソース
パラメーター
説明
interleaving
XA 接続ファクトリーのインターリービングを有効
にするかどうかを指定します。
コンテキスト毎に sub-pool を作成するかどうか。
これには Oracle のデータソースが必要ですが、
JTA トランザクションの内部と外部の両方で XA 接
続が使用できなくなります。
no-tx-separate-pools
このオプションを使用することにより、2 つの実際
のファイルが作成されるため、プールサイズの合計
が max-po o l -si ze の 2 倍になります。
pad-xid
wrap-xa-resource
Xid のパディングを行うかどうかを指定します。
XAResource を
o rg . jbo ss. tm. XAR eso urceWrapper インス
タンスでラップするかどうかを指定します。
表10.6 セキュリティーパラメーター
パラメーター
説明
user-name
password
security-domain
新規接続の作成に使うユーザー名
新規接続の作成に使うパスワード
認証処理を行う JAAS security-manager 名が含ま
れます。この名前は、JAAS ログイン設定の
application-policy/name 属性に相関します。
物理接続の再認証に使う再認証プラグインを定義し
ます。
reauth-plugin
表10.7 検証パラメーター
パラメーター
説明
valid-connection-checker
SQ LExcepti o n. i sVal i d C o nnecti o n(C o n
necti o n e) メソッドを提供し接続を検証するイ
ンターフェース
o rg . jbo ss. jca. ad apto rs. jd bc. Val i d C
o nnecti o nC hecker の実装。例外が発生すると
接続が破棄されます。存在する場合、checkval i d -co nnecti o n-sq l パラメーターが上書
きされます。
プール接続の妥当性を確認する SQL ステートメン
ト。これは、管理接続をプールから取得し利用する
場合に呼び出される場合があります。
接続ファクトリーが指定のセットに対して管理され
た接続に一致させようとした時に接続レベルの検証
を実行するかどうかを示します。
check-valid-connection-sql
validate-on-match
通常、val i d ate-o n-match に「true」を指定し
た時に backg ro und -val i d ati o n を「true」
に指定することはありません。クライアントが使用
前に接続を検証する必要がある場合に Val i d ateo n-match が必要になります。このパラメーター
はデフォルトでは false になっています。
103
管理および設定ガイド
パラメーター
説明
background-validation
接続がバックグラウンドスレッドで検証されること
を指定します。val i d ate-o n-match を使用し
ない場合、バックグラウンドの検証はパフォーマン
スを最適化します。val i d ate-o n-match が
true の時に backg ro und -val i d ati o n を使用
すると、チェックが冗長になることがあります。
バックグラウンド検証では、不良の接続がクライア
ントに提供される可能性があります (検証スキャン
と接続がクライアントに提供されるまでの間に接続
が悪くなります)。そのため、クライアントアプリ
ケーションはこの接続不良の可能性に対応する必要
があります。
バックグラウンド検証を実行する期間 (ミリ秒単
位)。
true の場合、接続が無効であれば最初に接続を割り
当てしようとした時点で失敗します。デフォルト値
は fal se です。
ブール値の
i sStal eC o nnecti o n(SQ LExcepti o n e) メ
ソッドを提供する
o rg . jbo ss. jca. ad apters. jd bc. Stal eC o
nnecti o nC hecker のインスタンス。このメソッ
ドが true を返すと、SQ LExcepti o n のサブクラ
スである
o rg . jbo ss. jca. ad apters. jd bc. Stal eC o
nnecti o nExcepti o n に例外がラップされま
す。
ブール値である
i sExcepti o nFatal (SQ LExcepti o n e) メ
ソッドを提供する
o rg . jbo ss. jca. ad apters. jd bc. Excepti
o nSo rter のインスタンス。このメソッドは、例
外が co nnecti o nErro rO ccurred メッセージ
として
javax. reso urce. spi . C o nnecti o nEventL
i stener のすべてのインスタンスへブロードキャ
ストされるかどうかを検証します。
background-validation-millis
use-fast-fail
stale-connection-checker
exception-sorter
表10.8 タイムアウトパラメーター
パラメーター
説明
use-try-lock
l o ck() の代わりに tryLo ck() を使用します。
これは、ロックが使用できない場合に即座に失敗す
るのではなく、設定された秒数間ロックの取得を試
みます。デフォルト値は 6 0 秒です。たとえば、タ
イムアウトを 5 分に設定するには、<use-tryl o ck>300</use-try-l o ck> を設定します。
接続待機中にブロックする最大時間 (ミリ秒)。この
時間を超過すると、例外が発生します。これは、接
続許可の待機中のみブロックし、新規接続の作成に
長時間要している場合は例外が発生しません。デ
フォルト値は 30000 (30 秒) です。
blocking-timeout-millis
104
⁠第1 0 章 JDBC データソース
パラメーター
説明
idle-timeout-minutes
アイドル接続が切断されるまでの最大時間 (分単
位)。実際の最大時間は idleRemover のスキャン時
間によって異なります。idleRemover のスキャン
時間はプールの最小 i d l e-ti meo ut-mi nutes
の半分になります。
トランザクションがタイムアウトするまでの残り時
間を基にクエリーのタイムアウトを設定するかどう
かを指定します。トランザクションが存在しない場
合は設定済みのクエリーのタイムアウトが使用され
ます。デフォルト値は fal se です。
クエリーのタイムアウト (秒)。デフォルト値はタイ
ムアウトなしです。
例外を発生させる前に接続の割り当てを再試行する
回数。デフォルト値は 0 で、初回の割り当て失敗
で例外が発生します。
接続の割り当てを再試行するまで待機する期間 (ミ
リ秒単位)。デフォルト値は 5000 (5 秒) です。
ゼロでない場合、この値は
XAR eso urce. setT ransacti o nT i meo ut メ
ソッドへ渡されます。
set-tx-query-timeout
query-timeout
allocation-retry
allocation-retry-wait-millis
xa-resource-timeout
表10.9 ステートメントのパラメーター
パラメーター
説明
track-statements
接続がプールへ返され、ステートメントが準備済み
ステートメントキャッシュへ返された時に、閉じら
れていないステートメントをチェックするかどうか
を指定します。false の場合、ステートメントは追
跡されません。
有効な値
true: ステートメントと結果セットが追跡さ
れ、ステートメントが閉じられていない場合は
警告が出力されます。
fal se: ステートメントと結果セットのいずれ
も追跡されません。
no warn: ステートメントは追跡されますが、警
告は出力されません。これがデフォルト設定と
なっています。
prepared-statement-cache-size
share-prepared-statements
LRU (Least Recently Used) キャッシュにある接続
毎の準備済みステートメントの数。
閉じずに同じステートメントを 2 回要求した場合
に、同じ基盤の準備済みステートメントを使用する
かどうかを指定します。デフォルト値は fal se で
す。
表10.10 リカバリーパラメーター
パラメーター
説明
recover-credential
リカバリーに使用するユーザー名とパスワードのペ
ア、あるいはセキュリティドメイン。
105
管理および設定ガイド
パラメーター
説明
recover-plugin
リカバリーに使用される
o rg . jbo ss. jca. co re. spi . reco veryR eco
veryP l ug i n クラスの実装。
バグを報告する
10.8. JDBC ドライバーをダウンロードできる場所
以下の表は、JBoss EAP 6 で使用する一般的なデータベースの JD BC ドライバーをダウンロードする場所
を示しています。これらのリンク先は、Red Hat が管理および監視していない他社の Web サイトでありま
す。データベースの最新のドライバーについては、データベースのベンダーのドキュメントや Web サイト
を確認してください。
表10.11 JD B C ドライバーをダウンロードできる場所
ベンダー
ダウンロード場所
MySQL
PostgreSQL
Oracle
http://www.mysql.com/products/connector/
http://jdbc.postgresql.org/
http://www.oracle.com/technetwork/database/feat
ures/jdbc/index-091264.html
http://www-306.ibm.com/software/data/db2/java/
http://www.sybase.com/products/allproductsaz/softwaredeveloperkit/jconnect
http://msdn.microsoft.com/data/jdbc/
IBM
Sybase
Microsoft
バグを報告する
106
⁠第1 1 章 ロギング
第11章 ロギング
11.1. ロギングの概要
JBoss EAP 6 は、独自の内部使用とデプロイされたアプリケーションによる使用のために設定可能な高度
なロギング機能を提供します。ロギングサブシステムは JBoss LogManager を基盤とし、JBoss Logging
以外にも複数のサードパーティーアプリケーションのロギングフレームワークをサポートします。
ロギングサブシステムは、ログカテゴリーとログハンドラーのシステムを使用して設定されます。ログカテ
ゴリーはキャプチャーするメッセージを定義し、ログハンドラーはこれらのメッセージの処理方法を定義
します (ディスクへの書き込みやコンソールへの送信など)。
ロギングプロファイルは、一意に名前が付けられたロギング設定のセットを作成し、他のロギング設定に依
存しないアプリケーションへ割り当てることが可能です。ロギングプロファイルの設定はメインのロギング
サブシステムとほぼ同じです。
バグを報告する
11.2. デフォルトのログファイルの場所
これらは、デフォルトのロギング設定に対して作成されたログファイルです。デフォルトの設定では、周期
的なログハンドラーを使用してサーバーログファイルが書き込まれます。
表11.1 スタンドアロンサーバーのデフォルトログファイル
ログファイル
説明
EAP_HOME/stand al o ne/l o g /server. l o g
サーバーログ。サーバー起動メッセージなど、すべ
てのサーバーログメッセージが含まれます。
ガベッジコレクションのログ。ガベッジコレク
ションすべての詳細が含まれます。
EAP_HOME/stand al o ne/l o g /g c. l o g
表11.2 管理対象ドメイン用のデフォルトログファイル
ログファイル
説明
EAP_HOME/d o mai n/l o g /ho stco ntro l l er. l o g
ホストコントローラーのブートログ。ホストコント
ローラーの起動に関連するログメッセージが含まれ
ます。
プロセスコントローラーのブートログ。プロセスコ
ントローラーの起動に関連するログメッセージが含
まれます。
名前付きサーバーのサーバーログ。サーバー起動
メッセージなど、そのサーバーのすべてのログメッ
セージが含まれます。
EAP_HOME/d o mai n/l o g /pro cessco ntro l l er. l o g
EAP_HOME/d o mai n/servers/SERVERNAME/l
o g /server. l o g
バグを報告する
11.3. JBoss Dat a Virt ualiz at ion ログカテゴリー
EAP ログファイル内では、JBoss D ata Virtualization に固有なすべての情報には、o rg . tei i d ログカテ
ゴリー識別子の接頭辞が付けられます。
107
管理および設定ガイド
JBoss D ata Virtualization に関係ないサードパーティーのコードと他のコンポーネント (統合された
org.jboss コンポーネントを含む) のログには、o rg . tei i d ではなく独自のログカテゴリー識別子の接頭
辞が付けられます。
以下の表は、JBoss D ata Virtualization に関連するカテゴリーの概要を示しています。完全なリストにつ
いては、stand al o ne-tei i d . xml (ドメインモードの場合は d o mai n-tei i d . xml for domain
mode) を参照してください。
表11.3 JB o ss D at a Virt u aliz at io n ログカテゴリー
ログカテゴリー
説明
com.arjuna
サードパーティートランザクションマネージャー。これには、JBoss
D ata Virtualization のトランザクションだけではなくすべてのトラン
ザクションに関する情報が含まれます。
すべての JBoss D ata Virtualization ログのルートカテゴリー識別
子。注記: org.teiid には、この表に示されているよりも多いコンテキ
ストがある場合があります。
クエリー処理ログ。org.teiid.PLANNER も参照してください。
クエリー計画ログ。
セッション/認証イベント。org.teiid AUD IT_LOG も参照してくださ
い。
ソケットトランスポートに関連するイベント。
ワーク管理およびシステムの起動/終了に関連するイベント。
コネクターログ。
バッファーおよびストレージ管理ログ。
すべてのトランザクション操作の詳細なログ。
「コマンドロギング」を参照してください。
「監査ロギング」を参照してください。
管理 API ログ。
OD BC ログ。
org.teiid
org.teiid.PROCESSOR
org.teiid.PLANNER
org.teiid.SECURITY
org.teiid.TRANSPORT
org.teiid.RUNTIME
org.teiid.CONNECTOR
org.teiid.BUFFER_MGR
org.teiid.TXN_LOG
org.teiid.COMMAND _LOG
org.teiid.AUD IT_LOG
org.teiid.AD MIN_API
org.teiid.OD BC
注記
ロギングの詳細については、JBoss Enterprise Application Platform 『管理および設定ガイド』 を
参照してください。
バグを報告する
11.4 . コマンドロギング
コマンドロギングは、JBoss D ata Virtualization に送信されたユーザーコマンド、クエリー計画コマンド
(クエリー計画が実行された場合)、およびコネクターにより実行されるデータソースコマンドを取得しま
す。
ユーザーコマンド " START USER COMMAND " は、JBoss D ata Virtualization でクエリーが初めて実行さ
れたときにログに記録されます。これには、クエリーがキューで待機した時間は含まれません。対応する
ユーザーコマンド " END USER COMMAND " は、要求が完全な場合 (つまり、ステートメントが閉じられた
場合、またはすべてのバッチが取得された場合) にログに記録されます。各ユーザークエリーに対してこれ
らのペアが 1 つだけ存在します。
108
⁠第1 1 章 ロギング
クエリー計画コマンド " PLAN USER COMMAND " は、JBoss D ata Virtualization でクエリー計画プロセ
スが完了したときにログに記録されます。対応する終了ログエントリーはありません。
データソースコマンド " START D ATA SRC COMMAND " は、クエリーがデータソースに送信されたときに
ログに記録されます。対応するデータソースコマンド " END SRC COMMAND " は、実行が閉じられたとき
(つまり、すべての行が読み取られたとき) にログに記録されます。JBoss D ata Virtualization により実行
される各データソースクエリーに対して 1 つのペア、ユーザーのクエリーに応じて複数のペアが存在するこ
とがあります。
この情報が取得される場合は、全体的なクエリー実行時間を計算できます。また、各ソースクエリー実行時
間も計算できます。全体的なクエリー実行時間がパフォーマンスの問題を示している場合は、どこに問題が
存在するのかを調べるために各データソース実行時間を確認してください。
この情報が取得される場合は、Teiid で全体的なクエリー実行時間を計算できます。また、各ソースクエ
リー実行時間も計算できます。全体的なクエリー実行時間がパファーマンスの問題を示している場合は、ど
こに問題が存在するのかを調べるために各データソース実行時間を確認してください。
デフォルトのログの場所に対してコマンドロギングを有効にするには、org.teiid.COMMAND _LOG コンテ
キストのロギングの D ETAIL レベルを有効にします。
別のファイルの場所に対してコマンドロギングを有効にするには、org.teiid.COMMAND _LOG コンテキス
トの D ETAIL ロギングに対して個別のファイルアペンダーを設定します。この例は以下で示されており、
Teiid で配布された standalone-teiid.xml でも見つけることができます。
<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>
カスタムロギングソリューションの開発については、『Red Hat JBoss D ata Virtualization D evelopment
Guide: Server D evelopment』を参照してください (ファイルベース (または他の組み込み log4j) ロギング
が十分でない場合)。
以下は、データソースコマンドの例であり、コマンドログに出力される内容を示しています。
2012-02-22 16:01:53,712 DEBUG [org.teiid.COMMAND_LOG]
(Worker1_QueryProcessorQueue11 START DATA SRC COMMAND: startTime=2012-0222 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
109
管理および設定ガイド
(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 コマンドとは限らず、クエリーエンジンがプッシュする内容を示します。
バグを報告する
11.5. コマンドロギングの有効化
コマンドロギングを有効にするには、" D EBUG" ログレベルで " org.teiid.COMMAND _LOG" ログカテゴ
リーを設定します。
コマンドロギングをデフォルトのログファイル以外のファイルに送信するには、ロガーが特定のハンドラー
を使用するよう設定します。
バグを報告する
11.6. コマンドログ出力
以下は、コマンドログに出力されたデータソースコマンドの例を示しています。
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'})
以下の情報に注意してください。
mo d el Name は、クエリーが発行される物理モデルを表します。
transl ato rName は、データソースと通信するために使用するトランスレーターのタイプを示しま
す。
110
⁠第1 1 章 ロギング
pri nci pal は、クエリーを実行したユーザーのアカウントを示します。
startT i me/end T i me は、アクションの時間です。これは実行されるコマンドのタイプに基づきま
す。
sq l は、実行のためにトランスレーターに送信されたコマンドです。これは、必ずしも実際のデータ
ソースに送信された最終的な SQL コマンドではなく、クエリーエンジンがプッシュダウンするコマン
ドを示しています。
バグを報告する
11.7. 監査ロギング
監査ロギングは、パーミッションの適用や認証の合否を含む重要なセキュリティーイベントを取得しま
す。
カスタムロギングソリューションの開発については、『Red Hat JBoss D ata Virtualization D evelopment
Guide: Server D evelopment』を参照してください (ファイルベース (または他の組み込み log4j) ロギング
が十分でない場合)。
バグを報告する
11.8. 監査ロギングの有効化
監査ロギングを有効にするには、" D EBUG" ログレベルで " org.teiid.AUD IT_LOG" ログカテゴリーを設定
します。
監査ロギングをデフォルトのログファイル以外のファイルに送信するには、ロガーが特定のハンドラーを使
用するよう設定します。
セッションが作成されると、セッション id と vdb 名前/バージョンがそれぞれ teiid-session と teiid-vdb
のキーとともに各ログの MD C (Mapped D iagnostic Context) に含まれます。カスタムロガーまたは
フォーマットパターンはこの情報を使用してログエントリーの関連付けを向上させます。メッセージの前に
セッション id を含めるパターンフォーマットを使用する Teiid のデフォルトの standalone-teiid.xml の例
は以下のとおりです。
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %X{teiidsession} %s%E%n"/>
バグを報告する
11.9. 管理コンソールのログカテゴリーの設定
1. 管理コンソールへログインします。
2. 管理コンソールの Lo g g i ng パネルに移動します。
a. A. スタンドアロンモード
コンソールの右上より P ro fi l e タブを選択します。
B. ドメインモード
i. コンソールの右上より P ro fi l es タブを選択します。
111
管理および設定ガイド
ii. 左上のドロップダウンボックスより該当するプロファイルを選択します。
iii. コンソールの左側にある Su b syst ems メニューを展開します。
b. コンソールの左側のメニューで C o re → Lo g g in g と選択します。
3. 新しいログカテゴリの追加
a. Lo g C ateg o ri es タブを選択します。
b. Lo g C ateg o ri es パネルの上部にある Ad d ボタンを選択します。
c. Name をログカテゴリーに設定し、Lo g Level も設定します。
d. ログカテゴリーでデフォルトのログハンドラーを使用しない場合は、Use P arent
Hand l ers のチェックボックスをオフにします。
e. Save を選択します。
4. ログハンドラーの設定
a. D etai l s セクションに、新しいログカテゴリーに設定された特定のハンドラーが表示され
ます。このセクション内で Ad d を選択し、使用する特定のログハンドラーを指定します。
最初にハンドラーを設定する必要がある場合があります。
バグを報告する
11.10. CLI でのログカテゴリー設定
ログカテゴリーは CLI で追加、削除、および編集できます。
ログカテゴリーを設定するために実行する主なタスクは次のとおりです。
新しいログカテゴリーの追加
ログカテゴリーの設定表示
ログレベルの設定
ログカテゴリーへのログハンドラーの追加
ログカテゴリーからのログハンドラーの削除
ログカテゴリーの削除
重要
ログカテゴリーをスタンドアロンシステムのロギングプロファイルで設定する場合、設定パスのルー
トは /subsystem= l o g g i ng / ではなく /subsystem= l o g g i ng /l o g g i ng pro fi l e= NAME/ になります。
管理対象ドメインの場合は、使用するプロファイルを指定する必要があります。管理対象ドメインの
設定パスの先頭にプロファイル名を追加する必要があります (/subsystem= l o g g i ng / を
/pro fi l e= NAME/subsystem= l o g g i ng / に置き換えます)。
ログカテゴリーの追加
112
⁠第1 1 章 ロギング
次の構文で ad d 操作を使用します。CATEGORY は追加するカテゴリーに置き換えます。
/subsystem=logging/logger=CATEGORY:add
例11.1 新規カテゴリーの追加
[standalone@ localhost:9999 /]
/subsystem=logging/logger=com.company.accounts.rec:add
{"outcome" => "success"}
[standalone@ localhost:9999 /]
ログカテゴリーの設定の表示
次の構文で read -reso urce 操作を使用します。CATEGORY はカテゴリー名に置き換えます。
/subsystem=logging/logger=CATEGORY:read-resource
例11.2 ログカテゴリーの read - reso u rce 操作
[standalone@ localhost:9999 /]
/subsystem=logging/logger=org.apache.tomcat.util.modeler:readresource
{
"outcome" => "success",
"result" => {
"category" => "org.apache.tomcat.util.modeler",
"filter" => undefined,
"filter-spec" => undefined,
"handlers" => undefined,
"level" => "WARN",
"use-parent-handlers" => true
}
}
[standalone@ localhost:9999 /]
ログレベルの設定
次の構文で wri te-attri bute 操作を使用します。CATEGORY の箇所はログカテゴリー名
に、LEVEL は設定するログレベルに置き換えます。
/subsystem=logging/logger=CATEGORY:write-attribute(name="level",
value="LEVEL")
例11.3 ログレベルの設定
[standalone@ localhost:9999 /]
/subsystem=logging/logger=com.company.accounts.rec:writeattribute(name="level", value="DEBUG")
{"outcome" => "success"}
[standalone@ localhost:9999 /]
113
管理および設定ガイド
ルートロガーのログハンドラーを使用するためのログカテゴリの設定
次の構文で wri te-attri bute 操作を使用します。CATEGORY はログカテゴリ名に置き換えま
す。root ロガーのハンドラーを使用するためのこのログカテゴリには、BOOLEAN を true に置き
換えます。独自の割り当てられたハンドラーのみを使用する場合には false に置き換えてくださ
い。
/subsystem=logging/logger=CATEGORY:write-attribute(name="useparent-handlers", value="BOOLEAN")
例11.4 u se- p aren t - h an d lers の設定
[standalone@ localhost:9999 /]
/subsystem=logging/logger=com.company.accounts.rec:writeattribute(name="use-parent-handlers", value="true")
{"outcome" => "success"}
[standalone@ localhost:9999 /]
ログカテゴリへのログハンドラ追加
次の構文で ad d -hand l er 操作を使用します。CATEGORY はカテゴリー名に、HANDLER は追
加するハンドラーの名前に置き換えます。
/subsystem=logging/logger=CATEGORY:add-handler(name="HANDLER")
ログハンドラーを作成してから、ログハンドラーをルートロガーへ追加する必要があります。
例11.5 ログハンドラーの追加
[standalone@ localhost:9999 /]
/subsystem=logging/logger=com.company.accounts.rec:addhandler(name="AccountsNFSAsync")
{"outcome" => "success"}
ログカテゴリからのログハンドラの削除
次の構文で remo ve-hand l er 操作を使用します。CATEGORY はカテゴリー名に、HANDLER
は削除するログハンドラーの名前に置き換えます。
/subsystem=logging/logger=CATEGORY:remove-handler(name="HANDLER")
例11.6 ログハンドラーの削除
[standalone@ localhost:9999 /]
/subsystem=logging/logger=jacorb:removehandler(name="AccountsNFSAsync")
{"outcome" => "success"}
[standalone@ localhost:9999 /]
カテゴリーの削除
114
⁠第1 1 章 ロギング
次の構文で remo ve 操作を使用します。CATEGORY は削除するカテゴリーの名前に置き換えま
す。
/subsystem=logging/logger=CATEGORY:remove
例11.7 ログカテゴリの削除
[standalone@ localhost:9999 /]
/subsystem=logging/logger=com.company.accounts.rec:remove
{"outcome" => "success"}
[standalone@ localhost:9999 /]
バグを報告する
11.11. 管理コンソールでの周期的なログハンドラーの設定
1. 管理コンソールへログインします。
2. 管理コンソールの Lo g g i ng パネルに移動します。
a. A. スタンドアロンモード
コンソールの右上より P ro fi l e タブを選択します。
B. ドメインモード
i. コンソールの右上より P ro fi l es タブを選択します。
ii. 左上のドロップダウンボックスより該当するプロファイルを選択します。
iii. コンソールの左側にある Su b syst ems メニューを展開します。
b. コンソールの左側のメニューで C o re → Lo g g in g と選択します。
3. 新しいログハンドラーの追加
a. Hand l er タブを選択し、次に P eri o d i c リンクを選択します。
b. パネル上部にある Ad d ボタンを選択します。
c. ハンドラーの詳細を設定し、Save を選択します。
注記
Ed i t を選択して、選択したハンドラーのさまざまな詳細をカスタマイズできます。
バグを報告する
11.12. CLI での周期ログハンドラーの設定
115
管理および設定ガイド
周期ログハンドラーは、CLI で追加、削除、および編集できます。
周期ログハンドラーを設定するために実行する主なタスクは以下のとおりです。
新しい周期ログハンドラーの追加
周期ログハンドラーの設定表示
ハンドラーのログレベルの設定
ハンドラーの追加動作の設定
ハンドラーが auto fl ush を使用するかどうかの設定
ハンドラーの出力に使用されるエンコーディングの設定
ログハンドラーが書き込むファイルの指定
ハンドラーの出力に使用されるフォーマッターの設定
ローテーションされるログの接尾辞の設定
周期ログハンドラーの削除
これらの各タスクについては以下で説明します。
重要
ログハンドラーをスタンドアロンシステムのロギングプロファイルで設定する場合、設定パスのルー
トは /subsystem= l o g g i ng / ではなく /subsystem= l o g g i ng /l o g g i ng pro fi l e= NAME/ になります。
管理対象ドメインの場合は、使用するプロファイルを指定する必要があります。管理対象ドメインの
設定パスの先頭にプロファイル名を追加する必要があります (/subsystem= l o g g i ng / を
/pro fi l e= NAME/subsystem= l o g g i ng / に置き換えます)。
新しい周期ローテーションファイルログハンドラーの追加
次の構文で ad d 操作を使用します。
/subsystem=logging/periodic-rotating-filehandler=HANDLER:add(file={"path"=>"PATH", "relative-to"=>"DIR"},
suffix="SUFFIX")
HANDLER をログハンドラーの名前に置き換えます。PATH をログが書き込まれるファイルの
ファイル名に置き換えます。DIR をファイルが存在するディレクトリーの名前に置き換えま
す。DIR の値をパス変数に指定できます。SUFFIX を、使用するファイルローテーション接尾辞
に置き換えます。
例11.8 新しいハンドラーの追加
[standalone@ localhost:9999 /] /subsystem=logging/periodicrotating-file-handler=HOURLY_DEBUG:add(file={"path"=>"dailydebug.log", "relative-to"=>"jboss.server.log.dir"},
suffix=".yyyy.MM.dd")
116
⁠第1 1 章 ロギング
{"outcome" => "success"}
[standalone@ localhost:9999 /]
周期ローテーションファイルログハンドラー設定の表示
次の構文で read -reso urce 操作を使用します。
/subsystem=logging/periodic-rotating-file-handler=HANDLER:readresource
HANDLER をログハンドラーの名前に置き換えます。
例11.9 read - reso u rce 操作の使用
[standalone@ localhost:9999 /] /subsystem=logging/periodicrotating-file-handler=HOURLY_DEBUG:read-resource
{
"outcome" => "success",
"result" => {
"append" => true,
"autoflush" => true,
"encoding" => undefined,
"file" => {
"path" => "daily-debug.log",
"relative-to" => "jboss.server.log.dir"
},
"filter" => undefined,
"formatter" => "%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n",
"level" => undefined
}
}
ログレベルの設定
次の構文で wri te-attri bute 操作を使用します。
/subsystem=logging/periodic-rotating-file-handler=HANDLER:writeattribute(name="level". value="LOG_LEVEL_VALUE")
HANDLER を周期ログハンドラーの名前に置き換えます。LOG_LEVEL_VALUE を設定するログレ
ベルに置き換えます。
例11.10 ログレベルの設定
[standalone@ localhost:9999 /] /subsystem=logging/periodicrotating-file-handler=HOURLY_DEBUG:writeattribute(name="level", value="DEBUG")
{"outcome" => "success"}
追加動作の設定
次の構文で wri te-attri bute 操作を使用します。
117
管理および設定ガイド
/subsystem=logging/periodic-rotating-handler=HANDLER:writeattribute(name="append", value="BOOLEAN")
HANDLER を周期ログハンドラーの名前に置き換えます。アプリケーションサーバーが起動され
るたびに新しいログファイルを作成する必要がある場合は、BOOLEAN を fal se に置き換えま
す。アプリケーションサーバーが同じファイルを使用し続ける必要がある場合は、BOOLEAN を
true に置き換えます。
この変更を反映するには、JBoss EAP 6 を再起動する必要があります。
例11.11 追加動作の設定
[standalone@ localhost:9999 /] /subsystem=logging/periodicrotating-file-handler=HOURLY_DEBUG:writeattribute(name="append", value="true")
{
"outcome" => "success",
"response-headers" => {
"operation-requires-reload" => true,
"process-state" => "reload-required"
}
}
自動フラッシュの設定
次の構文で wri te-attri bute 操作を使用します。
/subsystem=logging/periodic-rotating-file-handler=HANDLER:writeattribute(name="autoflush", value="BOOLEAN")
HANDLER を周期ログハンドラーの名前に置き換えます。このハンドラーがすぐに出力を書き込
む場合は、BOOLEAN を true に置き換えます。
この変更を反映するには、JBoss EAP 6 を再起動する必要があります。
例11.12 自動フラッシュ動作の設定
[standalone@ localhost:9999 /] /subsystem=logging/periodicrotating-file-handler=HOURLY_DEBUG:writeattribute(name="autoflush", value="false")
{
"outcome" => "success",
"response-headers" => {"process-state" => "reload-required"}
}
エンコーディングの設定
次の構文で wri te-attri bute 操作を使用します。
/subsystem=logging/periodic-rotating-file-handler=HANDLER:writeattribute(name="encoding", value="ENCODING")
118
⁠第1 1 章 ロギング
HANDLER を周期ログハンドラーの名前に置き換えます。ENCODING を必要な文字エンコー
ディングシステムの名前に置き換えます。
例11.13 エンコーディングの設定
[standalone@ localhost:9999 /] /subsystem=logging/periodicrotating-file-handler=HOURLY_DEBUG:writeattribute(name="encoding", value="utf-8")
{"outcome" => "success"}
ログハンドラーが書き込むファイルの変更
次の構文で wri te-attri bute 操作を使用します。
/subsystem=logging/periodic-rotating-file-handler=HANDLER:writeattribute(name="file", value={"path"=>"PATH", "relativeto"=>"DIR"})
HANDLER を周期ログハンドラーの名前に置き換えます。PATH をログが書き込まれるファイル
のファイル名に置き換えます。DIR をファイルが存在するディレクトリーの名前に置き換えま
す。DIR の値をパス変数に指定できます。
例11.14 ログハンドラーが書き込むファイルの変更
[standalone@ localhost:9999 /] /subsystem=logging/periodicrotating-file-handler=HOURLY_DEBUG:write-attribute(name="file",
value={"path"=>"daily-debug.log", "relativeto"=>"jboss.server.log.dir"})
{"outcome" => "success"}
フォーマッターの設定
次の構文で wri te-attri bute 操作を使用します。
/subsystem=logging/periodic-rotating-file-handler=HANDLER:writeattribute(name="formatter", value="FORMAT")
HANDLER を周期ログハンドラーの名前に置き換えます。FORMAT を必要なフォーマッター文字
列に置き換えます。
例11.15 フォーマッターの設定
[standalone@ localhost:9999 /] /subsystem=logging/periodicrotating-file-handler=HOURLY_DEBUG:writeattribute(name="formatter", value="%d{HH:mm:ss,SSS} %-5p [%c]
(%t) %s%E%n")
{"outcome" => "success"}
[standalone@ localhost:9999 /]
ローテーションされるログの接尾辞の設定
次の構文で wri te-attri bute 操作を使用します。
119
管理および設定ガイド
/subsystem=logging/periodic-rotating-file-handler=HANDLER:writeattribute(name="suffix", value="SUFFIX")
HANDLER をログハンドラーの名前に置き換えます。SUFFIX を必要なサフィックス文字列に置
き換えます。
例11.16
[standalone@ localhost:9999 /] /subsystem=logging/periodicrotating-file-handler=HOURLY_DEBUG:writeattribute(name="suffix", value=".yyyy-MM-dd-HH")
{"outcome" => "success"}
[standalone@ localhost:9999 /]
周期ログハンドラーの削除
次の構文で remo ve 操作を使用します。
/subsystem=logging/periodic-rotating-file-handler=HANDLER:remove
HANDLER を周期ログハンドラーの名前に置き換えます。
例11.17 周期ログハンドラーの削除
[standalone@ localhost:9999 /] /subsystem=logging/periodicrotating-file-handler=HOURLY_DEBUG:remove
{"outcome" => "success"}
[standalone@ localhost:9999 /]
バグを報告する
120
⁠第1 2 章 クラスタリング
第12章 クラスタリング
12.1. JBoss Dat a Virt ualiz at ion のクラスタリング
クラスタリングは、以下の機能を使用してシステムのパフォーマンスを向上させるために使用できます。
負荷分散
複数のノード間の負荷分散については、『Red Hat JBoss D ata Virtualization D evelopment
Guide: Client D evelopment』を参照してください。
フェイルオーバー
複数のノードとのフェイルオーバーについては、『Red Hat JBoss D ata Virtualization
D evelopment Guide: Client D evelopment』を参照してください。
分散キャッシング
これは、クラスタリングが設定されている場合に自動的に行われます。
イベント分散
クラスタリングが設定されている場合、メタデータとデータの変更はクラスターのすべてのメン
バーに分散されます。
バグを報告する
12.2. JBoss Dat a Virt ualiz at ion でのクラスタリングの有効化
各 JBoss EAP ノードに JBoss D ata Virtualization がインストールされていることと、クラスターを開始
する前に、stand al o ne-ha. xml プロファイルまたは stand al o ne-ful l -ha. xml プロファイルの
いずれかを使用して JBoss EAP が起動されていることを確認します (これらのプロファイルは名前が示す
ように高可用性またはクラスタリングを提供します)。
以下のサンプルコードで示されたように、すべてのキャッシュはデフォルトでローカルに設定されます。
<cache-container name="teiid-cache" default-cache="resultset">
<local-cache name="resultset-repl" batching="true"> <locking
isolation="READ_COMMITTED"/>
<transaction mode="NON_XA"/>
<eviction strategy="LIRS" max-entries="1024"/>
<expiration lifespan="7200000"/>
</local-cache>
<local-cache name="resultset" batching="true">
<locking isolation="READ_COMMITTED"/>
<transaction mode="NON_XA"/>
<eviction strategy="LIRS" max-entries="1024"/>
<expiration lifespan="7200000"/>
</local-cache>
<local-cache name="preparedplan" batching="true">
<locking isolation="READ_COMMITTED"/>
<eviction strategy="LIRS" max-entries="512"/>
<expiration lifespan="28800"/>
121
管理および設定ガイド
</local-cache>
</cache-container>
したがって、キャッシュを分散する場合は、これを設定する必要があります。
詳細については、『Red Hat JBoss D ata Virtualization Installation Guide』 と Red Hat JBoss
Enterprise Application Platform のドキュメンテーションを参照してください。
注記
クラスタリングが使用されている場合は、ファイルデプロイメントを介して VD B などのアーティ
ファクトをデプロイできません。VD B デプロイメントの他のメソッドを使用してください。
バグを報告する
12.3. 負荷分散の設定
Teiid JD BC ドライバーは、実際の負荷分散を実行しません。負荷分散を使用すると、URL で定義された
host:port の組み合わせ全体でクエリーをルーティングできますが、負荷に基づいて実行されません。代わ
りに HAProxy を使用する必要があります。
バグを報告する
122
⁠第1 3章 キャッシング
第13章 キャッシング
13.1. 結果セットキャッシュ
13.1.1. 結果セットキャッシュ
JBoss D ata Virtualization は、特定のユーザークエリーおよび仮想プロシージャーコールの結果をキャッ
シュできます。このキャッシュ手段により、システムのユーザーが同じクエリーを送信したり、同じプロ
シージャーを頻繁に実行したりする場合に、パフォーマンスが大幅に向上することがあります。
バグを報告する
13.1.2. 結果セットキャッシュ機能
結果セットキャッシュは、以下の機能のサポートを提供します。
XML ドキュメントモデル結果を含むユーザークエリー結果をキャッシュできます。
仮想プロシージャー結果をキャッシュできます。
結果は、VD B/ユーザー (レプリケート済み) またはセッションレベルとしてアトミックにスコープ指定
できます。
ユーザーは、キャッシュエントリーの数と Time To Live を設定できます。
キャッシュは管理ツールでクリアできます。
バグを報告する
13.1.3. ユーザークエリー結果キャッシュ
ユーザークエリー結果セットキャッシュは、完全に一致する受信 SQL 文字列と PreparedStatement パラ
メーター値 (存在する場合) に基づいて結果セットをキャッシュします。キャッシュは、SELECT、設定ク
エリー、およびストアドプロシージャー実行ステートメントにのみ適用されます。SELECT INTO ステート
メント、INSERT、UPD ATE、または D ELETE ステートメントには適用されません。
エンドユーザーまたはクライアントアプリケーションは、結果セットキャッシュを使用するかどうかを明
示的に指定します。これは、JD BC ResultSetCacheMode 実行プロパティーを true (デフォルト値は
false) に設定するか、キャッシュヒントをクエリーに追加することにより行えます。これらいずれかのメカ
ニズムが使用される場合は、JBoss D ata Virtualization で結果セットキャッシュが有効である必要があり
ます (デフォルトでは有効)。
キャッシュヒントの最も基本的な形式である /*+ cache */ により、非更新コマンドの結果をキャッ
シュする必要があることがエンジンに通知されます。
例13.1 Prep ared St at emen t 結果セットキャッシュ
...
PreparedStatement ps = connection.prepareStatement("/*+ cache */
select col from t where col2 = ?");
ps.setInt(1, 5);
ps.execute();
...
123
管理および設定ガイド
結果はデフォルトの ttl でキャッシュされ、キャッシュキーの一部として SQL 文字列とパラメーター値を
使用します。
結果セットキャッシュクエリーにはキャッシュヒントの pref_mem および ttl オプションも使用できます。
キャッシュヒントが指定されていない場合は、結果セットキャッシュ設定のデフォルトの Time To Live が
使用されます。
例13.2 高度な結果セットキャッシュ
/*+ cache(pref_mem ttl:60000) */ select col from t
この例では、メモリー設定が有効であり、Time To Live が 60000 ミリ秒、つまり 1 分に設定されていま
す。エントリーの ttl は実際に最大有効時間として扱われ、キャッシュエントリーの最大数に到達した場合
にエントリーが破棄されることがあります。
注記
結果がキャッシュされたかどうかに関係なく、各クエリーは、現在のユーザーのパーミッションを
使用して承認のために再チェックされます。
バグを報告する
13.1.4 . キャッシュヒント
クエリーキャッシュヒントは、以下のことを行うために使用できます。
結果セットキャッシュに対してユーザークエリーが使用可能であることを示し、キャッシュエントリー
メモリー設定や Time To Live などを設定します。
マテリアライズビューメモリー設定、Time To Live、または更新可能性を設定します。
仮想プロシージャーをキャッシュ可能にすることを示し、キャッシュエントリーメモリー設定や Time
To Live などを設定します。
バグを報告する
13.1.5. 仮想プロシージャー結果キャッシュ
マテリアライズビューと同様に、同じプロシージャー実行でパラメーター値の一致セットが検出されたとき
に、キャッシュされた仮想プロシージャー結果がアトミックに使用されます。キャッシュされた結果の使
用は、ヒントとオプションの句で省略できます。
バグを報告する
13.1.6. OPT ION NOCACHE
クエリーで O P T IO N NO C AC HE を指定することにより、個々のクエリーはキャッシュされた結果の使用を
オーバーライドできます。キャッシュされた結果の使用を除外するために、0 以上の完全修飾ビューまたは
プロシージャー名を指定できます。名前が指定されない場合、キャッシュされた結果は遷移的に使用されま
せん。
124
⁠第1 3章 キャッシング
例13.3 完全な N O C AC H E
SELECT * from vg1, vg2, vg3 WHERE ... OPTION NOCACHE
キャッシュされた結果はまったく使用されません。
例13.4 特定の N O C AC H E
SELECT * from vg1, vg2, vg3 WHERE ... OPTION NOCACHE vg1, vg3
vg1 キャシュと vg3 キャッシュのみが省略され、vg2、または vg1 および vg3 でネストされたキャッ
シュ済み結果が使用されます。
O P T IO N NO C AC HE は、プロシージャーまたはビュー定義で指定できます。このようにして、変換では、
ソースから直接取得したリアルタイムデータを常に使用するよう指定できます。
バグを報告する
13.1.7. キャッシュされた仮想プロシージャー定義
仮想プロシージャー (Teiid D esigner のみにより定義可能) をキャッシュすることを指定するには、その定
義にキャッシュヒントが含まれる必要があります。
例13.5 プロシージャーキャッシュ
/*+ cache */ CREATE VIRTUAL PROCEDURE
BEGIN
...
END
結果はデフォルトの ttl でキャッシュされます。
プロシージャーキャッシュには、キャッシュヒントの pref_mem および ttl オプションも使用できます。
プロシージャー結果キャッシュキーには、入力パラメーター値が含まれます。1 つのプロシージャーが
キャッシュを満たすのを防ぐために、各 VD B のプロシージャーごとに最大 256 のキャッシュキーを作成
できます。
キャッシュされたプロシージャーは、結果をキャッシュで消費したり、キャッシュに配置したりすること
を許可する前に常にすべての結果を生成します。これは、一部の状況で返された結果がストリーミング方式
で消費される通常のプロシージャー実行とは異なります。
バグを報告する
13.1.8. キャッシュの設定
デフォルトでは、結果セットキャッシュが 1024 の最大エントリー、2 時間の最大エントリー有効期間で有
効になります。これらの設定では実際には 2 つのキャッシュが指定されます。あるキャッシュはセッショ
ンに固有な結果を保持し、各 JBoss D ata Virtualization インスタンスに対してローカルです。別のキャッ
シュは VD B スコープ結果を保持し、レプリケートできます。チューニングについてはサブシステム設定を
125
管理および設定ガイド
参照してください。また、ユーザーはキャッシュヒントを介してデフォルトの最大エントリー有効期間を
オーバーライドできます。
結果セットキャッシュはメモリーに限定されません。キャッシュできる結果のサイズに明示的な制限はあ
りません。キャッシュされた結果は主に BufferManag er に格納され、その設定 (最大バッファー領域の
制限を含む) に基づきます。
注記
結果データがメモリーに保持されない一方で、キャッシュキー (パラメーター値を含む) はメモリー
に保持できます。したがって、キャッシュには無制限の最大サイズを割り当てないようにする必要
があります。
結果セットキャッシュエントリーはデータ変更イベントにより無効にできます。max-stal eness 設定に
より、結果に寄与したテーブルのいずれかが変更された後にエントリーをどれぐらい保持するかが決定され
ます。カスタマイズの詳細については、『Red Hat JBoss D ata Virtualization D evelopment Guide:
Server D evelopment』を参照してください。
バグを報告する
13.1.9. キャッシュ管理
結果セットキャッシュは、AdminAPI で cl earC ache メソッドを使用してクリアできます。期待される
キャッシュキーは " QUERY_SERVICE_RESULT_SET_CACHE" です。
例13.6 Ad min Sh ell での結果セットキャッシュのクリア
connectAsAdmin()
clearCache("QUERY_SERVICE_RESULT_SET_CACHE")
...
バグを報告する
13.1.10. 結果セットキャッシュの制限
XML、BLOB、CLOB、および OBJECT タイプは、プロシージャーキャッシュキーの準備済みステート
メントのキャッシュキーの一部として使用できません。
SQL 文字列 (キャッシュヒントを含む) は結果を再利用するキャッシュ済みエントリーに完全一致する
必要があります。これにより、キャッシュの使用で解析と解決が省略され、応答が速くなります。
結果セットキャッシュはトランザクション対応ではありません。トランザクションはデータの整合性に
依存 (およびデータの整合性を適用) し、キャッシュされたデータとデータストアのデータとの整合性は
保証されません。
結果をクリアすると、すべての VD B のすべてのキャッシュエントリーがクリアされます。
バグを報告する
13.1.11. トランスレーター結果キャッシュ
126
⁠第1 3章 キャッシング
トランスレーターは、C acheD i recti ve オブジェクトを使用してキャッシュエントリーを結果セット
キャッシュに提供できます。結果となるキャッシュエントリーは、ユーザークエリーで作成されたように
動作します。この機能の詳細については、『Red Hat JBoss D ata Virtualization D evelopment Guide:
Server D evelopment』のトランスレーターキャッシュ API に関する記述を参照してください。
バグを報告する
13.2. マテリアライズビュー
13.2.1. マテリアライズビュー機能
マテリアライズビューは、以下の機能のサポートを提供します。
リレーショナルテーブルまたはビューレコードのキャッシュ (すべての変換の事前計算)
キャッシュする仮想グループのモデルベース定義 (Teiid D esigner が必要)
ヒントとオプションで特定のクエリーのマテリアライズビューキャッシュの使用をオーバーライドする
機能。
バグを報告する
13.2.2. マテリアライズビューの定義
マテリアライズビューは、仮想 (ビュー) リレーショナルモデルでテーブルまたはビューに対してマテリア
ライズプロパティーを設定することにより Teiid D esigner で定義されます。このプロパティーの値を true
(デフォルト値は false) に設定すると、この仮想テーブルに対して生成されたデータをマテリアライズ
ビューとして扱うことができます。
注記
すべてのキー/インデックス情報が存在するようにすることが重要です。これらの情報は、マテリア
ライズテーブルのパフォーマンスを向上させるためにマテリアライズプロセスで使用されます。
ターゲットマテリアライズテーブルは、プロパティーでも設定できます。値が空白 (デフォルト値) の場合
は、内部マテリアライズが使用されます。それ以外の場合は、外部マテリアライズに対して値がテーブル
(場合によってはビュー) の完全修飾名をマテリアライズビューと同じ列で参照する必要があります。基本的
なほとんどのシナリオでは、内部マテリアライズはそのシンプルさのために魅力的なオプションになりま
す。
外部マテリアライズを使用する理由は以下のとおりです。
キャッシュされたデータは完全に永続的である必要があります。内部マテリアライズはクラスターが再
起動されると維持されません。
ロードと更新の完全な制御が必要です。内部マテリアライズはシステムでサポートされる複数の更新方
法を提供しますが、マテリアライズテーブルに完全なアクセスを提供しません。
マテリアライズテーブル定義に対する制御が必要です。内部マテリアライズはセカンダリインデックス
をサポートしますが、これらのインデックスを直接制御できません。内部マテリアライズテーブルに
は、制約または他のデータベース機能を追加できません。
データボリュームが大規模です。内部マテリアライズ (および一般的には一時テーブル) では各ページの
メモリーオーバーヘッドが発生します。大まかなガイドラインは、ヒープの各ギガバイトに対してすべ
ての VD B のすべてのマテリアライズテーブル内に 1 億の行が存在することです。
127
管理および設定ガイド
注記
マテリアライズビューテーブルはデフォルトで VD B スコープに設定されます。デフォルトでは、マ
テリアライズビュー定義が rand o m や hasR o l e などの非決定論的なファンクションコールを直接
的または推移的に含む場合、結果となるテーブルには最初に評価された値のみが含まれます。ほとん
どの例では、親ビューで関連する非決定論的な値で結合された決定論的な結果なしでマテリアライズ
ビューをネストすることを検討する必要があります。また、セッション固有となるマテリアライズ
ビューのスコープを指定できますが、これにより多くの状況での結果の再利用が制限されることがあ
ります。
バグを報告する
13.2.3. 外部マテリアライズ
外部マテリアライズビューは外部データベースシステムのデータをキャッシュします。外部マテリアライズ
ビューはロードおよび更新ストラテジーについて管理者に完全な制御を提供します。
マテリアライズビューの実際の物理キャッシュは JBoss D ata Virtualization から外部的に維持されるた
め、キャッシュをクリアおよび管理する事前定義ポリシーはありません。これらのポリシーはニーズに基づ
いてシステムの管理者が定義および適用する必要があります。
手順13.1 通常の使用
1. マテリアライズビューと対応する物理マテリアライズターゲットテーブルを D esigner で作成しま
す。これは、マテリアライズおよびターゲットテーブルを手動で設定するか、必要なビューを選択
し、右クリックして Modeling->" Create Materialized Views" を選択することにより行えます。
2. 物理モデルマテリアライズターゲットテーブルの D D L を生成します。これは、モデルを選択し、
右クリックして Export->" Metadata Modeling" ->" D ata D efinition Language (D D L) File" を選択
することにより行えます。このスクリプトは、選択した任意のソースのマテリアライズターゲット
に対して必要なスキーマを作成するために使用できます。
3. ロードおよび更新ストラテジーを決定します。作成されたスキーマで最も単純な方法はデータを
ロードすることです。以下のコマンドを使用してデータをロードできます。
insert into target_table select * from matview option nocache
注記
インデックスの作成はテーブルが作成されるまで延期した方が効率的である場合があるため、これは
単純すぎることがあります。また、完全なスナップショット更新は、ステージングテーブルに行
い、更新がユーザークエリーに影響を与えないようにし、テーブルが使用前に有効であることを保証
するために既存の物理テーブルに対してスワップすることが推奨されます。
バグを報告する
13.2.4 . メタデータベースマテリアライズ管理
ビューを設計する場合は、外部マテリアライズキャッシュのロードおよび更新を制御する追加のメタデータ
を定義します。これにより、マテリアライズビューを管理できるようになります。
128
⁠第1 3章 キャッシング
Virtual D atabase (VD B) では、SYSAD MIN モデルのスキーマで以下のストアドプロシージャーが定義され
ます。
loadMatView
updateMatView
matViewStatus
定義されたメタデータと SYSAD MIN プロシージャーに基づいて、VD B デプロイメント中に単純なスケ
ジューラーが自動的に起動し、新しいキャッシュがロードされ、保持されます。
バグを報告する
13.2.5. メタデータベースマテリアライズビューの使用
手順13.2
1. マテリアライズビューのロードおよび更新アクティビティを管理および報告するために、ソースモ
デルのスキーマとともにステータステーブルを定義します。
2. 物理ソースをインポートする前に、物理データベースでテーブルを作成します。
CREATE TABLE status
(
VDBName varchar(50) not null,
VDBVersion integer not null,
SchemaName varchar(50) not null,
Name varchar(256) not null,
TargetSchemaName varchar(50),
TargetName varchar(256) not null,
Valid boolean not null,
LoadState varchar(25) not null,
Cardinality long,
Updated timestamp not null,
LoadNumber long not null,
PRIMARY KEY (VDBName, VDBVersion, SchemaName, Name)
);
3. マテリアライズおよびターゲットテーブルを D esigner で手動で作成するか、必要なビューを選択
します。次に、右クリックして Modeling-> Create Materialized Views を選択します。
4. ビューで以下の拡張プロパティーを定義します。拡張プロパティーの詳細については、トピック
「List of Extension properties in the Materialized View」を参照してください。
5. プロパティーとともに VD B モデルをデプロイします。
6. SY SAD MIN. upd ateMatVi ew プロシージャーを実行してキャッシュ内容を部分的に更新しま
す。
注記
プロシージャーを実行してキャッシュを部分的に更新する場合は、新しい期間のキャッシュ
有効期限がリセットされます。
129
管理および設定ガイド
バグを報告する
13.2.6. マテリアライズビューでの拡張プロパティーのリスト
以下の表には、マテリアライズビューの拡張プロパティーがリストされています。
表13.1 拡張プロパティー
プロパティー名
説明
Teiid ベースの管理を許
可します
上記の完全修飾ステータ
ステーブル名
キャッシュを実際にロー
ドする前に実行するセミ
コロン (;) で区切られた
D D L/D ML コマンド。通
常は、ステージングテー
ブルを切り捨てるために
使用されます
teiid_rel:MATVIEW_LOA キャッシュをロードする
D _SCRIPT
ために実行するセミコロ
ン (;) で区切られた
D D L/D ML コマンド
teiid_rel:MATVIEW_AFT キャッシュを実際にロー
ER_LOAD _SCRIPT
ドした後に実行するセミ
コロン (;) で区切られた
D D L/D ML コマンド。通
常は、ステージングテー
ブルの名前を実際の
キャッシュテーブルの名
前に変更するために使用
されます
teiid_rel:MATVIEW_SH 許可される値は {NONE,
ARE_SCOPE
VD B, SCHEMA} です。
スキーマ名が一致する異
なる VD B バージョンと
異なる VD B でキャッ
シュ済み内容を共有する
かどうかを定義します。
teiid_rel:MATERIALIZ E MATVIEW_LOAD _SCRI
D _STAGE_TABLE
PT プロパティーが定義
されていない場合は、
Teiid によりキャッシュ
内容がこのテーブルに
ロードされます
teiid_rel:ON_VD B_STA vdb を開始する D ML コ
RT_SCRIPT
マンド
teiid_rel:ON_VD B_D R
VD B のデプロイ解除時
OP_SCRIPT
に実行する D ML コマン
ド。通常は、キャッ
シュ/ステータステーブ
ルをクリーンアップする
ために使用されます
teiid_rel:ALLOW_MATVI
EW_MANAGEMENT
teiid_rel:MATVIEW_STA
TUS_TABLE
teiid_rel:MATVIEW_BEF
ORE_LOAD _SCRIPT
130
任意
デフォルト値
false
false
false
適用外
true
定義されない場合、スク
リプトは実行されません
true
ビュー変換に基づいて決
定されます
true
定義されない場合、スク
リプトは実行されません
true
なし
true
適用外
true
なし
true
なし
⁠第1 3章 キャッシング
プロパティー名
説明
teiid_rel:MATVIEW_ON
ERROR_ACTION
Mat View の内容が要求
false
され、キャッシュが無効
な場合に実行するアク
ション。許可される値は
(THROW_EXCEPTION
= 例外をスローする、
IGNORE = 警告と提供さ
れた無効なデータを無視
する、WAIT = データが
更新され、有効になるま
で待機し、更新された
データを提供する)
Time To Live (ミリ秒)
false
teiid_rel:MATVIEW_TTL
任意
デフォルト値
なし
なし
バグを報告する
13.2.7. 内部的なマテリアライズ
内部的なマテリアライズにより、マテリアライズされたテーブルを保持する JBoss D ata Virtualization 一
時テーブルが作成されます。これらのテーブルは完全に永続的ではない一方で、ほとんどの状況で適切に動
作し、データは各 JBoss D ata Virtualization インスタンスに存在します。これにより、シングルポイント
障害と外部データベースのネットワークオーバーヘッドが取り除かれます。また、内部的なマテリアライズ
により、更新または監視用のより多くの組み込み機能が提供されます。
キャッシュヒントは、内部マテリアライズビュー変換クエリーのコンテキストで使用され、マテリアライズ
テーブルをファインチューニングする機能を提供します。また、pref_mem オプションは内部マテリアライ
ズビューにも適用されます。内部テーブルインデックスページではメモリーが優先されるため、perf_mem
オプションはデータページでもメモリーが優先されることを指定します。
すべての内部マテリアライズビューの更新はアトミックに行われます。内部マテリアライズビューは
READ _COMMITTED (READ _UNCOMMITED にも使用されます) および SERIALIZ ABLE
(REPEATABLE_READ にも使用されます) トランザクション分離レベルをサポートします。
バグを報告する
13.2.8. 内部マテリアライズビューのロードおよび更新
次のトピックでは、マテリアライズビューのロードと更新に関する詳細情報を提供します。
システム更新プロシージャー
TTL スナップショット更新
プログラミングによる制御
更新可能オプション
バグを報告する
13.2.9. システム更新プロシージャー
内部マテリアライズビューテーブルは、最初に無効な状態にあります (データがない)。最初のユーザークエ
リーはデータの暗黙的なロードをトリガーします。マテリアライズビューに対する他のすべてのクエリー
は、ロードが完了するまでブロックされます。一部の状況では、管理者がキャッシュが
SY SAD MIN. refreshMatVi ew への呼び出しでいつロードされるかを細かく制御したい場合があります。
131
管理および設定ガイド
初期ロードにより、依存マテリアライズビューの最初のロードがトリガーされることがあります。初期ロー
ドでのマテリアライズビューに対するユーザークエリーの後に、テーブルによりブロッククエリーのみがブ
ロックされます (テーブルが無効な状態である場合)。有効な状態は、SY SAD MIN. refreshMatVi ew プロ
シージャーを介して制御することもできます。
以下の例では、matvi ew が更新され、更新が完了 (または失敗) するまでユーザークエリーがブロックされ
ます。
CALL SYSADMIN.refreshMatView(viewname=>'schema.matview',
invalidate=>true)
初期ロードにより依存マテリアライズビューの遷移的なロードがトリガーされ、refreshMatVi ew で実行
される後続の更新で依存マテリアライズビューテーブル (存在する場合) が使用されます 。ロードは一度に
1 回だけ実行されます。SY SAD MIN. refreshMatVi ew プロシージャーの呼び出し時にロードがすでに処
理中である場合は、現在のロードを事前に処理する代わりに -1 がすぐに返されます。
バグを報告する
13.2.10. T T L スナップショットの更新
キャッシュヒントは、指定した Time To Live (TTL) 後に完全なスナップショット更新をアトミックにトリ
ガーするために使用できます。TTL はテーブルがロードを完了したときから始まります。更新は、 C ALL
SY SAD MIN. refreshMatVi ew(' vi ew name' , fal se) と同等ですが、ユーザークエリーがロードで
ブロックされないよう非同期で実行されます。
以下の例では、結果となるマテリアライズビューが毎時間 (3600000 ミリ秒) リロードされます。
/*+ cache(ttl:3600000) */ select t.col, t1.col from t, t1 where t.id =
t1.id
注記
自動 TTL 更新は、複雑なロードシナリオに向いていません。ネストされたマテリアライズビュー
が更新クエリーにより使用されるためです。
自動 TTL 更新は、レイジーに実行されます。つまり、TTL が失効した後にテーブルを使用するこ
とによりトリガーされます。長いロード時間の使用頻度が低いテーブルの場合、これは TTL を過
ぎてもデータを使用できることを意味します。
バグを報告する
13.2.11. プログラミングによる制御
JBoss D ata Virtualization は、o rg . tei i d . events. EventD i stri buto r インターフェース (JND I
ツリーでルックアップし、dataModification や updateMatViewRow などのメソッドを呼び出して、基礎
となるソースデータが変更されたことを JBoss D ata Virtualization サーバーに通知することができる
JBoss EAP の JND I 名 teiid/event-distributor-factory 以下) を実装する Bean を公開します。これらの操
作はクラスター全体で動作し、キャッシュエントリーを適切に無効にして、新しいキャッシュ内容をリ
ロードします。
132
⁠第1 3章 キャッシング
注記
データ変更イベントを取得するためにログを取得し、トリガーをインストールできる変更データ取得
機能がソースシステムに組み込まれている場合は、JBoss EAP にデプロイされた pojo
Bean/MD B/Session Bean を介してイベントを取得し、JBoss D ata Virtualization に伝播できま
す。
以下に、Pojo/MD B/Session Bean を使用して同じ JBoss EAP インスタンスでデプロイされた独自のコー
ドでユーザーがどのように EventD istributor インターフェースを使用できるかを示すコード例を示しま
す。Bean のデプロイの詳細については、JBoss EAP ドキュメントを参照してください。
例13.7 Even t D ist rib u t o r コード例
public class ChangeDataCapture {
public void invalidate() {
InitialContext ic = new InitialContext();
EventDistributor ed =
(EventDistributor)ic.lookup("teiid/event-distributor-factory");
// this below line indicates that Customer table in the
"model-name" schema has been changed.
// this result in cache reload.
ed.dataModification("vdb-name", "version", "model-name",
"Customer");
}
}
注記
また、EventD i stri buto r インターフェースは最適化されたクエリー計画のソースモデルのコス
ト情報を更新するために使用できる多くのメソッドを公開します。これらの値は変化する可能性があ
り、永続化するレポジトリーがないため、クラスターの再起動時に維持されません。
バグを報告する
13.2.12. 更新可能オプション
高度なユースケースでは、内部マテリアライズビューを更新可能とマークするためにキャッシュヒントを使
用することができます。更新可能な内部マテリアライズドビューは SY SAD MIN. refreshMatVi ewR o w
プロシージャーを使用してマテリアライズテーブルの単一の行を更新します。ソース行が存在する場合は、
マテリアライズビューテーブル行が更新されます。ソース行が存在しない場合は、対応するマテリアライズ
行が削除されます。更新可能にするには、マテリアライズドビューに単一列のプライマリーキーが含まれる
必要があります。複合キーはまだ SY SAD MIN. refreshMatVi ewR o w でサポートされていません。
変換クエリー:
/*+ cache(updatable) */ select t.col, t1.col from t, t1 where t.id =
t1.id
133
管理および設定ガイド
更新 SQL:
CALL SYSADMIN.refreshMatViewRow(viewname=>'schema.matview', key=>5)
schema.matview が整数列 col をプライマリーキーとして定義した場合は、更新によりライブソースで行値
がチェックされます。
更新クエリーは、依存マテリアライズドビューテーブルを使用しません。したがって、この変換クエリーか
らの単一行の取得が正しく行われるようにしてください。依存結合 (単一行の取得のパフォーマンスを向上
させるために使用できます) の制御については、『Red Hat JBoss D ata Virtualization D evelopment
Guide: Reference Material』を参照してください。更新クエリーはネストされたキャッシュを使用するた
め、この更新方法は注意して使用する必要があります。
更新可能オプションが指定されない場合は、変更を考慮する必要がないため、マテリアライズビューテーブ
ルへのアクセスが効率的になります。したがって、行ベースのインクリメンタル更新が必要な場合は、更新
可能オプションのみを指定します。行更新を実行する場合であっても、整合性を確保するために完全なス
ナップショットの更新が必要になることがあります。
バグを報告する
13.2.13. セカンダリインデックス
内部マテリアライズビューテーブルにより、一意の各制約に対する一意でないインデックスとマテリアライ
ズビューで定義されたインデックスが自動的に作成されます。これらのインデックスは、一意の制約に対し
ても一意でないものとして作成されます。これは、マテリアライズテーブルはデータ整合性のために強制ポ
イントとして使用されることを目的とせず、更新可能な場合に、テーブルと基礎となる値との整合性が保持
されず、制約を満たすことができなくなるためです。ビューのプライマリーキー (存在する場合) は、自動
的にインデックスの対象列の一部になります。
セカンダリインデックスは常にツリーとして作成されます。ビットマップまたはハッシュインデックスは
サポートされません。インデックスの JBoss D ata Virtualization メタデータは現時点で制限されていま
す。現時点では、追加情報、ソート方向、対象とする追加列などを取得することはできません。ただし、こ
れらの一部の制限を回避することができる場合があります。
関数ベースのインデックスはサポートされますが、D D L メタデータのみに固有であることがあります。
D D L メタデータを使用していない場合は、別の列を関数式を示すビューに追加することを検討し、イン
デックスをその新しい列に配置します。新しい列/インデックスを使用するために、ビューに対するクエ
リーを適切に変更する必要があります。
追加の対象列が必要な場合は、これらの列をインデックス列に追加できます。ただし、これは比較可能
なタイプにのみ適用できます。列を追加すると、インデックスが使用する容量が増加しますが、対象列
のみが使用され、メインテーブルが参照されないため、パフォーマンスが向上することがあります。
バグを報告する
13.2.14 . クラスタリングに関する考慮事項
クラスター内の各メンバーは、各マテリアライズテーブルと関連するインデックスの独自のコピーを維持し
ます。各メンバーが他のメンバーと同じ完全更新イベントを受け取るような試みがなされます。ただし、更
新可能マテリアライズドビューの整合性は保証されません。更新可能マテリアライズドビューテーブルの定
期的な完全更新により、メンバー間の整合性が確保されます。
バグを報告する
13.3. コードテーブルキャッシュ
134
⁠第1 3章 キャッシング
13.3.1. コードテーブルキャッシュ
JBoss D ata Virtualization では、ルックアップ機能を介して内部マテリアライズビューテーブルを簡単に
作成できます。
ルックアップ機能を使用すると、キー値が提供されたときにテーブルから値を素早く取得できます。この機
能により、参照テーブルのキー/戻り値のすべてのペアアトミックにキャッシュされます。このキャッシュ
はオンデマンドで実行されますが、結果はクラスター内の他のメンバーにアトミックにロードされます。同
じキーと戻り値の列を使用して同じテーブルに対して後続ルックアップを行う場合は、キャッシュされた
情報が使用されます。
このキャッシュソリューションは、トランザクションまたはオペレーションデータと「参照」データの統
合に適切です。参照データは、通常、頻繁に使用される静的で小さいデータセットです。例としては、ISO
国コード、州コード、さまざまなタイプの金融機関 ID などがあります。
バグを報告する
13.3.2. コードテーブルキャッシュの使用
このキャッシュメカニズムは、ルックアップスカラー関数が使用されたときに自動的に呼び出されます。
ルックアップ関数はスカラー値を返すため、式が期待される場所ならどこでも使用できます。この関数は、
参照テーブル、リターン列、およびキー列 (関数への最初の 3 つの引数) の一意の組み合わせにより常に呼
び出されます。
ルックアップ関数の使用の詳細については、『Red Hat JBoss D ata Virtualization D evelopment Guide:
Reference Material』のルックアップ関数に関する記述を参照してください。
例13.8 国コードルックアップ
lookup('ISOCountryCodes', 'CountryCode', 'CountryName', 'United
States')
バグを報告する
13.3.3. コードテーブルキャッシュの制限
ルックアップ関数を使用すると、キャッシュが自動的に実行されます。ルックアップ関数を使用し、
キャッシュを実行しないオプションはありません。
コードテーブルを更新するメカニズムは提供されません。
単一のキー/リターン列のみキャッシュされます。値はセッション/ユーザー固有ではありません。
バグを報告する
13.3.4 . 代替のマテリアライズビュー
lookup 関数は、適切なプライマリーキーで内部マテリアライズビューを作成するショートカットです。多
くの状況では、コードテーブルを使用する代わりに類似のマテリアライズビューを直接作成することが適切
である場合があります。
例13.9 C o u n t ry C o d e Lo o ku p Ag ain st A Mat View
135
管理および設定ガイド
SELECT (SELECT CountryCode From MatISOCountryCodes WHERE CountryName =
tbl.CountryName) as cc FROM tbl
ここで、MatISOCountryCodes は、マテリアライズとしてマークされた ISOCountryCodes から選択する
ビューであり、CountryName にプライマリーキーとインデックスがあります。スカラーサブクエリーはイ
ンデックスを使用して tbl 内の各国名の国コードをルックアップします。
マテリアライズビューを使用する理由は以下のとおりです。
リターン列の細かい制御。コードテーブルは各キー/値のペアのマテリアライズビューを作成します。複
数のリターン列がある場合は、単一のマテリアライズビューであることが望まれます。
適切なマテリアライズビューには、組み込みのプロシージャー/テーブルサポートがあります。
キャッシュヒントによる細かい制御。
OPTION NOCACHE を使用する機能。
パフォーマンスの違いはほとんどありません。
手順13.3 マテリアライズビューの作成手順
1. 必要なテーブルから適切な列を選択するビューを作成します。一般的には、このビューには任意の
複雑な変換クエリーが含まれることがあります。
2. 適切な列をプライマリーキーとして指定します。必要に応じて、インデックスを追加できます。
3. マテリアライズプロパティーを true に設定します。
4. キャッシュヒントを変換クエリーに追加します。ルックアップ関数により作成された暗黙的な内部
マテリアライズビューの動作を模倣するために、ヒントとオプション /*+ cache(pref_mem)
*/ を使用してテーブルデータページが優先的にメモリーに保持されるよう指定します。
ルックアップ関数の場合と同様に、マテリアライズビューテーブルは、初回使用時に作成され、それ移行は
再利用されます。
バグを報告する
13.4 . キャッシングのヒントとオプション
13.4 .1. キャッシュヒント
クエリーキャッシュヒントは、以下のことを行うために使用できます。
結果セットキャッシュに対してユーザークエリーが使用可能であることを示し、キャッシュエントリー
メモリー設定や Time To Live などを設定します。
マテリアライズビューメモリー設定、Time To Live、または更新可能性を設定します。
仮想プロシージャーをキャッシュ可能にすることを示し、キャッシュエントリーメモリー設定や Time
To Live などを設定します。
バグを報告する
13.4 .2. キャッシュヒントの使用
136
⁠第1 3章 キャッシング
キャッシュヒントは、以下の構文に従って SQL の先頭に現れる必要があります。
/*+ cache[([pref_mem] [ttl:n] [updatable])] [scope:(session|user|vdb)] */
sql ...
注記
INSERT/UPD ATE/D ELETE ステートメントまたは INSTEAD OF TRIGGERS は影響を受けません。
バグを報告する
13.4 .3. 利用可能なキャッシュヒント
pref_mem - キャッシュ結果をメモリーに保持することを優先するよう指定します。結果はメモリープ
レッシャーに基づいてページアウトできます。
注記
pref_mem オプションを使い過ぎないようにする必要があります。メモリー設定は Java ソフト
参照で実装されます。ソフト参照はメモリー不足の状況を防ぐのに効果的ですが、ソフト参照で
保持されるメモリーが多すぎると、効果的な作業メモリーが制限されることがあります。動作を
チューニングする必要がある場合は、ソフト参照のクリアに関する JVM オプションを参照して
ください。
ttl:n - n はミリ秒単位の Time To Live 値を示します。結果セットキャッシュのデフォルト値は対応する
Infinispan キャッシュのデフォルトの有効期限です。マテリアライズビューにはデフォルトの Time To
Live がありません。
updatable - キャッシュされた結果を更新できることを示します。このデフォルト値はマテリアライズ
ビューの場合は false、結果セットキャッシュエントリーの場合は true です。
scope - 3 つの異なるキャッシュスコープがあります。session - 現在のセッションに対してのみ
キャッシュされます。user - 現在のユーザーにより任意のセッションに対してキャッシュされます。
VD B - 同じ VD B に接続された任意のユーザーに対してキャッシュされます。キャッシュされたクエ
リーの場合、このスコープがあると、計算されたスコープがオーバーライドされます。マテリアライズ
ビューの場合は、デフォルトで VD B スコープが設定されます。マテリアライズビューでは、セッショ
ンまたはユーザースコープを明示的に設定すると、レプリケートされないセッションスコープのマテリ
アライズビューになります。
バグを報告する
13.4 .4 . キャッシュヒントの制限
クエリーヒントの形式は、ヒントと完全に一致する必要があります。ユーザークエリーの場合は、ヒントが
適切に指定されていないと (/*+ cach(pref_mem) */ など)、エンジンによって使用されず、情報ログ
もありません。現時的では、クエリー計画のユーザーコマンドが適切なヒントを保持していることをテスト
で確認することが推奨されます (クライアント開発者ガイドを参照)。
バグを報告する
13.4 .5. OPT ION NOCACHE
137
管理および設定ガイド
クエリーで O P T IO N NO C AC HE を指定することにより、個々のクエリーはキャッシュされた結果の使用を
オーバーライドできます。キャッシュされた結果の使用を除外するために、0 以上の完全修飾ビューまたは
プロシージャー名を指定できます。名前が指定されない場合、キャッシュされた結果は遷移的に使用されま
せん。
例13.10 完全な N O C AC H E
SELECT * from vg1, vg2, vg3 WHERE ... OPTION NOCACHE
キャッシュされた結果はまったく使用されません。
例13.11 特定の N O C AC H E
SELECT * from vg1, vg2, vg3 WHERE ... OPTION NOCACHE vg1, vg3
vg1 キャシュと vg3 キャッシュのみが省略され、vg2、または vg1 および vg3 でネストされたキャッ
シュ済み結果が使用されます。
O P T IO N NO C AC HE は、プロシージャーまたはビュー定義で指定できます。このようにして、変換では、
ソースから直接取得したリアルタイムデータを常に使用するよう指定できます。
バグを報告する
138
⁠パート V. 監視およびパフォーマンス
⁠パート V. 監視およびパフォーマンス
139
管理および設定ガイド
第14章 モニタリング
14 .1. JBoss Dat a Virt ualiz at ion の監視
JBoss D ata Virtualization は、現在の処理状態に関する情報を提供します。この情報は、負荷およびス
ループットをチューニング、監視、および管理するのに役に立つことがあります。実行時データは、管理コ
ンソール、AdminShell、Admin API などの管理ツールを使用してアクセスできます。
バグを報告する
14 .2. クエリー/セッションの詳細
名前
説明
現在のセッション
現在の要求
現在のトランザクション
クエリー計画
現在接続されているセッションのリスト
現在実行している要求のリスト
現在実行しているトランザクションのリスト
特定の要求のクエリー計画の取得
セッション、クエリー、およびトランザクションを終了する管理オプションがあります。
バグを報告する
14 .3. セッション/クエリーメトリックス
名前
プロパティー
説明
コメント
セッション数
sessionCount
現在アクティブなユー
ザー接続の数を示しま
す。
ピーク時にセッション数
が制限されないようにす
るために、maxsessions-allowed (デ
フォルト値は 5000) が
適切に設定されているこ
とをチェック
し、sessionsexpiration-timelimit を
見直します。
クエリー数
queryCount
アクティブなクエリー
計画数
現在アクティブなクエ
リーの数を示します。
ENGINE_STATISTIC.ac 現在処理中のクエリー計
tive-plans-count
画の数。
待機中のクエリー計画数 ENGINE_STATISTIC.w
aiting-plans-count
待機中の最大クエリー計 ENGINE_STATISTIC.m
画ウォーターマーク
ax-waitplan-watermark
14 0
現在待機中のクエリー計
画の数。
最後にサーバーが起動し
てから待機しているクエ
リー計画の最大数。
スループットを最大化す
るには、QueryEngine
とスレッドのパフォーマ
ンスチューニングに関す
る項を参照してくださ
い。
⁠第1 4 章 モニタリング
名前
プロパティー
長時間実行中のクエリー longRunningQueries
説明
コメント
クエリーしきい値 (
query-threshold-inseconds. ) を超えた現
在実行中のクエリーをリ
ストします。
1 つまたは複数のクエ
リーが長時間リソースを
消費していることを警告
するアラートを設定しま
す。長時間実行している
場合は、オプションで要
求をキャンセルしたり、
しきい値を増やしたりし
ます。
バグを報告する
14 .4 . バッファーマネージャーメトリックス
名前
プロパティー
ディスク書き込み数
ENGINE_STATISTIC.b
uffermgr-disk-writecount
ENGINE_STATISTIC.b
uffermgr-disk-readcount
ENGINE_STATISTIC.b
uffermgr-cache-writecount
ENGINE_STATISTIC.b
uffermgr-cache-readcount
ENGINE_STATISTIC.b
uffermgr-diskspaceused-mb
ディスク読み取り数
キャッシュ書き込み数
キャッシュ読み取り数
ディスク使用容量 (MB)
総使用メモリー容量
(KB)
アクティブな計画別総
使用メモリー容量 (KB)
説明
コメント
バッファーマネー
ジャーのディスク書き込
み数。
バッファーマネー
ジャーのディスク読み取
り数。
バッファーマネー
ジャーのキャッシュ書
き込み数。
バッファーマネー
ジャーのキャッシュ読
み取り数。
バッファーファイルで
max-buffer-space の設
現在使用されているスト 定に基づいて使用済み
レージ容量を示します。 バッファー容量が許容で
きないレベルである場合
に警告するアラートを設
定します。
ENGINE_STATISTIC.tot 現在のメモリー使用量の
al-memory-inuse-kb
推定値 (キロバイト単
位)。
ENGINE_STATISTIC.tot アクティブな計画別の現
al-memory-inuse在のメモリー使用量の推
active-plans-kb
定値 (キロバイト単位)。
バグを報告する
14 .5. キャッシュメトリックス
名前
プロパティー
説明
準備された計画キャッシュサイ
ズ
準備された計画キャッシュの要
求数
PREPARED _PLAN_CACHE.total
-entries
PREPARED _PLAN_CACHE.req
uest-count
現在キャッシュにあるエントリー
の数。
キャッシュに対して行われた要求
の合計数。
14 1
管理および設定ガイド
名前
プロパティー
説明
準備された計画キャッシュの
ヒット率 (% )
結果セットキャッシュサイズ
PREPARED _PLAN_CACHE.hitratio
QUERY_SERVICE_RESULT_SE
T_CACHE.total-entries
QUERY_SERVICE_RESULT_SE
T_CACHE.request-count
QUERY_SERVICE_RESULT_SE
T_CACHE.hit-ratio
正のキャッシュヒット率。
結果セットキャッシュの要求数
結果セットキャッシュヒット率
(% )
バグを報告する
14 2
現在キャッシュにあるエントリー
の数。
キャッシュに対して行われた要求
の合計数。
正のキャッシュヒット率。
⁠第1 5章 パフォーマンスチューニング
第15章 パフォーマンスチューニング
15.1. 使用に関するヒント
ドキュメンテーション (特にスタートガイド) を参照して、データフェデレーションが企業のために行え
ることを調べます。
JND I データソース名の標準的な命名規則を使用して VD B を EAP/D V サーバー環境全体で移植できるよ
うにします ( VD B で定義された JND I 参照はサーバー間で移植されるため、変更する必要はありませ
ん)。
注記
AdminConsole を使用して JND I 名をリセットできます。VD B を変更する必要はありません。
b) 整合性を維持するために、異なるタイプを区別できるよう命名規則を決定します。考慮すべきアイテ
ムには、D esigner プロジェクト名、ソースモデル名、新しいモデル名、関数/プロシージャー名、デー
タソース、VD B 名、Web サービス名などがあります。
サーバーインスタンス全体で共通の JD BC ドライバーバージョンを標準化します。つまり、ソースが
MySQL である場合、すべてのサーバーは同じ MySQL JD BC ドライバー JAR を使用する必要がありま
す。
デプロイメントを容易にし、Teiid D esigner でデータプレビューを実行する場合は、JD BC タイプ 4 ド
ライバーを使用することが推奨されます。それ以外の場合は、使用する前に、ドライバーをタイプ 4 に
手動で変更するか、ドライバーのモジュールをサーバーで設定します。
Teiid D esigner でパッケージ化するときに VD B とともに UD F jar を含めてください。これにより、デ
プロイが容易になり、サーバーモジュール設定を行う必要がなくなります。
vdbname.version.vdb という形式の VD B バージョン化を使用します。これを使用すると、現在の処理
に影響を与えずに VD B 更新をデプロイできます。また、使用する VD B のバージョンをオープンせずに
視覚的に容易に識別することができます。
適切なデプロイメントストラテジーを選択します。
JBoss Operations Network – VD B を Teiid インスタンスのクラスターに一度にすべてプッシュす
る場合に適切です。
管理シェル – タスクをスクリプト化および自動化し、他のツール (サンプルについては D V キットの
D eployAndVerifyVD B.groovy を参照) に組み込む場合に役に立つコマンドラインツール。
管理コンソールは VD B をデプロイするために使用できます。
Teiid D esigner では VD B をデプロイできますが、開発フェーズを超えて VD B を使用することは推
奨されません。
アーティファクトの手動コピー - 多くの場合、これは、アップグレード中、または開発ライフサイク
ルでプロモーションを行う手段としてのみ行います。
ソフトウェア開発ライフサイクルに関しては、開発ライフサイクル中の以下の VD B 接続タイプの変更
を考慮してください。
VD B がデプロイされた場合は、接続タイプのデフォルト値である BY_VERSION を使用します。
新しいバージョンでサーバー上の VD B を更新する場合は、現在の VD B (存在する場合) 接続タイプ
14 3
管理および設定ガイド
を ANY から NONE (接続の許可を停止する) に変更します。この結果、新しい接続は新しいバージョ
ンに移行し、新しくデプロイされた VD B 接続タイプが BY_VERSION から ANY に変更され、接続
先のターゲット VD B になり、次回に新しいバージョンがデプロイされたときにポジショニングされ
ます。
ロールバックが必要な場合は、新しい (悪い) VD B 接続タイプを ANY から NONE に変更し、古い
VB 接続タイプを NONE から ANY に変更します。
マルチ開発者環境では、SCM (github、SVN、CVS など) を使用してアーティファクトを管理します。
特定のソース制御管理システムは推奨されません。JBoss D eveloper Studio に統合できるシステムを
使用することをお勧めします。
import-vdb を使用して D V 6 で VD B 再利用機能を使用することを検討してください。これにより、
VD B はデプロイ時/起動時に他の VD B をインポートしたり、大きいプロジェクトを、実行時に一緒に動
作する個別の VD B に分割したり、開発者が基礎となる同じモデルを参照する異なる VD B を使用したり
できるようになります。パーティション化とレイヤー化により、デプロイメント変更の影響が制限され
ることがあります。
VD B / モデル設計パターンを決定します。
a) 一般的な設計方法は、データ仮想化抽象レイヤー (エンタープライズまたはフェデレーションデータ
レイヤーとも呼ばれます) の構築に基づきます。抽象レイヤーはクライアントアプリケーションが使用す
るレイヤーであり、基礎となるデータソースがクライアントの使用から抽象化されているため、抽象レ
イヤーと呼ばれます。抽象レイヤーを構築する推奨方法は、「データソースレイヤー」と「抽象レイ
ヤー」間に仮想ベースレイヤー (VBL) を作成することにより作業を開始することです。これにより、物
理データが正規ビジネスモデルから切り離され、クライアントに影響を与えたり、物理ソース上に分離
レベルを提供したりせずにデータレイヤーを柔軟に変更できるようになります。これは、各物理ソース
と仮想モデルの 1 対 1 マッピングです。これらの VBL コンポーネントは、高いレベルのサービスの構築
ブロックとして使用できます。ソースで変更を反映する必要がある場合は、これらの上部に構築された
すべての変換は、変更する必要がありません。
b) 設計パターンをレイアウトする場合は、VD B 再利用 (複数の VD B) の使用を検討してください (抽象
レイヤーでは VD B、物理レイヤーでは VD B)。
パフォーマンスに関するヒント
命名規則を考慮します。命名規則を使用すると、メッセージのサイズを削減できます。
未使用の古い VD B をデプロイ解除してください。
JB D S T eiid プラグインに関するヒント
コラボレーション環境で開発する場合、開発者は同じプロジェクト名を使用する必要があります。VD B
を作成するときに、複数のプロジェクト (たとえば、アプリケーション別) があり、プロジェクト全体で
モデルを共有できることがあります。ただし、D esigner では、VD B からモデルへの参照にはプロジェ
クト名が含まれ、異なるプロジェクト名を使用すると、VD B のモデルが正しく解決されません。
eclipse/JBD S 環境全体で使用する接続プロファイルの標準的な命名規則と設定を確立します。モデル
がインポートされ、接続プロファイルが一致しない場合は、データプレビューまたは VD B デプロイメ
ントを実行する前にソースモデルの接続プロファイルをリセットする必要があります。
モデリング時にビューモデルを構築する場合は、タイプ " Base Table" の子を作成します。" View
Table" は使用しないでください。機能的な違いはありません。問題は、テーブルで PK/FK/インデック
スを作成するときに発生します。" View Table" では、これを行うことができません。
(a) 更新を行う場合は、XA データソースを使用することが推奨されます。したがって、D esigner を使
用してデータソースを作成しないでください。これは、XA データソースではなく「ローカル」データ
ソースを作成する D TP の制限が原因です。XA データソースを作成するには、サンプルテンプレートの
JBoss AS " doc" ディレクトリーを探すか、" admin-console" を使用して XA データソースを作成しま
14 4
⁠第1 5章 パフォーマンスチューニング
す。
カスタムトランスレーターおよびコネクターに関するヒント
Teiid トランスレーターおよび/またはコネクターアーキタイプを使用します。
リソースとともにプロジェクトテンプレートが作成され、カスタムコードをすぐに追加して、デプロイ
メントのパッケージのためにコンパイルできます。
JBD S を使用して、アーキタイプからプロジェクトを作成することにより新しい Maven プロジェクト
を作成します。このウィザードでは、“ JBoss Nexus Archetypes” カタログを選択し、“ teiid” でフィル
タリングします。
バグを報告する
15.2. メモリー管理に関する考慮事項
以下に、メモリー管理に関する設定についての一部の情報を記載します。
JBoss D ata Virtualization エンジンは、バッチを使用して一度に処理するメモリー行の数を削減します。
バッチサイズは、より多くのクライアントがサーバーに同時にアクセスするため、さらに大きい値に調整で
きます。
buffer-servi ce-max-reserve-kb
デフォルト値は -1 です。この設定により、バッファマネージャーがメモリー内に保持できる
バッチの合計サイズ (キロバイト単位) が決定されます。この数はソフト参照 (インデックスペー
ジなど) または弱い参照で保持される永続バッチには考慮されません。-1 のデフォルト値の場合
は、VM で利用可能な最大ヒープに基いて通常の最大値が自動的に計算されます。計算される値で
は、64 ビットのアーキテクチャーを前提とし、バッファーの使用が最初の 300 メガバイト
(JBoss EAP により使用される) から最初のギガバイトの 50% 、ギガバイトを超えるメモリーの
75% に制限されます。
たとえば、デフォルト設定と 8GB VM サイズの場合は、buffer-servi ce-max-reserve-kb
により最大 (((1024-300) * 0.5) + (7 * 1024 * 0.75)) = 5738 MB または 5875712 KB が使用され
ます。
有効な場合は、buffer-servi ce-max-reserve-kb の 25% を超える容量が使用されている
ときにバッファーマネージャーにより、正規の値キャッシュが自動的に使用されます。この結
果、類似の値セットが JBoss D ata Virtualization によって読み取られる場合にメモリー使用量
が大幅に削減されることがあります。ただし、ルックアップコストが発生します。JBoss D ata
Virtualization を使用して小さいデータセットまたは類似性が非常に高いデータセットを処理す
るときにメモリーを節約する場合は、値キャッシュの有効化を検討してください。
注記
メモリー消費量は、実際の列値と、値キャッシュが有効であるかどうかに応じて名目ター
ゲットよりも大幅に大きく、または小さくなることがあります。組み込みではない大きい
オブジェクトはデフォルトの推測サイズを超えることがあります。メモリー不足エラーが
発生した場合は、buffer-servi ce-max-reserve-kb 値を小さくします。また、ソー
ス LOB 値はバッチが永続化されたときに削除されなかったメモリー参照により保持され
ることに注意してください。LOB を大量に使用する場合は、LOB 参照に関連付けられた
他のメモリーのバッファーのサイズが適切に設定されていることを確認する必要がありま
す。
14 5
管理および設定ガイド
buffer-servi ce-max-pro cessi ng -kb
デフォルト値は -1 です。この設定により、buffer-servi ce-max-reserve-kb に基づいて
保持されるメモリー以外に、1 つのアクティブな計画で使用できるバッチの合計サイズ (キロバイ
ト単位) が決まります。すべてのアクティブな計画がアクティブな場合に JBoss D ata
Virtualization で必要な通常の最小メモリーは #(active-plans) * buffer-servi ce-maxpro cessi ng -kb です。-1 のデフォルト値により、VM で利用可能な最大ヒープとアクティブ
な最大計画数に基づいて一般的な最大値が自動的に計算されます。計算される値では、64 ビット
のアーキテクチャを前提とし、バッチ処理用の容量は最初の 300 メガバイト (JBoss EAP が使
用します) を超えるメモリーの 10% に制限されます。
たとえば、20 のアクティブな計画と 8GB VM サイズを含むデフォルト設定の場合、bufferservi ce-max-pro cessi ng -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-servi ce-max-pro cessi ng -kb を増加
し、buffer-servi ce-max-reserve-kb を減少して各要求が効果的な小さいバッファー領域
にアクセスできるようにすることができます。
buffer-servi ce-max-fi l e-si ze
デフォルト値は 2GB です。各中間結果バッファー、一時 LOB、および一意なテーブルは、独自
のバッファーファイルセットに格納されます。各ファイルは buffer-servi ce-max-fi l esi ze メガバイトに制限されます。インストールで内部的なマテリアライズを使用したり、
SQL/XML を頻繁に使用したり、大量の行数を処理したりする場合は、buffer-servi ce-maxbuffer-space を使用してこのようなすべてのファイルに利用可能なストレージ領域を増加す
ることを検討してください。
T EIID _AUD IT _LO G G ING および T EIID _C O MMAND _LO G G ING
TEIID _AUD IT_LOGGING および TEIID _COMMAND _LOGGING のロギングキュー長は増加させ
る必要があります。少なくとも、該当するノードの予想される同時レベルに設定する必要があり
ます。つまり、1,000 ユーザーがシステムを同時に使用することが予想される場合は、各キュー
長を 1k に設定し、そこから調整します。
バグを報告する
15.3. スケーラビリティーに関する考慮事項
管理 CLI を使用してすべての JBoss D ata Virtualization 設定に関する情報を見つけることができますが
(「JBoss D ata Virtualization の設定」を参照)、このセクションでは、スケーラビリティーに関連する設
定についての追加情報を提供します。
buffer-servi ce-pro cesso r-batch-si ze
デフォルト値は 256 です。このプロパティーは、クエリープロセッサー内で内部的に送信される
バッチの最大行数を指定します。非常に大きい VM サイズまたはデータセットが使用される場合
は、追加の考慮事項があります。JBoss D ata Virtualization には、バッチ/テーブルページごと
のオーバーヘッドの無視できない量 (100〜200 バイト) があります。関連するデータ型に応じ
て、完全な各バッチ/テーブルは可変行数 (プロセッサーバッチサイズ以上または以下を 2 の累乗
数で乗算) を表します。
非常に大きいデータセットを使用していてメモリー問題が発生した場合は、大きいバッチとテー
ブルページの割り当てを強制するために buffer-servi ce-pro cesso r-batch-si ze プロパ
ティーを増加することを検討してください。
buffer-servi ce-max-sto rag e-o bject-si ze
14 6
⁠第1 5章 パフォーマンスチューニング
デフォルト値は 8288608、つまり 8MB です。この値は、バッファリングされた管理対象オブ
ジェクトの最大サイズ (バイト単位) であり、個々のバッチページサイズを表します。
buffer-servi ce-pro cesso r-batch-si ze が増加された場合、または非常に幅広い結果
セットを使用している場合、buffer-servi ce-max-sto rag e-o bject-si ze のデフォルト
設定 (8MB) は小さすぎることがあります。また、インライン LOBS は、バッチにそれが含まれ
る場合はこのサイズに寄与します。buffer-servi ce-max-sto rag e-o bject-si ze のサイ
ズは、シリアライズ化されたサイズであり、buffer-servi ce-max-reserve-kb に使用され
る Java メモリーフットプリント推定値よりもローデータサイズにもっと近くなります。
buffer-servi ce-max-sto rag e-o bject-si ze は、メモリーバッファーのパフォーマンス
が低下するため、buffer-servi ce-memo ry-buffer-space よりもあまり大きく設定しない
でください。メモリーバッファーは buffer-servi ce-memo ry-buffer-space の各
buffer-servi ce-max-sto rag e-o bject-si ze に対して同時ライターを 1 つだけサポート
します。
注記
JBoss D ata Virtualization 一時テーブル (内部的なマテリアライズにも使用されます)
は、テーブルごとに 2^31-1 行だけサポートできます。
buffer-servi ce-memo ry-buffer-space
デフォルト値は -1 です。これにより、JBoss D ata Virtualization バッファーマネージャーが使
用するバイトバッファーとして割り当てられたオンまたはオフヒープメモリーの量が制御されま
す。この設定のデフォルト値は -1 です。これにより、オンヒープまたはオフヒープであるか、あ
るいは buffer-servi ce-max-reserve-kb の値に基づいて設定が自動的に決定されます。
注記
デフォルト設定のままの場合は、計算されるメモリーバッファー領域が bufferservi ce-max-reserve-kb 設定の約 4 分の 1 になります。メモリーバッファーがオフ
ヒープであり、buffer-servi ce-max-reserve-kb 設定が自動的に計算される場合
は、メモリーバッファー領域が効果的な buffer-servi ce-max-reserve-kb から引
かれます。
buffer-servi ce-memo ry-buffer-o ff-heap
デフォルト値は false です。バッファーマネージャーメモリーバッファーを使用してヒープに割
り当てずにシステムメモリーにアクセスするかどうかを決定します。buffer-servi cememo ry-buffer-o ff-heap を true に設定すると、JBoss D ata Virtualization メモリー
バッファーオフヒープが割り当てられます。インストールが JBoss D ata Virtualization 専用で
あるかどうかと利用可能なシステムメモリーの量に応じて、これは、オンヒープ割り当てよりも
適切な場合があります。
オフヒープメモリーの第一の利点は、追加のガーベッジコレクションチューニングなしで JBoss
D ata Virtualization 用にメモリー使用量を追加できることです。これは、JVM に 32GB を超え
るメモリーが必要な場合に特に重要です。オフヒープ割り当てを使用する場合は、プロセスがメ
モリーを使用できるようにする必要があります。値 buffer-servi ce-memo ry-bufferspace が大きすぎると、JVM がメモリーに留まらずにスワップすることがあります。また、オ
フヒープバッファーサイズが大きい場合 (数ギガバイト以上) は、JVM 設定を調整する必要があり
ます。
14 7
管理および設定ガイド
Sun JVM の場合、該当する JVM 設定は MaxD i rectMemo rySi ze と UseLarg eP ag es で
す。たとえば、
-XX:MaxDirectMemorySize=12g -XX:+UseLargePages
上記の内容を JVM プロセス引数に追加すると、JBoss EAP またはアプリケーションで必要とな
る可能性がある追加の直接メモリーに対応する約 11GB の JBoss D ata Virtualization メモリー
バッファー (buffer-servi ce-memo ry-buffer-space プロパティー) が効果的に割り当て
られます。
バグを報告する
15.4 . ディスク使用に関する考慮事項
管理 CLI を使用してすべての JBoss D ata Virtualization 設定に関する情報を見つけることができますが
(「JBoss D ata Virtualization の設定」を参照)、このセクションでは、ディスク使用に関連する設定につ
いての追加情報を提供します。
buffer-servi ce-max-buffer-space
デフォルト値は 51200 です。テーブルページと結果バッチについて、バッファーマネージャー
は、特定のストレージサイズ専用のファイルの数を制限します。ただし、Large Object (LOB) 値
を作成する場合 (たとえば、SQL/XML を使用)、通常、LOB が 8KBのメモリーサイズの許容値を
超えると、LOB ごとに 1 つのファイルが作成されます。使用量が大きい場合は、定期的に最適化
するパーティション上のバッファディレクトリーを参照することを検討してください。デフォル
トでは、JBoss D ata Virtualization はディスク領域を最大 50GB 使用します。これは、JBoss
D ata Virtualization が書き込むバイト数によって追跡されます。大きいデータセットの場合
は、buffer-servi ce-max-buffer-space プロパティーを増加する必要があることがあり
ます。
バグを報告する
15.5. スレッドに関する考慮事項
管理 CLI を使用してすべての JBoss D ata Virtualization 設定に関する情報を見つけることができますが
(「JBoss D ata Virtualization の設定」を参照)、このセクションでは、スレッドに関連する設定について
の追加情報を提供します。
max-thread s
デフォルト値は 64 です。クエリーエンジンには、スレッドの使用を決定する複数の設定があり
ます。max-thread s は、クエリーエンジンの作業 (処理計画、トランザクション制御操作、処
理ソースクエリーなど) 用のプロセスプールで利用可能なスレッドの合計数を設定します。
大量の利用可能なプロセッサの場合、または大量の同時ソース要求に関連する非トランザクショ
ンクエリーを発行する必要がある場合は、システムで最大スレッド数を増加することを検討して
ください。
max-acti ve-pl ans
デフォルト値は 20 です。この値は、常に max-thread s よりも小さくする必要があります。
(max-thread s / max-acti ve-pl ans) * 2 の計算は、各ユーザークエリーの処理に使用できる
max-thread s の数を示しています。
大量の利用可能なプロセッサで大量のクエリーまたはシステムを長時間実行するワークロードの
場合は、max-acti ve-pl ans を増加することを検討してください。max-thread s と max-
14 8
⁠第1 5章 パフォーマンスチューニング
acti ve-pl ans を増加するときにメモリー問題が発生した場合は、各計画で消費するメモリー
行のベース数を制限するために buffer-servi ce-pro cesso r-batch-si ze を減少すること
を検討してください。
thread -co unt-fo r-so urce-co ncurrency
デフォルト値は 0 です。この値は、常に max-thread s よりも小さくする必要があります。この
プロパティーは、ユーザー要求ごとに同時に実行するソースクエリーの数を設定します。0 は 2 *
(max-thread s / max-acti ve-pl ans) に基づいて計算されたデフォルト値を使用することを
示します。これを 1 に設定すると、処理スレッドによりすべてのソースクエリーが連続して実行
されます。1 よりも大きい値を設定すると、同時に実行するソースクエリーの最大数が制限され
ます。
デフォルト値を使用すると、各ユーザー要求に 6 つの同時実行ソースクエリーが許可されます。
計算されたデフォルト値がワークロードに該当しない場合 (たとえば、クエリーで長時間実行する
同時ソースクエリーをさらに生成する場合) は、この値を調整することを検討してください。
max-so cket-thread s については、「トランスポートに関する考慮事項」も参照してください。
バグを報告する
15.6. キャッシュに関する考慮事項
管理 CLI を使用してすべての JBoss D ata Virtualization 設定に関する情報を見つけることができますが
(「JBoss D ata Virtualization の設定」を参照)、このセクションでは、キャッシュに関連する設定につい
ての追加情報を提供します。
キャッシュチューニングに関する JBoss D ata Virtualization 設定は、以下の 2 つに分けられます。
結果セットキャッシュチューニング
準備された計画キャッシュチューニング
キャッシュ統計は、管理コンソールまたは AdminShell で取得できます。この統計は、キャッシュパラ
メーターをチューニングし、ヒット比率を確保するために使用できます。
計画は現在メモリーに完全に保持され、メモリーフットプリントは非常に大きい可能性があります。準備さ
れたステートメントまたは仮想プロシージャーを大量に使用する場合は、計画キャッシュのサイズを
JBoss D ata Virtualization が使用するギガバイト数に応じて増加できます。
結果キャッシュパラメーターがキャッシュ結果エントリー (最大数やエビクションなど) を制御する一方
で、結果バッチ自体はバッファーマネージャーによってアクセスされます。結果キャッシュのサイズを増
加する場合は、十分なバッファー領域を確保するためにバッファーマネージャー設定をチューニングする
必要があることがあります。
結果セットと準備された計画キャッシュには、データおよびメタデータイベントにより無効にされたエント
リーがあります。デフォルトでは、これらのイベントは JBoss D ata Virtualization からコマンドを実行す
ることにより取得されます (カスタマイズの詳細については、『Red Hat JBoss D ata Virtualization
D eveloper Guide』を参照してください)。JBoss D ata Virtualization には、準備された計画とともにコン
パイルされた形式の更新計画またはトリガーアクションが格納されているため、メタデータが変更される
と、その変更がすぐに反映されることがあります。
すぐに変更されるソースで効率性を上げるために、結果セットキャッシュのデフォルトの resul tsetcache-max-stal eness は 60 秒になっています。結果セットキャッシュと基礎となるデータとの整合
性を上げる場合は、この値を減少させることを検討してください。設定値が 0 であっても、完全なトランザ
クションの整合性は保証されません。
14 9
管理および設定ガイド
警告
これらのキャッシュを無効にしたり、制限したりすると、パフォーマンスが低下します。
バグを報告する
15.7. トランスポートに関する考慮事項
管理 CLI を使用してすべての JBoss D ata Virtualization 設定に関する情報を見つけることができますが
(「JBoss D ata Virtualization の設定」を参照)、このセクションでは、トランスポートに関連する設定に
ついての追加情報を提供します。
JBoss D ata Virtualization は、デフォルトで odbc、jdbc、および組み込みの 3 つのトランスポートを提
供します。それぞれに対してトランスポート設定 (以下に示されるような設定) が指定されます。
max-so cket-thread s
デフォルト値は 0 です。初期要求処理専用のスレッドの最大数が決定されます。ゼロは、利用可
能な最大プロセッサ数のシステムデフォルト値を使用することを示します。ソケットスレッドは
NIO 非ブロック IO 操作を処理し、ブロックなしで実行できるすべての操作を直接処理します。
長時間実行されている操作の場合、ソケットスレッドはクエリーエンジンでワークをキューに格
納します (クエリーエンジンには、スレッドの使用を決定する max-thread s と max-acti vepl ans の 2 つのプロパティーがあります)。
すべての JD BC/OD BC ソケットの操作は非ブロックであり、max-so cket-thread s の数をマ
シンの効果的な最大並列処理数よりも大きく設定すると、パフォーマンスが低下することがあり
ます。
OD BC クエリーはソケットスレッドから同時に実行されます。クエリーが長時間同時に実行され
ると、利用可能なスレッドが枯渇することがあります。同時に長時間実行されるクエリーの高い
負荷が予想される場合は、デフォルトの max-so cket-thread s を増加させることを検討して
ください (たとえば、15 に増加)。
i nput-buffer-si ze
デフォルト値は、システムデフォルト値を使用する 0 です。トランスポートに対して i nputbuffer-si ze を調整する前に、各クライアントが新しいソケット接続を作成することに注意し
てください。この値の増加は、クライアント数が制限されている場合のみ行ってください。
o utput-buffer-si ze
デフォルト値は、システムデフォルト値を使用する 0 です。トランスポートに対して o utputbuffer-si ze を調整する前に、各クライアントが新しいソケット接続を作成することに注意し
てください。この値の増加は、クライアント数が制限されている場合のみ行ってください。
JD BC クライアントは、クライアントアプリケーションのクラスパスに指定された tei i d -cl i entsetti ng s. pro perti es ファイルを介した SSL クライアント接続プロパティー以外に、低レベルトラン
スポート値を調整する必要がある場合があります (サンプルファイルは
EAP_HOME/mo d ul es/system/l ayers/base/o rg /jbo ss/tei i d /cl i ent/mai n/tei i d cl i ent-VERSION. jar ファイル内にあります)。
150
⁠第1 5章 パフォーマンスチューニング
注記
通常のインストールでは、これらの設定を調整する必要がありません。
バグを報告する
15.8. Large Object (LOB)
Large Object (LOB) はデータから構成されます。JBoss で使用される主な Large Object ランタイムデー
タ型は以下の 3 つです。
1. Binary (BLOB)
画像や音声などのマルチメディアオブジェクトを含みます。
2. Character (CLOB)
ASCII 文字を含みます。
3. Extensible Markup Language (XML)
テキストデータを含みます。
LO B および JB o ss
JBoss D ata Services Connector API は、LOB への参照を返します (JBoss D ata Services サーバーで許
可された場合)。JBoss D ata Services サーバーまたは JD BC ドライバーは、一度にすべてのデータを取得
する代わりにストリームからデータにアクセスできます。これは以下の複数の理由により役に立ちます。
結果セットをユーザーに返すときにメモリー使用量を削減します。
結果セットで少ないデータを渡すことにより、パフォーマンスを向上します。
ユーザーが常に LOB データを使用することを前提とする代わりに、必要なときに LOB にアクセスする
ようにします。
固定された JBoss D ata Services メモリー使用量内での任意の大きいデータ値の処理を有効にします。
これらの利点は、コネクター自体が一度に LOB 全体をマテリアライズしない場合に実現されます。たとえ
ば、JD BC API は BLOB および CLOB データのストリーミングインターフェースをサポートします。
ソース LOB 値は、一時的な場所にコピーされるのではなく、通常参照によりアクセスされます。ソース
LOB がメモリーセーフの方法で返されるようにする必要があります。
LOB は、作成され、ストリーミングされるときに分割されます。各部分のサイズは、クライアントが
フェッチするときに設定できます。
バグを報告する
15.9. LOB に関する考慮事項
管理 CLI を使用してすべての JBoss D ata Virtualization 設定に関する情報を見つけることができますが
(「JBoss D ata Virtualization の設定」を参照)、このセクションでは、Large Object (LOB) に関連する設
定についての追加情報を提供します。
l o b-chunk-si ze-i n-kb
151
管理および設定ガイド
LOB および XML ドキュメントは JBoss D ata Virtualization サーバーから JD BC API にスト
リーミングされます。通常、これらの値はサーバーメモリーでマテリアライズされず、メモリー
不足の問題が回避されます。スタイルシートまたは XQuery を使用する場合は、XML ドキュメン
ト全体をサーバーでマテリアライズする必要があります。XMLQuery 関数または XMLTable 関数
を使用し、ドキュメントプロジェクションが適用される場合であっても、大きいドキュメントに
対してメモリーの問題が発生することがあります。
LOB は、作成され、ストリーミングされるときに分割されます。各部分の最大サイズは、クライ
アントがフェッチするときに l o b-chunk-si ze-i n-kb プロパティーで設定できます。
デフォルト値は 100 です。非常に大きい LOB を使用する場合は、結果をストリーミングするラ
ウンドトリップの量を減少するために l o b-chunk-si ze-i n-kb を増加することを検討してく
ださい。設定値が大きすぎると、サーバーまたはクライアントでメモリーの問題が発生すること
があります。
ソース LOB 値は、一時的な場所にコピーされるのではなく、通常参照によりアクセスされます。
したがって、ソース LOB がメモリーセーフの方法で返されるようにする必要があります。これ
は、LOB の VM メモリーを消費しないソースドライバーベンダーに特に当てはまります。
バグを報告する
15.10. 他のパフォーマンスチューニングに関する注意点
管理 CLI を使用してすべての JBoss D ata Services 設定に関する情報を見つけることができますが
(「JBoss D ata Virtualization の設定」を参照)、このセクションでは、max-so urce-ro ws 設定に関する
追加情報を提供します。
max-so urce-ro ws
JBoss D ata Services をデプロイメント環境で使用する場合は、ソースが大量の大きなデータを
取得することを回避するために max-so urce-ro ws を小さい値 (たとえば、10000) に設定する
ことを検討してください。excepti o n-o n-max-so urce-ro ws プロパティーを true に設定
したままにすると、指定された行数よりも多い行数を取得することが試行されたことを示す例外
が開発者に通知されます。
バグを報告する
152
⁠パート VI. リファレンス
⁠パート VI. リファレンス
153
管理および設定ガイド
第16章 全般設定
16.1. JBoss Dat a Virt ualiz at ion の設定
以下の種類の JBoss D ata Virtualization 設定を表示および変更できます。
バッファーサービス設定
キャッシュ設定 (結果セットおよび準備された計画キャッシュ設定を含む)
ランタイムエンジンデプロイヤーの設定
承認バリデーターおよびポリシーディサイダーの設定
トランスポートおよび SSL の設定
トランスレーターの設定
JBoss D ata Virtualization の利用可能なすべての設定を参照するには、管理 CLI 内で以下のコマンドを実
行します。
/subsystem=teiid:read-resource-description
注記
トランスレーターおよびトランスポート(SSL を含む) の設定の詳細については、「管理 CLI を使用
したトランスポートおよび SSL の設定の管理」と「管理 CLI を使用したトランスレーター設定の管
理」を参照してください。
バグを報告する
16.2. 管理 CLI を使用した JBoss Dat a Virt ualiz at ion 設定の表示
JBoss D ata Virtualization の現在のすべての設定を参照するには、管理 CLI 内で以下のコマンドを実行し
ます。
/subsystem=teiid:read-resource
特定の JBoss D ata Virtualization 設定を表示するには、管理 CLI 内で以下のコマンドを実行します。
/subsystem=teiid:read-attribute(name=SETTING_NAME)
例:
/subsystem=teiid:read-attribute(name=max-active-plans)
154
⁠第1 6 章 全般設定
注記
現在のトランスレーターおよびトランスポート(SSL を含む) 設定を表示するには、「管理 CLI を使
用したトランスポートおよび SSL の設定の管理」と「管理 CLI を使用したトランスレーター設定の
管理」を参照してください。
バグを報告する
16.3. 管理 CLI を使用した JBoss Dat a Virt ualiz at ion 設定の変更
特定の JBoss D ata Virtualization 設定を編集するには、管理 CLI 内で以下のコマンドを実行します。
/subsystem=teiid:write-attribute(name=SETTING_NAME, value=VALUE)
注記
トランスレーターおよびトランスポート(SSL を含む) 設定を変更するには、「管理 CLI を使用した
トランスポートおよび SSL の設定の管理」と「管理 CLI を使用したトランスレーター設定の管
理」を参照してください。
例:
/subsystem=teiid:write-attribute(name=max-active-plans, value=50)
管理 CLI の詳細については、Red Hat JBoss Enterprise Application Platform 『管理および設定ガイ
ド』を参照してください。
注記
これらの設定を変更したあとで、サーバーをリロードすることが求められます。これらの設定の変更
は、サーバーが再起動するまで反映されません。サーバーは、管理 CLI 内から rel o ad コマンドを
実行することによりリロードできます。サーバーのリロード後は、管理 CLI 内で作業を続行するため
に co nnect コマンドを実行して再接続する必要がある場合があります。
バグを報告する
16.4 . 管理 CLI を使用したトランスポートおよび SSL の設定の管理
JBoss D ata Virtualization トランスポート設定を管理するには、基本的な JBoss D ata Virtualization 設
定に使用されたものと同じコマンドを使用してコマンドで特定のトランスポートを指定します。例を以下に
示します。
/subsystem=teiid/transport=TRANSPORT_NAME:read-resource
現在の JBoss D ata Virtualization 設定を出力するために以下のコマンドを実行すると、利用可能なトラン
スポート名が transpo rt 下にリストされます。
155
管理および設定ガイド
/subsystem=teiid:read-resource
バグを報告する
16.5. 管理 CLI を使用したトランスレーター設定の管理
JBoss D ata Virtualization トランスレーター設定を管理するには、基本的な JBoss D ata Virtualization
設定に使用されたものと同じコマンドを使用してコマンドで特定のトランスレーターを指定します。例を以
下に示します。
/subsystem=teiid/translator=TRANSLATOR_NAME:read-resource
現在の JBoss D ata Virtualization 設定を出力するために以下のコマンドを実行すると、利用可能なトラン
スレーター名が transl ato r 下にリストされます。
/subsystem=teiid:read-resource
バグを報告する
16.6. SSL 認証モード
SSL 設定の場合は、以下の認証モードが利用可能です。
ano nymo us
証明書は交換されません。キーストアおよびトラストストアプロパティーの設定は必要ありませ
ん。クライアントでは匿名サーバーに接続するために o rg . tei i d . ssl . al l o wAno n を true
(デフォルト値) に設定する必要があります。通信は
TLS_D H_anon_WITH_AES_128_CBC_SHA SSL 暗号スイートを使用して暗号化されます。こ
れはほとんどのセキュアイントラネットに適切です。
1-way
クライアントに対してサーバーを認証します。サーバーは、サーバーのキーストアに格納された
プライベートキーで署名された証明書を提供します。対応するサーバーのパブリックキーはクラ
イアントのトラストストアに存在する必要があります。
2-way
クライアントとサーバーの相互認証。サーバーは、サーバーのキーストアに格納されたプライ
ベートキーで署名された証明書を提供します。対応するサーバーのパブリックキーはクライアン
トのトラストストアに存在する必要があります。また、クライアントは、クライアントのキース
トアに格納されたプライベートキーで署名された証明書を提供します。対応するクライアントの
パブリックキーは、サーバーのトラストストアに存在する必要があります。
注記
keyt o o l を使用して暗号化キーを生成できますが、最初にパブリックキー暗号化を管理するために
ローカルの要件を検討する必要があります。
バグを報告する
156
⁠第1 6 章 全般設定
16.7. JBoss 管理コンソールを使用したコア設定の管理
1. JBoss 管理コンソールにログインします。
2. P ro fi l e タブを選択します。
3. ナビゲーションツリーから、Su b syst ems → T eiid を選択します。
4. 以下のオプションのいずれかを選択します。
Query Engine - ここから、コアクエリーエンジンプロパティーを参照および設定できます。
Translators - ここから、トランスレーターを参照、追加、および削除できます。
Transports - ここから、トランスポートを参照、追加、および削除できます。
5. 必要に応じて設定を参照および変更できます。
注記
ヘルプが必要な場合は、Need Hel p? リンクを選択します。
警告
一部のプロパティーでは、有効にする前にサーバーを再起動する必要があります。
バグを報告する
16.8. Red Hat JBoss Dat a Virt ualiz at ion で使用されるポート
Red Hat JBoss D ata Virtualization は、JBoss Enterprise Application Platform で使用されたポートを継
承します。完全なリストについては、https://access.redhat.com/documentation/enUS/JBoss_Enterprise_Application_Platform/6/html/Administration_and_Configuration_Guide/Network
_Ports_Used_By_JBoss_Enterprise_Application_Platform_62.html を参照してください。
また、ポート 31000 および 35432 もオープンにする必要があります。
バグを報告する
16.9. 管理コンソールを使用したデフォルトの JDBC ポートの変更
1. 管理コンソールへログインします。
2. 管理コンソールでの So cket Bi nd i ng パネルへのナビゲート
a. A. スタンドアロンモード
コンソールの右上より P ro fi l e タブを選択します。
B. ドメインモード
157
管理および設定ガイド
i. コンソールの右上より P ro fi l es タブを選択します。
ii. 左上のドロップダウンボックスより該当するプロファイルを選択します。
iii. コンソールの左側にある Su b syst ems メニューを展開します。
b. コンソールの左側のメニューから G en eral C o n f ig u rat io n → So cket B in d in g を選
択します。
3. ポート番号の変更
a. tei i d -jd bc 設定を選択します。
b. Ed i t ボタンを選択します。
c. P o rt に新しいポート番号を設定します。
d. Save を選択します。
バグを報告する
16.10. システムプロパティー
一部の動作は、設定ファイルではなくシステムプロパティーで設定できます。JBoss D ata Virtualization
のシステムプロパティーを設定する通常の場所は EAP_HOME/bin/MODE.conf です。プロパティー設定の
形式は -D property= value です。
表16 .1 システムプロパティー
設定
説明
デフォルト値
org.teiid.allowNanInfinity
数値関数が NaN (Not A Number)
および +-Infinity を返すことを許
可する場合は、true に設定しま
す。これらの値は SQL の仕様に
準拠しないことに注意してくださ
い。
正規の値キャッシュを有効にする
場合は true に設定します。値
キャッシュは、同一の値を再使用
するためにバッファーメモリーの
空き容量が小さくなり、JBoss
D ata Virtualization が消費する
メモリーが削減されるときに動的
に使用されます。ただし、キャッ
シュルックアップに関連する計
算コストがある場合、類似しない
大量のデータを処理するインス
トールに対してこの設定を有効に
することは適切ではありません。
先頭の識別子部分がない、二重引
用符に囲まれた値を文字列リテラ
ルとして処理する以前の動作をエ
ミュレートする場合は false に設
定します。この動作は SQL の仕
様で期待されません。
デフォルトでは false に設定され
ます。
org.teiid.useValueCache
org.teiid.ansiQuotedIdentifiers
158
デフォルトでは false に設定され
ます。
デフォルトでは true に設定され
ます。
⁠第1 6 章 全般設定
設定
説明
org.teiid.subqueryUnnestD efau サブクエリーの IN 述語および
lt
EXISTS 述語を積極的にネスト解
除する場合は true に設定しま
す。可能な場合は、述語が従来の
結合にネスト解除され、依存結合
計画に使用できます。従来の結合
が可能でない場合 (NOT IN を使
用する場合など) は、利用可能な
コスト情報に基いて、セミ結合ま
たはアンチ結合のマージ結合バー
ジョンが考慮されます。
org.teiid.OD BCPacketSize
OD BC 結果バッファーのター
ゲットサイズ (バイト単位)。これ
はハードな最大値ではなく、
LOBS 行およびワイド行がさらに
大きいバッファーを使用すること
があります。
org.teiid.decimalAsD ouble
固定小数点リテラル (たとえば
1.0) を 10 進数/BigD ecimal 値で
はなく double 値として解析し、
以前のバージョンと同じように整
数値用の AVG 関数から double
値を返す場合は true に設定され
ます。
org.teiid.comparableLobs
JBoss D ata Virtualization で
BLOB と CLOB の列値を比較す
ることを許可する場合は、true に
設定します。ソースタイプメタ
データにより、比較をプッシュダ
ウンできるかどうかが決まりま
す。
org.teiid.comparableObject
JBoss D ata Virtualization でオ
ブジェクト列値を比較することを
許可する場合は、true に設定しま
す。ソースタイプメタデータによ
り、比較をプッシュダウンできる
かどうかが決まります。オブジェ
クトインスタンス
は、java. l ang . C o mparabl
e. co mpareT o を適切に実装す
ることが期待されます。インスタ
ンスオブジェクトが
C o mparabl e でない場合
は、C l assC astExcepti o ns
がスローされることがあります。
org.teiid.padSpace
PAD SPACE 照合が使用される場
合のように文字列を比較するとき
は true に設定します。つまり、
文字列は比較のために同じ長さに
パディングされます。このプロパ
ティーが設定された場合
は、tri mStri ng s トランスレー
ターオプションを使用する必要が
ありません。
デフォルト値
デフォルトでは false に設定され
ます。
デフォルト値は 307200 です。
デフォルトでは false に設定され
ます。
デフォルトでは false に設定され
ます。
デフォルトでは false に設定され
ます。
デフォルトでは false に設定され
ます。
159
管理および設定ガイド
設定
説明
Java ロケール文字列言語
[_country[_varient]] に設定しま
す。ここで、言語、国、および種
類は 2 文字のコードです。有効な
コードの詳細について
は、java.util.Locale を参照して
くださ
い。o rg . tei i d . co mparabl
eLo bs が設定されている場合で
あっても、CLOB 値はロケールコ
レーターを使用して比較されませ
ん。
org.teiid.clientVdbLoadTimeout クライアント (現時点ではローカ
Millis
ルクライアントのみ) がアクティ
ブな VD B に接続する場合に例外
をスローするまで待機するデフォ
ルトの時間。クライアントは
wai tFo rLo ad 接続プロパ
ティーを使用してこの設定を上書
きすることがあります。
org.teiid.enD ateNames
Java デフォルトロケールから名
前を返す代わりにシステム関数
d ayName および mo nthName に
対して英語の月名および曜日名を
使用する場合は、true に設定しま
す。このリリースより前
は、d ayName と mo nthName は
常に英語の名前を返していまし
た。
org.teiid.pushdownD efaultNull ソースのデフォルトの null 順序
Order
が異なり、明示的な null 順序が
サポートされるときに、null のデ
フォルトの null 順序を低下させ
る以前のリリースの動作を真似る
場合は、true に設定します。
org.teiid.implicitMultiSourceJoi 複数ソーステーブル間で暗黙的に
n
結合を分割する以前のリリースの
動作を無効にする場合は、false
に設定します。false に設定され
た場合は、結合の結果を分割する
ために tbl 1. so urce_name =
tbl 2. so urce_name などの明
示的な述語が必要です。
org.teiid.joinPrefetchBatches
ソースからストリームできる結合
処理に対してプリフェッチまたは
バッファできるバッチの数を設
定します。スローな
ALREAD Y_SORTED ソースが多
数のバッチを返す非依存結合に参
加する場合は、増加することを検
討してください。 ただし、この
値により、バッファリングを実行
するためにディスクの使用率が増
加することがあります。
org.teiid.collationLocale
160
デフォルト値
デフォルトでは設定されません。
つまり、Java の通常の (UTF-16)
文字列比較が使用されます。
デフォルト値は 5 分です。
デフォルトでは false に設定され
ます。
デフォルトでは false に設定され
ます。
デフォルトでは true に設定され
ます。
デフォルト値は 10 です。
⁠第1 6 章 全般設定
設定
説明
デフォルト値
org.teiid.maxStringLength
JBoss D ata Virtualization で文
デフォルト値は 4000 です。
字列の名目最大長を設定します。
ほとんどの操作では、この値より
も大きい文字列の部分が切り捨て
られます。この値を設定すること
により、メモリに保持される
LOB バイトの最大サイズを調整
することもできます。ソースがサ
ポートするよりも大きい文字列値
を適切に処理できないことがある
ことに注意してください。
警告
文字列は全体がメモリに保
持されます。メモリ不足の
エラーが発生することがあ
るため、この値をあまり高
く設定しないでください。
org.teiid.calendarTimestampD if 以前のバージョンの
デフォルトでは true に設定され
f
timestampdiff の動作を使用する ます。
場合は、false に設定します。古
い動作を使用すると、秒よりも大
きい間隔に対する timestampdiff
のプッシュバージョンと非プッ
シュバージョン間の結果が異なる
ことがあることに注意してくださ
い。
PostgreSQL との互換性を維持するために、以下のプロパティーが提供されます。
表16 .2 Po st g reSQ L との互換性を維持するためのシステムプロパティー
設定
説明
デフォルト値
org.teiid.iso8601Week
ロケールに関係なく、週の計算に デフォルトでは false に設定され
ISO 8601 ルールを使用する場合 ます。
は、true に設定します。true に設
定されると、d ayO fWeek 関数が
日曜日ではなく月曜日を 1 で開始
します。週の関数では、 1 年のそ
の週に 1 年の最初の木曜日が含ま
れている必要があります。
161
管理および設定ガイド
設定
説明
デフォルト値
org.teiid.backslashD efaultMatc
hEscape
エスケープが指定されないときに デフォルトでは false に設定され
LIKE 述語および SIMILAR TO 述 ます。
語のデフォルトのエスケープ文字
として '\' を使用する場合は true
に設定します。それ以外の場合、
JBoss D ata Virtualization で
は、ワイルドカード以外の各文字
を完全一致文字として処理する
SQL 仕様準拠の動作を前提とし
ます。
注記
PostgreSQL との互換性を維持するためのこれらのプロパティーにより、OD BC トランスポートだ
けでなく JBoss D ata Virtualization 全体が影響を受けます。
バグを報告する
162
⁠第1 7 章 ディレクトリー構造
第17章 ディレクトリー構造
17.1. ディレクトリー構造
以下は、EAP インスタンス内の JBoss D ata Virtualization デプロイメントの内容を示しています。
/bin
/scripts
/docs
/teiid
/datsources
/schema
/examples
/domain
/configuration
teiid-security-users.properties
teiid-security-roles.properties
/modules
/system
/layers
/base
/ord/jboss/teiid/*
/standalone
/configuration
standalone-teiid.xml
teiid-security-users.properties
teiid-security-roles.properties
b in /scrip t s
このディレクトリーには、インストールおよびユーティリティー CLI スクリプトが含まれます。
d o cs/t eiid
このディレクトリーには、ドキュメント、例、サンプルデータソース XML の一部、およびスキー
マファイルが含まれます。
st an d alo n e/co n f ig u rat io n
stand al o ne-tei i d . xml は、JBoss D ata Virtualization 向けのマスター設定ファイルで
す。このファイルは、標準的な JBoss EAP ウェブプロファイルサブシステムに加えて
JBoss D ata Virtualization サブシステムの設定を管理します。
tei i d -securi ty-users. pro perti es と tei i d -securi ty-ro l es. pro perti es
は、デフォルトのセキュリティードメインを使用して許可ユーザーとそのロールを定義しま
す。ユーザーを追加するにはこれらのファイルを編集します。異なるセキュリティードメイ
ンを使用する場合は、メイン設定ファイルでセキュリティードメイン詳細を変更します。
d o main /co n f ig u rat io n
tei i d -securi ty-users. pro perti es と tei i d -securi ty-ro l es. pro perti es
は、デフォルトのセキュリティードメインを使用して JBoss D ata Virtualization で許可ユー
ザーとそのロールを定義します。ユーザーを追加するにはこれらのファイルを編集します。異
なるセキュリティードメインを使用する場合は、メイン設定ファイルでセキュリティードメ
イン詳細を変更します。
163
管理および設定ガイド
/mo d u les/syst em/layers/b ase/o rg /jb o ss/t eiid /*
このディレクトリーでは、JBoss EAP 用 JBoss D ata Virtualization モジュールが定義されま
す。
/mo d u les/syst em/layers/b ase/o rg /jb o ss/t eiid /clien t
このディレクトリーには、JBoss D ata Virtualization クライアントライブラリーが含まれます。
また、JBoss D ata Virtualization JD BC ドライバー JAR ファイルである tei i d 8. 4 . 0 . Fi nal -jd bc. jar と、JBoss D ata Virtualization Hibernate ダイアレクトを含む
tei i d -hi bernate-d i al ect-8. 4 . 0 . Fi nal . jar が含まれます。
{st an d alo n e,d o main }/t mp /t eiid
このディレクトリーには、JBoss D ata Virtualization により作成された一時ファイルが含まれま
す。ほとんどの場合、これらのファイルはバッファーマネージャーにより作成されます。また、
これらのファイルは VM の再起動で必要ありません。JBoss D ata Virtualization LOB 値を作成
する場合 (たとえば、SQL/XML を使用)、通常、8KBのメモリーサイズの許容値が超えると、LOB
ごとに 1 つのファイルが作成されます。使用量が大きい場合は、定期的に最適化するパーティ
ションでバッファディレクトリーを参照することを検討してください。
{st an d alo n e,d o main }/d at a/t eiid - d at a
このディレクトリーには、キャッシュ済み VD B メタデータファイルが含まれます。これらの
ファイルは手動で編集しないでください。
バグを報告する
164
⁠付録A 改訂履歴
付録A 改訂履歴
改訂 6 .2.0- 03.1
Sat Au g 22 2015
バージョン 6.1 を日本語に翻訳
T aku ro N ag amo t o
改訂 6 .2.0- 03
6.2 用に更新
D avid Le Sag e
Fri Ju n 5 2015
165