ナビゲーションをスキップ

WebLogic JMS のコンフィグレーションと管理

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

概要とロードマップ

この章では、『WebLogic JMS のコンフィグレーションと管理』の内容と構成について説明します。

 


マニュアルの内容と対象読者

このマニュアルは、JMS サーバ、スタンドアロンの送り先 (キューとトピック)、分散送り先、接続ファクトリなどの WebLogic JMS リソースのコンフィグレーション、管理、およびモニタを担当するシステム管理者を対象としています。

このマニュアルでは、プロダクション段階での管理、モニタ、パフォーマンス チューニングに関するトピックを取り上げます。このマニュアルでは、ソフトウェア プロジェクトのプロダクション前の開発またはテスト段階については説明しません。これらのトピックに関する WebLogic Server のドキュメントとリソースへのリンクについては、「関連ドキュメント」を参照してください。

このマニュアルは、WebLogic Server のシステム管理に精通している読者を対象としています。このマニュアルでは、WebLogic Server JMS の付加価値機能と、WebLogic Server 機能を使用して WebLogic JMS をプロダクション環境で管理するための主要な情報を重点的に扱います。

 


このマニュアルのガイド

 


関連ドキュメント

このマニュアルには、JMS 固有のコンフィグレーションおよび管理上の情報が含まれています。

WebLogic Server アプリケーションを開発、デプロイ、およびモニタするための包括的なガイドラインについては、以下のドキュメントを参照してください。

 


JMS 管理者向けのサンプルとチュートリアル

このマニュアルの他にも、さまざまな JMS コード サンプルとチュートリアルが用意されています。これらのサンプルとチュートリアルでは、JMS のコンフィグレーションと API の使い方、および主要な JMS 開発タスクを実行する実際的な手順が示されています。独自のシステムをコンフィグレーションする前に、まず JMS サンプルの一部またはすべてを実行することをお勧めします。

Avitek Medical Records アプリケーション (MedRec) とチュートリアル

MedRec は WebLogic Server に付属したエンドツーエンドのサンプル J2EE アプリケーションであり、一元的で独立した医療記録管理システムをシミュレートします。MedRec アプリケーションでは、患者、医師、および管理者に対して、さまざまなクライアントを使用して患者のデータを管理するフレームワークが提供されます。

MedRec では WebLogic Server と J2EE の機能が例示され、BEA 推奨のベスト プラクティスが重点的に示されます。MedRec は WebLogic Server 配布キットに含まれており、Windows マシンの [スタート] メニューからアクセスできます。Linux などのプラットフォームでは、WL_HOME\samples\domains\medrec ディレクトリから MedRec を起動します。WL_HOME は、WebLogic Platform の最上位インストール ディレクトリです。

MedRec には、Web アプリケーション、Web サービス、ワークフロー アプリケーション、および将来のクライアント アプリケーションからのリクエストを連携して処理する複数のエンタープライズ Java Bean (EJB) で主に構成されるサービス層があります。このアプリケーションには、メッセージ駆動型 EJB、ステートレス セッション EJB、ステートフル セッション EJB、およびエンティティ EJB が含まれます。

WebLogic Server 配布キットの JMS サンプル

WebLogic Server 9.0 では、任意で API サンプル コードが WL_HOME\samples\server\examples\src\examples にインストールされます。WL_HOME は WebLogic Server インストール先の最上位ディレクトリを示します。[スタート] メニューの [WebLogic Server Examples] から、サンプル サーバを起動すると、サンプルおよびその実行手順に関する情報を確認できます。

ダウンロード可能な他の JMS サンプル

http://www.beasys.co.jp/dev2dev/code/index.html で、他の API サンプルをダウンロードできます。それらのサンプルは .zip ファイルとして配布されており、既存の WebLogic Server サンプル ディレクトリ構造に解凍することができます。

