メッセージキューイングアクセス機能 TP1/Message Queue - Access 使用の手引

[目次][用語][索引][前へ][次へ]

QueueSessionインタフェース(JMS)

QueueSessionインタフェースはアプリケーションからの論理的なコネクションハンドルです。

QueueConnection.createQueueSessionでtransactedパラメタにtrueが指定されると,そのQueueSessionからの操作はトランザクションモードとなります。なお,QueueConnection.createQueueSessionでのacknowledgeパラメタは無視されます。

QueueSessionの機能を次に示します。

形式

 
public interface Session extends java.lang.Runnable
{
  public static final int AUTO_ACKNOWLEDGE;
  public static final int CLIENT_ACKNOWLEDGE;
  public static final int DUPS_OK_ACKNOWLEDGE;
  public void close() throws JMSException;
  public void commit() throws JMSException;
  public BytesMessage createBytesMessage() throws JMSException;
  public MapMessage createMapMessage() throws JMSException;
  public Message createMessage() throws JMSException;
  public ObjectMessage createObjectMessage() throws JMSException;
  public ObjectMessage createObjectMessage (java.io.Serializable object) throws JMSException;
  public StreamMessage createStreamMessage() throws JMSException;
  public TextMessage createTextMessage() throws JMSException;
  public TextMessage createTextMessage(java.lang.String text) throws JMSException;
  public MessageListener getMessageListener() throws JMSException;
  public boolean getTransacted() throws JMSException;
  public void recover() throws JMSException;
  public void rollback() throws JMSException;
  public void run();
  public void setMessageListener(MessageListener listener) throws JMSException;
}
 
public interface QueueSession extends Session
{
  public QueueBrowser createBrowser(Queue queue) throws JMSException;
  public QueueBrowser createBrowser(Queue queue, java.lang.String messageSelector) throws JMSException;
  public Queue createQueue(java.lang.String queueName) throws JMSException;
  public QueueReceiver createReceiver(Queue queue) throws JMSException;
  public QueueReceiver createReceiver(Queue queue, java.lang.String messageSelector) throws JMSException;
  public QueueSender createSender(Queue queue) throws JMSException;
  public TemporaryQueue createTemporaryQueue() throws JMSException;
}

フィールド

● public static final int AUTO_ACKNOWLEDGE

このフィールドは未サポートです。

● public static final int CLIENT_ACKNOWLEDGE

このフィールドは未サポートです。

● public static final int DUPS_OK_ACKNOWLEDGE

このフィールドは未サポートです。

メソッド

● public void close() throws JMSException

QueueSessionをクローズします。

例外
JMSException:QueueSessionのクローズに失敗しました。

● public void commit() throws JMSException

ローカルトランザクションをコミットします。

例外
JMSException:コミットに失敗しました。
TransactionRolledBackException:該当しません。
IllegalStateException:メソッドがトランザクション外でコールされました。または,QueueSessionがクローズされている状態で,このメソッドが発行されました。

● public BytesMessage createBytesMessage() throws JMSException

BytesMessageオブジェクトを生成します。

例外
JMSException:BytesMessageオブジェクトの生成に失敗しました。または,QueueSessionがクローズされている状態で,このメソッドが発行されました。

戻り値:BytesMessageオブジェクト

● public MapMessage createMapMessage() throws JMSException

このメソッドは未サポートです。

例外
JMSException:このメソッドは未サポートです。

● public Message createMessage() throws JMSException

Messageオブジェクトを生成します。

例外
JMSException:Messageオブジェクトの生成に失敗しました。または,QueueSessionがクローズされている状態で,このメソッドが発行されました。

戻り値:Messageオブジェクト

● public ObjectMessage createObjectMessage() throws JMSException

このメソッドは未サポートです。

例外
JMSException:このメソッドは未サポートです。

● public ObjectMessage createObjectMessage(java.io.Serializable object) throws JMSException

このメソッドは未サポートです。

例外
JMSException:このメソッドは未サポートです。

● public StreamMessage createStreamMessage() throws JMSException

このメソッドは未サポートです。

例外
JMSException:このメソッドは未サポートです。

● public TextMessage createTextMessage() throws JMSException

このメソッドは未サポートです。

例外
JMSException:このメソッドは未サポートです。

● public TextMessage createTextMessage(java.lang.String text) throws JMSException

このメソッドは未サポートです。

例外
JMSException:このメソッドは未サポートです。

● public MessageListener getMessageListener() throws JMSException

このメソッドは未サポートです。

例外
JMSException:このメソッドは未サポートです。

● public boolean getTransacted() throws JMSException

QueueSessionがトランザクションモードかどうかを取得します。

例外
JMSException:トランザクション状態の取得に失敗しました。または,QueueSessionがクローズされている状態で,このメソッドが発行されました。

戻り値
true:トランザクションモード
false:トランザクションモード以外

● public void recover() throws JMSException

このメソッドは未サポートです。

例外
JMSException:このメソッドは未サポートです。
IllegalStateException:該当しません。

● public void rollback() throws JMSException

ローカルトランザクションをロールバックします。

例外
JMSException:ロールバックに失敗しました。
IllegalStateException:メソッドがトランザクション外でコールされました。または,QueueSessionがクローズされている状態で,このメソッドが発行されました。

