Cosminexus V9 アプリケーションサーバ Cosminexus Reliable Messaging

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

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

QueueSender(MessageProducer)インタフェースは,JMSクライアントがあて先にメッセージを送信するために使用します。

<この項の構成>
(1) メッセージの送信
(2) キューセンダのクローズ
(3) 形式
(4) フィールド
(5) メソッド

(1) メッセージの送信

指定したあて先にメッセージを送信できます。send()メソッドの実行中に,JMSクライアント内の他スレッドがメッセージを変更してはいけません。メッセージが変更された場合のsend()メソッドの結果は保証されません。JMSPriorityヘッダの設定は,メッセージの送信処理の一部として実行されます。

(2) キューセンダのクローズ

QueueSenderオブジェクトをクローズできます。クローズによって,QueueSenderオブジェクトに関連づけられたすべてのリソースを解放します。QueueSender(MessageProducer)インタフェースのメソッドは,複数スレッドからの同時呼び出しをJMSで禁止されています。ただし,close()メソッドだけは,複数スレッドからの同時発行に対してパラレルに実行できます。

(3) 形式

 
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;
}
 

(4) フィールド

ありません。

(5) メソッド

「(3) 形式」に記載した順序で各メソッドを説明します。

(a) closeメソッド
 
public void close() throws JMSException
 

メッセージプロデューサをクローズします。メッセージプロデューサには幾つかのリソースが割り当てられている場合があるため,リソースが不要になった場合はメッセージプロデューサをクローズしてください。

(b) getDeliveryModeメソッド
 
public int getDeliveryMode() throws JMSException
 

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

このメソッドを発行した場合,0を返します。

(c) getDisableMessageIDメソッド
 
public boolean getDisableMessageID() throws JMSException
 

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

このメソッドを発行した場合,falseを返します。

(d) getDisableMessageTimestampメソッド
 
public boolean getDisableMessageTimestamp() throws JMSException
 

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

このメソッドを発行した場合,falseを返します。

(e) getPriorityメソッド
 
public int getPriority() throws JMSException
 

メッセージプロデューサに指定された優先度を返します。なお,この値はメッセージに設定されたJMSPriorityヘッダの値と同じです。

(f) getTimeToLiveメソッド
 
public long getTimeToLive() throws JMSException
 

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

このメソッドを発行した場合,0を返します。

(g) setDeliveryModeメソッド
 
public void setDeliveryMode(int deliveryMode) throws JMSException
 

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

このメソッドで設定した値は実際には使用されません。

(h) setDisableMessageIDメソッド
 
public void setDisableMessageID(boolean value) throws JMSException
 

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

このメソッドで設定した値は実際には使用されません。

(i) setDisableMessageTimestampメソッド
 
public void setDisableMessageTimestamp(boolean value)
  throws JMSException
 

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

このメソッドで設定した値は実際には使用されません。

(j) setPriorityメソッド
 
public void setPriority(int defaultPriority) throws JMSException
 

プロデューサのデフォルトの優先度を指定します。0(最低)〜9(最高)の範囲の値を指定します。デフォルト値はjavax.jms.Message.DEFAULT_PRIORITYです。範囲以外の値を指定した場合,JMSExceptionが発生します。

(k) setTimeToLiveメソッド
 
public void setTimeToLive(long timeToLive) throws JMSException
 

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

このメソッドで設定した値は実際には使用されません。

(l) getQueueメソッド
 
public Queue getQueue() throws JMSException
 

キューセンダに関連づけられたキューを返します。

(m) sendメソッド
 
public void send(Message message) throws JMSException
 

メッセージをキューに送信します。キューセンダで設定した優先度が使用されます。

送信メソッドの実行時にメッセージを変更した場合,送信の結果は保証されません。

(n) sendメソッド
 
public void send(Message message, int deliveryMode, int priority,
  long timeToLive) throws JMSException
 

メッセージをキューに送信します。

(o) sendメソッド
 
public void send(Queue queue, Message message) throws JMSException
 

メッセージをキューに送信します。キューセンダで設定した優先度が使用されます。

queue引数にnullが指定された場合,Session.createSender()メソッドのqueue引数に指定されたキューにメッセージを送信します。

送信メソッドの実行時にメッセージを変更した場合,送信の結果は保証されません。

(p) sendメソッド
 
public void send(Queue queue, Message message, int deliveryMode,
  int priority, long timeToLive) throws JMSException
 

メッセージをキューに送信します。

queue引数にnullが指定された場合,Session.createSender()メソッドのqueue引数に指定されたキューにメッセージを送信します。