ダウンロードしたサンプルは、インストール済みの WebLogic Server サンプルと同じ方法でビルドおよび実行します。詳細については、各サンプルのダウンロード ページを参照してください (http://www.beasys.co.jp/dev2dev/code/index.html)。

 


このリリースでの JMS の新機能と変更点

WebLogic Server 9.0 では、WebLogic JMS のコンフィグレーション、デプロイメント、および動的な管理に関して、大きな変更が行われています。

JMS 1.1 仕様のサポート

WebLogic Server 9.0 は、プロダクションでの使用に対応する JMS 1.1 仕様に準拠しており、キューとトピックの両方に機能する統一された API をサポートしています。詳細については、Sun Web サイトの Java JMS 技術のページ (http://java.sun.com/products/jms/) を参照してください。

JMS リソースのモジュール形式のコンフィグレーションとデプロイメント

WebLogic Server 9.0 の JMS コンフィグレーションは、標準の J2EE モジュールと同様に、weblogic-jmsmd.xsd スキーマに準拠する XML ファイルによって定義されたモジュールの形で格納されます。管理者は、グローバルなシステム リソースとして、J2EE アプリケーションと共にパッケージ化されるモジュール (パッケージ化されたリソース) として、またはグローバルに使用可能なスタンドアロンのモジュールとして、JMS モジュールを作成および管理できます。JMS リソースのモジュール形式のデプロイメントを利用すると、エンタープライズ アプリケーション ファイル (EAR ファイルなど) や JMS スタンドアロン モジュールを開いたり、JMS の手動による膨大な再コンフィグレーションを行わずに、アプリケーションと必要な JMS コンフィグレーションを、ある環境から別の環境に (たとえば、テスト環境からプロダクション環境に) 移行できます。

詳細については、「JMS システム リソースのコンフィグレーション」を参照してください。

可用性の高いメッセージ生成のためのストア アンド フォワード

JMS ストア アンド フォワード機能は、WebLogic ストア アンド フォワード (SAF) サービス上に構築され、高可用性を備えた JMS メッセージ生成を行います。たとえば、ローカル サーバ インスタンスに接続された JMS メッセージ プロデューサは、メッセージ送信時にリモートの送り先が一時的に利用できない場合でも、リモートの JMS 送り先に確実にメッセージを転送できます。永続 JMS メッセージは、常に [かならず 1 回] のサービス品質で転送されます。非永続 JMS メッセージの場合、アプリケーションは [1 回以上] および [最大 1 回] のサービス品質を使用できます。JMS ストア アンド フォワードは、リリース 9.0 の新機能を含むすべての WebLogic JMS 機能と連携して動作します。

詳細については、『WebLogic ストア アンド フォワードのコンフィグレーションと管理』の「Understanding the Store-and-Forward Service」を参照してください。

実行時のメッセージ管理の強化

大幅に強化された新しいメッセージ管理機能により、JMS 管理者は、Administration Console または新しいパブリックな実行時 API を使用して、実行中の JMS サーバですべてのメッセージを表示したり、ほとんどのメッセージを操作できるようになりました。このメッセージ管理機能には、トランザクション管理、恒久サブスクライバの管理、JMS クライアント接続の管理に加えて、メッセージの表示 (ソート用)、メッセージの操作 (移動や削除など)、メッセージのインポートとエクスポートなどがあります。

詳細については、「JMS 統計のモニタとメッセージの管理」を参照してください。

送り先でのメッセージ処理の休止と再開

新しい WebLogic JMS のコンフィグレーションおよび実行時 API を使用すると、管理者は、特定の JMS 送り先や 1 つの JMS サーバでホストされているすべての送り先において、メッセージの生成、挿入 (処理中のメッセージ)、消費などの処理を、プログラム上または管理上の理由で休止して再開することができます。この機能を利用すると、外部リソースに障害が発生した場合に JMS サブシステムの動作を制御できます。この機能がない場合、こうした外部障害が発生しても、JMS サブシステムは障害を無視し、メッセージを連続的に受信および配信 (再配信) することによってシステム (サーバとクライアント) を過負荷状態にしてしまいます。

詳細については、「送り先でのメッセージ処理の休止と再開」を参照してください。

メッセージ ライフ サイクルのロギングによる透明度の向上

メッセージのライフ サイクルとは、JMS メッセージが JMS サーバに届いた後、JMS API または JMS メッセージ管理 API を通じて、そのメッセージに順に発生する基本的なイベントを外側から見た概念です。したがって、メッセージ ライフ サイクルのロギングを利用すると、管理者は JMS サーバから、メッセージの生成、消費、削除などの基本的なライフ サイクル イベントによって、JMS メッセージの存在をより正確に把握することができます。

詳細については「メッセージ ライフ サイクルのロギング」を参照してください。

利用しやすくなったデバッグおよび診断情報

WebLogic Server 9.0 では、JMS サブシステムは、デバッグ アクセスとロギングが一元化された新しいシステム全体の診断サービスを使用します。この新しいサービスを使用すると、デバッグを簡単に有効化でき、デバッグ情報と診断情報の利用も容易になるので、問題を簡単に診断、修正できます。

詳細については、『WebLogic 診断フレームワークについて』を参照してください。

順序単位による厳密なメッセージの順序付け

順序単位機能は、JMS メッセージ プロデューサに、順序付けされたメッセージを 1 単位にまとめる機能を与えることで、JMS 1.1 仕様におけるメッセージ配信の順序付けに関する要件を満たします。この 1 つの単位は「順序単位」と呼ばれ、その単位から作成されたすべてのメッセージは、コンシューマが確認応答するか、その単位が閉じられるまで、同じコンシューマによって順番に処理されることが保証されています。たとえば、キュー内に多数のコンシューマが関わる複数のメッセージがあって、各メッセージが順序単位としてアカウント番号を持っている場合、2 つのコンシューマが同じアカウント番号を持つメッセージを同時に処理することはありません。順序単位は、JMSMessageProducer インタフェースの新しい JMS API 拡張機能を使用してプログラム的に作成するか、接続ファクトリで順序単位を指定することによって管理的に作成できます。

詳細については、『WebLogic JMS プログラマーズ ガイド』の「Using Message Unit-of-Order」を参照してください。

分散送り先の共通コンフィグレーション

Weblogic Server 9.0 には、分散送り先アプリケーションの管理とデプロイメントを大幅に簡素化する「共通分散送り先」が新たに追加されました。この共通分散送り先機能を使用すると、管理者は送り先のメンバーを作成したり指定したりする必要がなくなります。代わりにシステムによって、JMS モジュールが割り当てられる JMS サーバ上に、必要なメンバーが均等に作成されます。この機能によって、すべての分散送り先のパラメータ (重み、セキュリティ、永続性、ページング、割り当てなどに関するパラメータ) を一貫してコンフィグレーションできます。分散送り先メンバーを手動で調整する場合、従来の重み設定された分散送り先の機能も使用できます。

詳細については、「分散送り先のコンフィグレーション」を参照してください。

「C」クライアントから JMS アプリケーションへのアクセス

WebLogic JMS C API を使用すると、「C」で記述されたプログラムを JMS アプリケーションに参加させることができます。この JMS C API の実装では、Java 仮想マシン (JVM) へのアクセスに JNI を使用しています。JMS C API は、WebLogic JMS 拡張機能、JMS オブジェクト メッセージ、および Java MBean 管理をサポートしていません。

詳細については、『WebLogic JMS プログラマーズ ガイド』の「WebLogic JMS C API」を参照してください。

JMS に関するメッセージ駆動型 Bean (MDB) の機能拡張

MDB の機能が拡張されて、トランザクションによるバッチ処理 (1 つのトランザクションで複数のメッセージを処理する) がサポートされています。また、MDB と送り先が同じクラスタにあるか、別々のクラスタ/ドメインにあるかに関係なく、異なるクラスタまたはドメインのメンバー送り先にわたる MDB インスタンスのロード バランシングが可能です。

詳細については、『リリース ノート』の「メッセージ駆動型 Bean の機能拡張」を参照してください。

XML メッセージでのドキュメント オブジェクト モデル (DOM) のサポート

WebLogic JMS API を拡張するこの機能は、XML メッセージ送信時のドキュメント オブジェクト モデル (DOM) のネイティブ サポートを提供します。これにより、XML メッセージの送信前に DOM を平坦化する必要がなくなるので、既に DOM を使用しているアプリケーションのパフォーマンスが大幅に向上します。

詳細については、『WebLogic JMS プログラマーズ ガイド』の「Sending XML Messages」を参照してください。

柔軟で簡素化された送り先割り当て

JMS モジュール用の新しい送り先割り当てオブジェクトを使用すると、名前付きの割り当てオブジェクトをコンフィグレーションして、送り先がそれらを参照するようにできます。柔軟性を高めるために、送り先に独自の割り当てを定義したり、複数の送り先が 1 つの割り当てを共有したり、送り先が JMS サーバの割り当てを共有したりできます。また、独自の割り当てを定義する送り先は、JMS サーバの割り当てのスペースを共有しません。JMS サーバでは、引き続きメッセージとバイトの割り当てを直接コンフィグレーションできます。ただし、これらの属性は、割り当てオブジェクトを参照しない送り先の割り当てを定義するためにのみ使用できます。

詳細については、「割り当ての定義」を参照してください。

メッセージ ページングの改良

JMS サーバでは、メッセージ負荷のピーク時に仮想メモリを開放するメッセージ ページング機能が常に有効化されます。また、専用のメッセージ ページング ストアを作成する必要もなくなりました。ページングされたメッセージは、使用しているファイル システムのディレクトリに格納できます。ただし、最高のパフォーマンスを実現するには、ページング先のディレクトリを JMS サーバの永続ストアが使用するディレクトリとは別のものにする必要があります。

詳細については、「メッセージのページングによるメモリの解放」を参照してください。

メッセージ ID 伝播セキュリティの拡張

この拡張により、JMSXUserID プロパティが追加されます。このプロパティを使用すると、メッセージの受信時にそのメッセージのプロデューサを識別できます。このプロパティでは、受信側はメッセージ プロパティに問い合わせてメッセージの送信者を識別し、その送信者に応じてアプリケーションで異なるロジックを実行できます。メッセージの送信者は、AttachJMSXUserID 属性を有効化し、接続ファクトリを使用することによってユーザ ID を要求します。ユーザ ID の送信は、送り先の [センダをアタッチ] 値によって制御されます。また、JMS テンプレートを使用することで複数の送り先用にも管理されます。

メッセージ ブリッジの拡張

メッセージ ブリッジの機能に、以下の拡張が加えられました。

詳細については、『WebLogic メッセージング ブリッジのコンフィグレーションと管理』の「メッセージング ブリッジのコンフィグレーションと管理」を参照してください。

メッセージの自動圧縮

この機能を使用すると、指定されたしきい値のサイズを超過したメッセージを圧縮して、JVM 境界にまたがってやりとりされるメッセージの送信パフォーマンスを向上させることができます。このしきい値は、JMSMessageProducer インタフェースの新しい JMS API 拡張機能を使用することによってプログラム的に作成するか、接続ファクトリまたは SAF リモート コンテキストに対する値を指定することによって管理的に作成できます。コンフィグレーションされたメッセージ圧縮は、メッセージ送信の場合はプロデューサ、メッセージ受信またはメッセージ ブラウズの場合は接続ファクトリに対して、または SAF 転送を通じて実行されます。

詳細については「メッセージの圧縮」を参照してください。

 


非推奨になった JMS の機能、メソッド、およびインタフェース

WebLogic Server 9.0 では JMS サブシステムに対してさまざまな変更が加えられました。たとえば、一部のクラスが削除され、多くのコンフィグレーション MBean が非推奨になりました。

従来の JMS リソース コンフィグレーション インタフェース

WebLogic JMS リソースをコンフィグレーションするための新しいモジュール ベースのメソッドでは、Java 記述子 Bean インタフェースを使用して JMS システム モジュールとデプロイ可能なパッケージ化されたモジュールを作成します。この根本的な変更によって、以下の MBean インタフェースが非推奨となりました。

新しい記述子 Bean インタフェースについては、『WebLogic Server MBean リファレンス』の「WebLogic Server System Module Beans」で説明しています。JMS モジュール全体を表すルート Bean を、JMSBean と呼びます。

JMS モジュール リソースの詳細については、「JMS コンフィグレーション リソースとは」を参照してください。

JMS Helper API

JMS モジュール リソースをコンフィグレーションするためのモジュール ベースのメソッドの追加によって、JMS の実行時およびコンフィグレーション JMX MBean を検索するための JMSHelper クラスは非推奨になりました。

このクラスは新しい JMSModuleHelper クラスに置き換えられました。このクラスには、特定の JMS モジュール (JMS Interop モジュールなど) にある JMS モジュール コンフィグレーション リソース (記述子 Bean) の管理 (検索、作成、削除) と JMS 実行時 MBean の検索を行うためのメソッドがあります。

JMS モジュール ヘルパー メソッドの使い方の詳細については、JMSModuleHelper Javadoc を参照してください。

メッセージ ページングの有効化、バイト ページングの有効化、およびページング ストア メソッド

簡素化された新しい JMS ページング コンフィグレーションの追加によって、JMSTemplateMBean、JMSDestinationMBean、および JMSServerMBean インタフェースの BytesPagingEnabled および MessagesPagingEnabled 属性が非推奨になりました。

また、このページング コンフィグレーションの導入によって、JMSServerMBean の PagingStore 属性が PagingDirectory および MessageBufferSize 属性に置き換えられました。

詳細については、「メッセージのページングによるメモリの解放」を参照してください。

有効期限ロギング ポリシー メソッド

新しいメッセージ ライフサイクル ロギング機能の追加によって、JMSTemplateMBean、JMSDestinationMBean、および JMSServerMBean インタフェースの ExpirationLoggingPolicy 属性が非推奨になりました。

期限切れメッセージの処理の詳細については、「期限切れメッセージの処理」を参照してください。メッセージ ライフ サイクル ロギングの詳細については「メッセージ ライフ サイクルのロギング」を参照してください。

JMS セッション プールと JMS 接続コンシューマのインタフェース

JMSSessionPoolMBean (と JMSServerMBean にある関連するメソッド) および JMSConnectionConsumerMBean インタフェースは非推奨になりました。これらのインタフェースは、JMS セッション プールを自動的に作成したり、サーバ サイドで JMS コンシューマを起動したりするのに使用されていました。

ConnectionConsumer および ServerSessionPool API は引き続きサポートされますが、より簡素で管理しやすく、機能の豊富なメッセージ駆動型 Bean (MDB) を使用することをお勧めします。

詳細については、『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「メッセージ駆動型 EJB」を参照してください。

JMS ストア インタフェース

新しい WebLogic 永続ストアによって、以下の MBean インタフェースが非推奨となりました。

この非推奨の対象には、JMSServerMBean インタフェースにある関連する JMS ストアのメソッドも含まれています。

詳細については、『WebLogic Server 環境のコンフィグレーション』の「WebLogic 永続ストアの使い方」を参照してください。

JMS 送り先実行時インタフェースの休止および再開メソッド

新しい「休止および実行時 JMS 送り先」機能の追加によって、JMSDestinationRuntimeMBean インタフェースの pause()resume()、および isPaused() API が非推奨になりました。新しい休止および再開 API が JMSDestinationRuntimeMBean および JMSServerRuntimeMBean インタフェースに追加されました。

JMS 恒久サブスクライバ実行時インタフェースのメッセージ パージ メソッド

新しい「JMS メッセージ管理」機能の追加によって、JMSDurbableSubscriberRuntimeMBean インタフェースの purge() API が非推奨になりました。

詳細については、『WebLogic Server MBean リファレンス』の「JMSMessageManagementRuntimeMBean」を参照してください。

JMS 拡張機能 : WLMessage インタフェース

WLMessage クラスの以下のメソッドは非推奨になりました。

これらのメソッドは、以下のプロパティに置き換えられました。

これらの新しいプロパティには、対応するセッター メソッドが含まれます。

これらの WLMessage 拡張機能の詳細については、JMS WLMessage Extension Javadoc を参照してください。

メッセージング ブリッジ プロパティ

サーバ インスタンスの [スレッド プール サイズ] プロパティが非推奨になっています。共通のスレッド プールまたはワーク マネージャを使用してください。『WebLogic メッセージング ブリッジのコンフィグレーションと管理』の「スレッド プール サイズの変更」を参照してください。

 

フッタのナビゲーションのスキップ  ページの先頭 前 次