● public void run()

このメソッドは未サポートです。

● public void setMessageListener(MessageListener listener) throws JMSException

このメソッドは未サポートです。

例外
JMSException:このメソッドは未サポートです。

● public QueueBrowser createBrowser(Queue queue) throws JMSException

キューブラウザを生成します。

パラメタ
queue
アクセス対象のQueueオブジェクトを指定します。
TemporaryQueueオブジェクトを指定してキューブラウザを生成する場合,このメソッドと同一のQueueSessionオブジェクトのcreateTemporaryQueueメソッドによって作成されたTemporaryQueueを指定する必要があります。

例外
JMSException:キューブラウザの生成に失敗しました。または,QueueSessionがクローズされている状態で,このメソッドが発行されました。
InvalidDestinationException:不正なキューを指定しました。

戻り値:QueueBrowserオブジェクト

● public QueueBrowser createBrowser(Queue queue, java.lang.String messageSelector) throws JMSException

キューブラウザを生成します。

パラメタ
queue
アクセス対象のQueueオブジェクトを指定します。
TemporaryQueueオブジェクトを指定してキューブラウザを生成する場合,このメソッドと同一のQueueSessionオブジェクトのcreateTemporaryQueueメソッドによって作成されたTemporaryQueueを指定する必要があります。
messageSelector
メッセージセレクタを指定します。

例外
JMSException:キューブラウザの生成に失敗しました。または,QueueSessionがクローズされている状態で,このメソッドが発行されました。
InvalidDestinationException:不正なキューを指定しました。
InvalidSelectorException:不正なメッセージセレクタ構文です。

戻り値:QueueBrowserオブジェクト

● public Queue createQueue(java.lang.String queueName) throws JMSException

このメソッドは未サポートです。Queueオブジェクトは上位クラスで作成されて,JNDIにあらかじめ登録されているためです。

パラメタ
queueName
キュー名称を指定します。

例外
JMSException:このメソッドは未サポートです。

● public QueueReceiver createReceiver(Queue queue) throws JMSException

キューレシーバを生成します。

パラメタ
queue
アクセス対象のQueueオブジェクトを指定します。
TemporaryQueueオブジェクトを指定してキューレシーバを生成する場合,このメソッドと同一のQueueSessionオブジェクトのcreateTemporaryQueueメソッドによって作成されたTemporaryQueueを指定する必要があります。

例外
JMSException:キューレシーバの生成に失敗しました。または,QueueSessionがクローズされている状態で,このメソッドが発行されました。
InvalidDestinationException:不正なキューを指定しました。

戻り値:QueueReceiverオブジェクト

● public QueueReceiver createReceiver(Queue queue, java.lang.String messageSelector) throws JMSException

キューレシーバを生成します。

パラメタ
queue
アクセス対象のQueueオブジェクトを指定します。
TemporaryQueueオブジェクトを指定してキューレシーバを生成する場合,このメソッドと同一のQueueSessionオブジェクトのcreateTemporaryQueueメソッドによって作成されたTemporaryQueueを指定する必要があります。
messageSelector
メッセージセレクタを指定します。

例外
JMSException:キューレシーバの生成に失敗しました。または,QueueSessionがクローズされている状態で,このメソッドが発行されました。
InvalidDestinationException:不正なキューを指定しました。
InvalidSelectorException:不正なメッセージセレクタ構文です。

戻り値:QueueReceiverオブジェクト

● public QueueSender createSender(Queue queue) throws JMSException

キューセンダを生成します。

パラメタ
queue
アクセス対象のQueueオブジェクトを指定します。キューが不確定な場合はnullを指定してください。
TemporaryQueueオブジェクトを指定してキューセンダを生成する場合,このメソッドと同一のQueueSessionオブジェクトのcreateTemporaryQueueメソッドによって作成されたTemporaryQueueを指定する必要があります。

例外
JMSException:キューセンダの生成に失敗しました。または,QueueSessionがクローズされている状態で,このメソッドが発行されました。
InvalidDestinationException:不正なキューを指定しました。

戻り値:QueueSenderオブジェクト

● public TemporaryQueue createTemporaryQueue() throws JMSException

動的キューを生成します。生成された動的キューは,TemporaryQueue内のdeleteメソッドが発行されると削除されます。

createTemporaryQueueメソッドによって作成される動的キューは,QueueSessionオブジェクトごとに異なります。

TemporaryQueueを使用するためには,TP1/Message Queue - AccessリソースアダプタのProperties設定の環境変数ModelQueueNameに,モデルキュー名を指定します。詳細については,「2.2 MQCクライアント機能の環境設定」を参照してください。また,サーバ側のTP1/Message Queueでモデルキューを定義する必要があります。このモデルキューのDefinitionType属性によって,一時的動的キューか永続的動的キューのどちらかが作成されます。作成されるキューの種類ごとに,次に示す点に注意が必要です。

createTemporaryQueueメソッドによって作成される動的キュー名は「JMS*」です(*:ユニークな文字列)。

例外
JMSException:動的キューの生成に失敗しました。または,QueueSessionがクローズされている状態で,このメソッドが発行されました。

戻り値:TemporaryQueueオブジェクト