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

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

MessageProducerインタフェースQueueSenderインタフェース(JMS)

QueueSenderインタフェースは,クライアントがキューにメッセージを送るために使用します。

形式

 
public interface MessageProducer
{
  public void close() throws JMSException;
  public int getDeliveryMode() throws JMSException;
  public boolean getDisableMessageID() throws JMSException;
  public boolean getDisableMessageTimestamp() throws JMSException;
  public int getPriority() throws JMSException;
  public long getTimeToLive() throws JMSException;
  public void setDeliveryMode(int deliveryMode) throws JMSException;
  public void setDisableMessageID(boolean value) throws JMSException;
  public void setDisableMessageTimestamp(boolean value) throws JMSException;
  public void setPriority(int defaultPriority) throws JMSException;
  public void setTimeToLive(long timeToLive) throws JMSException;
}
 
public interface QueueSender
extends MessageProducer
{
  public Queue getQueue() throws JMSException;
  public void send(Message message) throws JMSException;
  public void send(Message message, int deliveryMode, int priority, long timeToLive) throws JMSException;
  public void send(Queue queue, Message message) throws JMSException;
  public void send(Queue queue, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException;
}

メソッド

● public void close() throws JMSException

TP1/Message Queueが確保した資源を解放するために,資源(キュー)をクローズします。

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

● public int getDeliveryMode() throws JMSException

キュー内のメッセージに対する省略時の永続性を取得します。

例外
JMSException:エラーが発生しました。

戻り値
DeliveryMode.NON_PERSISTENT:非永続
DeliveryMode.PERSISTENT:永続

● public boolean getDisableMessageID() throws JMSException

メッセージ識別子が使用不可であるかどうかを取得します。ただし,このメソッドで取得した値に関係なく,TP1/Message Queueでは常にメッセージ識別子は使用可能です。

例外
JMSException:エラーが発生しました。

戻り値
true:メッセージ識別子は使用不可
false:メッセージ識別子は使用可能

● public boolean getDisableMessageTimestamp() throws JMSException

登録日時が使用不可であるかどうかを取得します。ただし,このメソッドで取得した値に関係なく,TP1/Message Queueでは常に登録日時は使用可能です。

例外
JMSException:エラーが発生しました。

戻り値
true:登録日時は使用不可
false:登録日時は使用可能

● public int getPriority() throws JMSException

キュー内のメッセージに対する省略時の優先度を取得します。

JMSでは,0〜9の10段階の優先度を定義しています。TP1/Message Queueでは,0〜MaxPriorityの値をとります。MaxPriorityは,キューマネジャで定義されています。

例外
JMSException:エラーが発生しました。

戻り値:キュー内のメッセージに対する省略時の優先度

● public long getTimeToLive() throws JMSException

キュー内のメッセージに対する省略時のメッセージの保持時間を取得します。

例外
JMSException:エラーが発生しました。

戻り値:キュー内のメッセージに対する省略時のメッセージの保持時間(単位:ミリ秒)

● public void setDeliveryMode(int deliveryMode) throws JMSException

キュー内のメッセージに対する省略時の永続性を設定します。デフォルト値はDeliveryMode.PERSISTENT(永続)です。

パラメタ
deliveryMode
メッセージの永続性を次の値で指定します。
DeliveryMode.NON_PERSISTENT:非永続
DeliveryMode.PERSISTENT:永続
上記以外の値を指定した場合,例外JMSExceptionがスローされます。

例外
JMSException:エラーが発生しました。

● public void setDisableMessageID(boolean value) throws JMSException

メッセージ識別子を使用不可にするかどうかを設定します。デフォルト値は使用可能です。

このメソッドで設定した値に関係なく,TP1/Message Queueでは常にメッセージ識別子は使用可能です。

パラメタ
value
メッセージ識別子を使用不可にするかどうかを次の値で指定します。
true:使用不可にします。
false:使用可能にします。

例外
JMSException:エラーが発生しました。

● public void setDisableMessageTimestamp(boolean value) throws JMSException

登録日時を使用不可にするかどうかを設定します。デフォルト値は使用可能です。

このメソッドで設定した値に関係なく,TP1/Message Queueでは常に登録日時は使用可能です。

パラメタ

value
登録日時を使用不可にするかどうかを次の値で指定します。
true:使用不可にします。
false:使用可能にします。

例外
JMSException:エラーが発生しました。

● public void setPriority(int defaultPriority) throws JMSException

キュー内のメッセージに対する省略時の優先度を設定します。

JMSでは,0〜9の10段階の優先度を定義しています。TP1/Message Queueでは,0〜MaxPriorityの値をとります。MaxPriorityは,キューマネジャで定義されています。デフォルト値は4です。

パラメタ
defaultPriority
キュー内のメッセージに対する省略時の優先度を指定します。0(最低)〜9(最高)の範囲の値を指定します。
上記の範囲以外の値を指定した場合,例外JMSExceptionがスローされます。

例外
JMSException:エラーが発生しました。

● public void setTimeToLive(long timeToLive) throws JMSException

キュー内のメッセージに対する省略時のメッセージの保持時間を設定します。デフォルト値は0です。

パラメタ
timeToLive
キュー内のメッセージに対する省略時のメッセージの保持時間(単位:ミリ秒)を指定します。
0〜(2 31−1)×100の範囲の値を指定します。ただし,1〜99の値を指定すると,MQMD構造体のExpiryフィールドに格納される際に,100ミリ秒に切り上げられます。
0を指定した場合,メッセージの保持時間は無制限です。TP1/Message Queueでは,MQEI_UNLIMITED(値:-1)に相当します。
0〜(2 31−1)×100の範囲以外の値を指定した場合,例外JMSExceptionがスローされます。

例外
JMSException:エラーが発生しました。

● public Queue getQueue() throws JMSException

該当するキューセンダに関連づけられたキューのオブジェクトを返します。

例外
JMSException:エラーが発生しました。

戻り値:Queueオブジェクト

● public void send(Message message) throws JMSException

キューにメッセージを登録します。

このとき,QueueSenderの省略時のメッセージの永続性,メッセージの優先度,およびメッセージの保持時間が使用されます。

QueueSenderの生成時にキューが指定されていない場合にこのメソッドを実行すると,例外JMSExceptionがスローされます。

キューにメッセージを登録する際,Messageオブジェクトのプロパティが「JMSメッセージのヘッダとプロパティ」の表7-6に示すプロパティ名と一致する場合,対応するMQMD構造体のフィールドに格納されます。プロパティ名が一致していてプロパティの型が不一致の場合は,表7-6に示す型に変換されたあとで,対応するMQMD構造体のフィールドに格納されます。この変換に失敗すると,例外MessageFormatExceptionがスローされます。Messageオブジェクトのプロパティが表7-6に示す名称ではない場合は,プロパティの値はMQMD構造体のフィールドに格納されません。

パラメタ
message
登録するメッセージを指定します。

例外
JMSException:メッセージの登録に失敗しました。
MessageFormatException:不正なメッセージを指定しました。
InvalidDestinationException:不正なキューに関連づけられたQueueSenderのメソッドを実行しました。

● public void send(Message message, int deliveryMode, int priority, long timeToLive) throws JMSException

メッセージの永続性,メッセージの優先度,およびメッセージの保持時間を指定して,キューにメッセージを登録します。

QueueSenderの生成時にキューが指定されていない場合にこのメソッドを実行すると,例外JMSExceptionがスローされます。

キューにメッセージを登録する際,Messageオブジェクトのプロパティが「JMSメッセージのヘッダとプロパティ」の表7-6に示すプロパティ名と一致する場合,対応するMQMD構造体のフィールドに格納されます。プロパティ名が一致していてプロパティの型が不一致の場合は,表7-6に示す型に変換されたあとで,対応するMQMD構造体のフィールドに格納されます。この変換に失敗すると,例外MessageFormatExceptionがスローされます。Messageオブジェクトのプロパティが表7-6に示す名称ではない場合は,プロパティの値はMQMD構造体のフィールドに格納されません。

パラメタ
message
登録するメッセージを指定します。
deliveryMode
メッセージの永続性を次の値で指定します。
DeliveryMode.NON_PERSISTENT:非永続
DeliveryMode.PERSISTENT:永続
上記以外の値を指定した場合,例外JMSExceptionがスローされます。
priority
メッセージの優先度を指定します。0(最低)〜9(最高)の範囲の値を指定します。
上記の範囲以外の値を指定した場合,例外JMSExceptionがスローされます。
timeToLive
メッセージの保持時間(単位:ミリ秒)を指定します。
0〜(2 31−1)×100の範囲の値を指定します。ただし,1〜99の値を指定すると,MQMD構造体のExpiryフィールドに格納される際に,100ミリ秒に切り上げられます。
0を指定した場合,メッセージの保持時間は無制限です。TP1/Message Queueでは,MQEI_UNLIMITED(値:-1)に相当します。
0〜(2 31−1)×100の範囲以外の値を指定した場合,例外JMSExceptionがスローされます。

例外
JMSException:メッセージの登録に失敗しました。
MessageFormatException:不正なメッセージを指定しました。
InvalidDestinationException:不正なキューに関連づけられたQueueSenderのメソッドを実行しました。

● public void send(Queue queue, Message message) throws JMSException

指定したキューにメッセージを登録します。

このとき,QueueSenderの省略時のメッセージの永続性,メッセージの優先度,およびメッセージの保持時間が使用されます。

一般に,QueueSenderの生成時には登録先のキューが指定されますが,nullを指定して,つまりキューを指定しないでQueueSenderを生成することもできます。QueueSenderの生成時にキューが指定されていない場合は,このメソッドを実行できます。QueueSenderの生成時にキューが指定されている場合にこのメソッドを実行すると,例外JMSExceptionがスローされます。

キューにメッセージを登録する際,Messageオブジェクトのプロパティが「JMSメッセージのヘッダとプロパティ」の表7-6に示すプロパティ名と一致する場合,対応するMQMD構造体のフィールドに格納されます。プロパティ名が一致していてプロパティの型が不一致の場合は,表7-6に示す型に変換されたあとで,対応するMQMD構造体のフィールドに格納されます。この変換に失敗すると,例外MessageFormatExceptionがスローされます。Messageオブジェクトのプロパティが表7-6に示す名称ではない場合は,プロパティの値はMQMD構造体のフィールドに格納されません。

パラメタ
queue
登録先のキューを指定します。
message
登録するメッセージを指定します。

例外
JMSException:メッセージの登録に失敗しました。
MessageFormatException:不正なメッセージを指定しました。
InvalidDestinationException:不正なキューを指定しました。

● public void send(Queue queue, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException

キュー,メッセージの永続性,メッセージの優先度,およびメッセージの保持時間を指定して,キューにメッセージを登録します。

一般に,QueueSenderの生成時には登録先のキューが指定されますが,nullを指定して,つまりキューを指定しないでQueueSenderを生成することもできます。QueueSenderの生成時にキューが指定されていない場合は,このメソッドを実行できます。QueueSenderの生成時にキューが指定されている場合にこのメソッドを実行すると,例外JMSExceptionがスローされます。

キューにメッセージを登録する際,Messageオブジェクトのプロパティが「JMSメッセージのヘッダとプロパティ」の表7-6に示すプロパティ名と一致する場合,対応するMQMD構造体のフィールドに格納されます。プロパティ名が一致していてプロパティの型が不一致の場合は,表7-6に示す型に変換されたあとで,対応するMQMD構造体のフィールドに格納されます。この変換に失敗すると,例外MessageFormatExceptionがスローされます。Messageオブジェクトのプロパティが表7-6に示す名称ではない場合は,プロパティの値はMQMD構造体のフィールドに格納されません。

パラメタ
queue
登録先のキューを指定します。
message
登録するメッセージを指定します。
deliveryMode
メッセージの永続性を次の値で指定します。
DeliveryMode.NON_PERSISTENT:非永続
DeliveryMode.PERSISTENT:永続
上記以外の値を指定した場合,例外JMSExceptionがスローされます。
priority
メッセージの優先度を指定します。0(最低)〜9(最高)の範囲の値を指定します。
上記の範囲以外の値を指定した場合,例外JMSExceptionがスローされます。
timeToLive
メッセージの保持時間(単位:ミリ秒)を指定します。
0〜(2 31−1)×100の範囲の値を指定します。ただし,1〜99の値を指定すると,MQMD構造体のExpiryフィールドに格納される際に,100ミリ秒に切り上げられます。
0を指定した場合,メッセージの保持時間は無制限です。TP1/Message Queueでは,MQEI_UNLIMITED(値:-1)に相当します。
0〜(2 31−1)×100の範囲以外の値を指定した場合,例外JMSExceptionがスローされます。

例外
JMSException:メッセージの登録に失敗しました。
MessageFormatException:不正なメッセージを指定しました。
InvalidDestinationException:不正なキューを指定しました。