Cosminexus V9 アプリケーションサーバ Cosminexus Reliable Messaging
QueueSender(MessageProducer)インタフェースは,JMSクライアントがあて先にメッセージを送信するために使用します。
指定したあて先にメッセージを送信できます。send()メソッドの実行中に,JMSクライアント内の他スレッドがメッセージを変更してはいけません。メッセージが変更された場合のsend()メソッドの結果は保証されません。JMSPriorityヘッダの設定は,メッセージの送信処理の一部として実行されます。
QueueSenderオブジェクトをクローズできます。クローズによって,QueueSenderオブジェクトに関連づけられたすべてのリソースを解放します。QueueSender(MessageProducer)インタフェースのメソッドは,複数スレッドからの同時呼び出しをJMSで禁止されています。ただし,close()メソッドだけは,複数スレッドからの同時発行に対してパラレルに実行できます。
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; }
ありません。
「(3) 形式」に記載した順序で各メソッドを説明します。
public void close() throws JMSException
メッセージプロデューサをクローズします。メッセージプロデューサには幾つかのリソースが割り当てられている場合があるため,リソースが不要になった場合はメッセージプロデューサをクローズしてください。
例外クラス | 説明 |
---|---|
JMSException | 内部エラーのためにJMSプロバイダがメッセージプロデューサをクローズする処理に失敗しました。 |
public int getDeliveryMode() throws JMSException
このメソッドは未サポートです。
このメソッドを発行した場合,0を返します。
public boolean getDisableMessageID() throws JMSException
このメソッドは未サポートです。
このメソッドを発行した場合,falseを返します。
public boolean getDisableMessageTimestamp() throws JMSException
このメソッドは未サポートです。
このメソッドを発行した場合,falseを返します。
public int getPriority() throws JMSException
メッセージプロデューサに指定された優先度を返します。なお,この値はメッセージに設定されたJMSPriorityヘッダの値と同じです。
例外クラス | 説明 |
---|---|
JMSException | セッション,コネクションまたはメッセージプロデューサをクローズしている状態でメソッドを発行しました。 |
内部エラーのためにJMSプロバイダが優先度の取得に失敗しました。 |
public long getTimeToLive() throws JMSException
このメソッドは未サポートです。
このメソッドを発行した場合,0を返します。
public void setDeliveryMode(int deliveryMode) throws JMSException
このメソッドは未サポートです。
このメソッドで設定した値は実際には使用されません。
引数名 | 説明 |
---|---|
deliveryMode | メッセージプロデューサのメッセージの管理形態。次に示すどちらかの値を指定します。
|
public void setDisableMessageID(boolean value) throws JMSException
このメソッドは未サポートです。
このメソッドで設定した値は実際には使用されません。
引数名 | 説明 |
---|---|
value | メッセージ識別子が無効かどうかを示す値 |
public void setDisableMessageTimestamp(boolean value) throws JMSException
このメソッドは未サポートです。
このメソッドで設定した値は実際には使用されません。
引数名 | 説明 |
---|---|
value | メッセージ識別子が無効かどうかを示す値 |
public void setPriority(int defaultPriority) throws JMSException
プロデューサのデフォルトの優先度を指定します。0(最低)〜9(最高)の範囲の値を指定します。デフォルト値はjavax.jms.Message.DEFAULT_PRIORITYです。範囲以外の値を指定した場合,JMSExceptionが発生します。
引数名 | 説明 |
---|---|
defaultPriority | メッセージプロデューサ用のメッセージ優先度。0〜9の範囲で値を指定します。 |
例外クラス | 説明 |
---|---|
JMSException | セッション,コネクションまたはメッセージプロデューサをクローズしている状態でメソッドを発行しました。 |
内部エラーのためにJMSプロバイダが優先度の設定に失敗しました。 |
public void setTimeToLive(long timeToLive) throws JMSException
このメソッドは未サポートです。
このメソッドで設定した値は実際には使用されません。
引数名 | 説明 |
---|---|
timeToLive | メッセージの有効期間(ミリ秒単位)。ゼロは無制限を示します。 |
public Queue getQueue() throws JMSException
キューセンダに関連づけられたキューを返します。
例外クラス | 説明 |
---|---|
JMSException | セッション,コネクションまたはメッセージプロデューサをクローズしている状態でメソッドを発行しました。 |
内部エラーのためにJMSプロバイダがQueueSenderオブジェクトに関連づけられたキューの取得に失敗しました。 |
public void send(Message message) throws JMSException
メッセージをキューに送信します。キューセンダで設定した優先度が使用されます。
送信メソッドの実行時にメッセージを変更した場合,送信の結果は保証されません。
引数名 | 説明 |
---|---|
message | 送信するメッセージ |
例外クラス | 説明 |
---|---|
InvalidDestinationException | JMSクライアントがメソッドを使用する際,キューセンダに無効なキューを指定しました。 |
JMSException | セッション,コネクションまたはメッセージプロデューサをクローズしている状態でメソッドを発行しました。 |
message引数にnullが指定されました。 | |
内部エラーのためにJMSプロバイダがメッセージの送信に失敗しました。 | |
MessageFormatException | 無効なメッセージが指定されました。 |
public void send(Message message, int deliveryMode, int priority, long timeToLive) throws JMSException
メッセージをキューに送信します。
引数名 | 説明 |
---|---|
message | 送信するメッセージ |
deliveryMode | 使用するメッセージの管理形態。次に示すどちらかの値を指定します。
|
priority | メッセージの優先度。0(最低)〜9(最高)の範囲で値を指定します。 |
timeToLive | メッセージの有効期間(ミリ秒) |
例外クラス | 説明 |
---|---|
InvalidDestinationException | JMSクライアントがメソッドを使用する際,キューセンダに無効なキューを指定しました。 |
JMSException | セッション,コネクションまたはメッセージプロデューサをクローズしている状態でメソッドを発行しました。 |
message引数にnullが指定されました。 | |
内部エラーのためにJMSプロバイダがメッセージの送信に失敗しました。 | |
MessageFormatException | 無効なメッセージが指定されました。 |
public void send(Queue queue, Message message) throws JMSException
メッセージをキューに送信します。キューセンダで設定した優先度が使用されます。
queue引数にnullが指定された場合,Session.createSender()メソッドのqueue引数に指定されたキューにメッセージを送信します。
送信メソッドの実行時にメッセージを変更した場合,送信の結果は保証されません。
引数名 | 説明 |
---|---|
queue | メッセージのあて先キュー |
message | 送信するメッセージ |
例外クラス | 説明 |
---|---|
InvalidDestinationException | JMSクライアントがメソッドを使用する際,キューセンダに無効なキューを指定しました。 |
JMSException | セッション,コネクションまたはメッセージプロデューサをクローズしている状態でメソッドを発行しました。 |
message引数にnullが指定されました。 | |
内部エラーのためにJMSプロバイダがメッセージの送信に失敗しました。 | |
MessageFormatException | 無効なメッセージが指定されました。 |
public void send(Queue queue, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException
メッセージをキューに送信します。
queue引数にnullが指定された場合,Session.createSender()メソッドのqueue引数に指定されたキューにメッセージを送信します。
引数名 | 説明 |
---|---|
queue | メッセージのあて先キュー |
message | 送信するメッセージ |
deliveryMode | 使用するメッセージの管理形態。次に示すどちらかの値を指定します。
|
priority | メッセージの優先度。0(最低)〜9(最高)の範囲で値を指定します。 |
timeToLive | メッセージの有効期間(ミリ秒) |
例外クラス | 説明 |
---|---|
InvalidDestinationException | JMSクライアントがメソッドを使用する際,キューセンダに無効なキューを指定しました。 |
JMSException | セッション,コネクションまたはメッセージプロデューサをクローズしている状態でメソッドを発行しました。 |
message引数にnullが指定されました。 | |
priority引数に0〜9の範囲外の値が指定されました。 | |
内部エラーのためにJMSプロバイダがメッセージの送信に失敗しました。 | |
MessageFormatException | 無効なメッセージが指定されました。 |
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.