Sun GlassFish Enterprise Server v3 管理ガイド

JMS 接続ファクトリと送信先の管理

JMS API は、2 種類の管理対象オブジェクトを使用します。「接続ファクトリオブジェクト」は、アプリケーションがプログラムによってほかの JMS オブジェクトを作成できるようにします。「送信先オブジェクト」は、メッセージのリポジトリとして動作します。これらのオブジェクトがどのように作成されるかは、JMS の実装ごとに異なります。Enterprise Server では、次のタスクの実行により JMS が実装されます。

JMS アプリケーションは、Java Naming and Directory Interface (JNDI) API を使用して、接続ファクトリと送信先リソースにアクセスします。通常、JMS アプリケーションは 1 つ以上の接続ファクトリと 1 つ以上の宛先を使用します。アプリケーションについて確認するか、アプリケーション開発者に問い合わせることで、作成が必要なリソースを決定できます。リソースを作成する順序は重要ではありません。

Enterprise Server は、次の接続ファクトリオブジェクトを提供します。

Enterprise Server は、次の送信先オブジェクトを提供します。

ここでは、次のテーマを取り上げます。

この節で使用するサブコマンドは、接続ファクトリリソースと送信先リソースのどちらの管理にも使用できます。物理送信先を管理する手順については、「JMS 物理送信先の管理」を参照してください。

Procedure接続ファクトリまたは送信先リソースを作成する

作成する JMS 接続ファクトリごとに、Enterprise Server はコネクタ接続プールとコネクタリソースを作成します。作成する JMS 送信先ごとに、Enterprise Server はコネクタ管理オブジェクトリソースを作成します。JMS リソースを削除すると、Enterprise Server は自動的にコネクタリソースを削除します。

JMS 接続ファクトリリソースまたは送信先リソースを作成するには、リモートモードで create-jms-resource コマンドを使用します。


ヒント –

asadmin create-jms-resource コマンドで addresslist プロパティーを (host:mqport,host2:mqport,host3:mqport の形式で) 指定するには、コロン (:) を \\ を使用してエスケープします。たとえば、host1\\: mqport,host2\\: mqport,host3\\: mpqport のようになります。エスケープ文字の使用方法については、asadmin(1M) の概念のページを参照してください。


JMS 接続ファクトリを更新するには、更新する接続ファクトリのコネクタ接続プールに対して set サブコマンドを使用します。「コネクタ接続プールを更新する」を参照してください。

送信先を更新するには、管理オブジェクトリソースに対して set サブコマンドを使用します。「管理対象オブジェクトを更新する」を参照してください。

  1. サーバーが実行されていることを確認します。

    リモートサブコマンドには、実行中のサーバーが必要です。

  2. create-jms-resource(1) コマンドを使用して、JMS リソースを作成します。

    このサブコマンドのプロパティーについては、このマニュアルページに記載されています。

  3. (省略可能) 必要な場合は、サーバーを再起動します。

    プロパティーの中には、サーバーの再起動を求めるものもあります。「サーバーの再起動が必要な構成の変更」を参照してください。サーバーを再起動する必要がある場合は、「ドメインの再起動」を参照してください。


例 19–5 JMS 接続ファクトリの作成

この例では、JNDI 名が jms/DurableConnectionFactoryjavax.jms.ConnectionFactory タイプの接続ファクトリリソースを作成します。ClientId プロパティーは、接続ファクトリのクライアント ID を設定し、接続ファクトリを永続サブスクリプションで使用できるようにします。JMS リソースの JNDI 名には、慣習的に jms/ のネーミングサブコンテキストを含めます。


asadmin> create-jms-resource --restype javax.jms.ConnectionFactory
--description "connection factory for durable subscriptions"
--property ClientId=MyID jms/DurableConnectionFactory
Command create-jms-resource executed successfully.


例 19–6 JMS 送信先の作成

この例では、JNDI 名が jms/MyQueue の送信先リソースを作成します。


asadmin> create-jms-resource --restype javax.jms.Queue 
--property Name=PhysicalQueue jms/MyQueue
Command create-jms-resource executed successfully.

参照

コマンド行に asadmin help create-jms-resource と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。

ProcedureJMS リソースを一覧表示する

既存の接続ファクトリと送信先リソースを一覧表示するには、リモートモードで list-jms-resources サブコマンドを使用します。

  1. サーバーが実行されていることを確認します。

    リモートサブコマンドには、実行中のサーバーが必要です。

  2. list-jms-resources(1) サブコマンドを使用して、既存の JMS リソースを一覧表示します。


例 19–7 すべての JMS リソースの表示

この例では、既存の JMS 接続ファクトリと送信先リソースをすべて表示します。


asadmin> list-jms-resources
jms/Queue
jms/ConnectionFactory
jms/DurableConnectionFactory
jms/Topic
Command list-jms-resources executed successfully


例 19–8 指定したタイプの JMS リソースの一覧表示

この例では、リソースタイプが javax のリソースを一覧表示します。


asadmin> list-jms-resources --restype javax.jms.TopicConnectionFactory 
jms/DurableTopicConnectionFactory 
jms/TopicConnectionFactory 
Command list-jms-resources executed successfully.

参照

コマンド行に asadmin help list-jms-resources と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。

Procedure接続ファクトリまたは送信先リソースを削除する

指定した接続ファクトリまたは送信先リソースを削除するには、リモートモードで delete-jms-resource サブコマンドを使用します。

始める前に

このサブコマンドを実行する前に、削除する JMS リソースへの参照をすべて削除する必要があります。

  1. サーバーが実行されていることを確認します。

    リモートサブコマンドには、実行中のサーバーが必要です。

  2. list-jms-resources(1) サブコマンドを使用して、既存の JMS リソースを一覧表示します。

  3. delete-jms-resource(1) サブコマンドを使用して、JMS リソースを削除します。


例 19–9 JMS リソースの削除

この例では、jms/Queue リソースを削除します。


asadmin> delete-jms-resource jms/Queue
Command delete-jms-resource executed successfully

参照

コマンド行に asadmin help delete-jms-resource と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。