メッセージキューイングアクセス機能 TP1/Message Queue - Access 使用の手引
Messageインタフェース(JMS)
Messageインタフェースは,すべてのJMSメッセージのルートインタフェースです。
すべてのメッセージのために使用されるJMSヘッダを定義します。ヘッダと本体から構成される小容量のエンティティとしてメッセージを扱います。メッセージ本体は,送られるアプリケーションデータを含んでいます。
形式
public interface Message { public static final int DEFAULT_DELIVERY_MODE; public static final int DEFAULT_PRIORITY; public static final long DEFAULT_TIME_TO_LIVE; public java.lang.String getJMSMessageID() throws JMSException; public void setJMSMessageID(java.lang.String id) throws JMSException; public long getJMSTimestamp() throws JMSException; public void setJMSTimestamp(long timestamp) throws JMSException; public byte[] getJMSCorrelationIDAsBytes() throws JMSException; public void setJMSCorrelationIDAsBytes(byte[] correlationID) throws JMSException; public java.lang.String getJMSCorrelationID() throws JMSException; public void setJMSCorrelationID(java.lang.String correlationID) throws JMSException; public Destination getJMSReplyTo() throws JMSException; public void setJMSReplyTo(Destination replyTo) throws JMSException; public Destination getJMSDestination() throws JMSException; public void setJMSDestination(Destination destination) throws JMSException; public int getJMSDeliveryMode() throws JMSException; public void setJMSDeliveryMode(int deliveryMode) throws JMSException; public boolean getJMSRedelivered() throws JMSException; public void setJMSRedelivered(boolean redelivered) throws JMSException; public java.lang.String getJMSType() throws JMSException; public void setJMSType(java.lang.String type) throws JMSException; public long getJMSExpiration() throws JMSException; public void setJMSExpiration(long expiration) throws JMSException; public int getJMSPriority() throws JMSException; public void setJMSPriority(int priority) throws JMSException; public void clearProperties() throws JMSException; public boolean propertyExists(java.lang.String name) throws JMSException; public boolean getBooleanProperty(java.lang.String name) throws JMSException; public byte getByteProperty(java.lang.String name) throws JMSException; public short getShortProperty(java.lang.String name) throws JMSException; public int getIntProperty(java.lang.String name) throws JMSException; public long getLongProperty(java.lang.String name) throws JMSException; public float getFloatProperty(java.lang.String name) throws JMSException; public double getDoubleProperty(java.lang.String name) throws JMSException; public java.lang.String getStringProperty(java.lang.String name) throws JMSException; public java.lang.Object getObjectProperty(java.lang.String name) throws JMSException; public java.util.Enumeration getPropertyNames() throws JMSException; public void setBooleanProperty(java.lang.String name, boolean value) throws JMSException; public void setByteProperty(java.lang.String name, byte value) throws JMSException; public void setShortProperty(java.lang.String name, short value) throws JMSException; public void setIntProperty(java.lang.String name, int value) throws JMSException; public void setLongProperty(java.lang.String name, long value) throws JMSException; public void setFloatProperty(java.lang.String name, float value) throws JMSException; public void setDoubleProperty(java.lang.String name, double value) throws JMSException; public void setStringProperty(java.lang.String name, java.lang.String value) throws JMSException; public void setObjectProperty(java.lang.String name, java.lang.Object value) throws JMSException; public void acknowledge() throws JMSException; public void clearBody() throws JMSException; }
フィールド
● public static final int DEFAULT_DELIVERY_MODE
メッセージの永続性のデフォルトです。デフォルト値はDeliveryMode.PERSISTENT(永続)です。
● public static final int DEFAULT_PRIORITY
メッセージの優先度のデフォルトです。デフォルト値は4です。
● public static final long DEFAULT_TIME_TO_LIVE
メッセージの保持時間のデフォルトです。デフォルト値は0です。
メソッド
● public java.lang.String getJMSMessageID() throws JMSException
JMSMessageIDヘッダフィールドを取得します。
● public void setJMSMessageID(java.lang.String id) throws JMSException
JMSMessageIDヘッダフィールドを設定します。JMSMessageIDヘッダフィールドは,送信時にTP1/Message Queueによって設定されるため,ユーザが設定しても無視されます。
受信したメッセージのJMSMessageIDヘッダフィールドを変更するときにこのメソッドを使用します。
JMSMessageIDの先頭には必ず「ID:」を付けてください。
● public long getJMSTimestamp() throws JMSException
JMSTimestampヘッダフィールドを取得します。
● public void setJMSTimestamp(long timestamp) throws JMSException
JMSTimestampヘッダフィールドを設定します。TP1/Message Queueは,送信時にPutDate,PutTimeに対して時刻を設定するため,JMSTimestampヘッダフィールドにユーザが値を設定しても無視されます。
JMSTimestampは,TP1/Message Queueに対してメッセージのキューへの格納を依頼した時点の時刻です。メッセージが実際に転送先に送られる時刻ではありません。
受信したメッセージのJMSTimestampを変更するときにこのメソッドを使用します。
● public byte[] getJMSCorrelationIDAsBytes() throws JMSException
相関識別子をbyte型配列で取得します。
● public void setJMSCorrelationIDAsBytes(byte[] correlationID) throws JMSException
相関識別子をbyte型配列で設定します。24バイトを超える部分は切り捨てられます。
● public java.lang.String getJMSCorrelationID() throws JMSException
相関識別子をString型で取得します。
● public void setJMSCorrelationID(java.lang.String correlationID) throws JMSException
相関識別子をString型で設定します。
相関識別子には次の値のどちらかを設定します。
● public Destination getJMSReplyTo() throws JMSException
応答キューを取得します。
● public void setJMSReplyTo(Destination replyTo) throws JMSException
応答キューを設定します。
● public Destination getJMSDestination() throws JMSException
宛先キューを取得します。
● public void setJMSDestination(Destination destination) throws JMSException
宛先キューを設定します。ただし,JMSDestinationヘッダフィールドに値を設定しても,送信時には無視されます。送信完了後,JMSDestinationヘッダフィールドには送信メソッドによって指定される宛先オブジェクトが格納されます。受信時は,JMSDestinationヘッダフィールドには,該当するメッセージが入っていたキューが設定されます。
● public int getJMSDeliveryMode() throws JMSException
メッセージの永続性を取得します。
● public void setJMSDeliveryMode(int deliveryMode) throws JMSException
メッセージの永続性を設定します。ただし,JMSDeliveryModeヘッダフィールドに値を設定しても,送信時には無視されます。メッセージの永続性はQueueSenderインタフェースで設定します。
● public boolean getJMSRedelivered() throws JMSException
このメッセージが再送されているかどうかを取得します。
● public void setJMSRedelivered(boolean redelivered) throws JMSException
再送のフラグを設定します。ただし,JMSRedeliveredヘッダフィールドに値を設定しても,送信時には無視されます。
● public java.lang.String getJMSType() throws JMSException
TP1/Message QueueはJMSTypeの値を送受信できないため,setJMSTypeメソッドで設定された値がそのまま返ります。
● public void setJMSType(java.lang.String type) throws JMSException
JMSTypeヘッダフィールドを設定しますが,TP1/Message Queueのキューにはこの情報は記録されません。
● public long getJMSExpiration() throws JMSException
メッセージの満了時刻を取得します。
メッセージの満了時刻(JMSExpiration)は,メッセージの登録時刻にメッセージの保持時間(TimeToLive)を加算した時刻に相当します。
なお,メッセージの満了時刻(JMSExpiration)が0の場合,メッセージが満了しないことを意味します。
● public void setJMSExpiration(long expiration) throws JMSException
メッセージの満了時刻を設定します。ただし,JMSExpirationヘッダフィールドに値を設定しても,送信時には無視されます。TimeToLive(メッセージの保持時間)はQueueSenderインタフェースで設定します。TimeToLiveに0を指定した場合,JMSExpirationヘッダフィールドは0に設定され,メッセージが満了しないことを示します。
● public int getJMSPriority() throws JMSException
メッセージの優先度を取得します。
● public void setJMSPriority(int priority) throws JMSException
メッセージの優先度を設定します。ただし,JMSPriorityヘッダフィールドに値を設定しても,送信時には無視されます。メッセージの優先度はQueueSenderインタフェースで設定します。
● public void clearProperties() throws JMSException
プロパティの値を初期化します。ヘッダや本体は削除されません。
● public boolean propertyExists(java.lang.String name) throws JMSException
プロパティ(名称:name)の値が存在するかどうかを調べます。
● public boolean getBooleanProperty(java.lang.String name) throws JMSException
boolean型のプロパティ(名称:name)の値を取得します。
● public byte getByteProperty(java.lang.String name) throws JMSException
byte型のプロパティ(名称:name)の値を取得します。
● public short getShortProperty(java.lang.String name) throws JMSException
short型のプロパティ(名称:name)の値を取得します。
● public int getIntProperty(java.lang.String name) throws JMSException
int型のプロパティ(名称:name)の値を取得します。
● public long getLongProperty(java.lang.String name) throws JMSException
long型のプロパティ(名称:name)の値を取得します。
● public float getFloatProperty(java.lang.String name) throws JMSException
float型のプロパティ(名称:name)の値を取得します。
● public double getDoubleProperty(java.lang.String name) throws JMSException
double型のプロパティ(名称:name)の値を取得します。
● public java.lang.String getStringProperty(java.lang.String name) throws JMSException
String型のプロパティ(名称:name)の値を取得します。
● public java.lang.Object getObjectProperty(java.lang.String name) throws JMSException
プロパティ(名称:name)の値をプリミティブ型をラップするクラスのオブジェクトとして取得します。
● public java.util.Enumeration getPropertyNames() throws JMSException
すべてのプロパティの名称を取得します。ヘッダは返されません。
● public void setBooleanProperty(java.lang.String name, boolean value) throws JMSException
boolean型のプロパティ(名称:name)の値を設定します。
nameに指定するプロパティ名が,「JMSメッセージのヘッダとプロパティ」の表7-6に示すプロパティ名ではない場合でsendメソッドの発行時には,プロパティの値はTP1/Message Queueのキューには格納されません。
● public void setByteProperty(java.lang.String name, byte value) throws JMSException
byte型のプロパティ(名称:name)の値を設定します。
nameに指定するプロパティ名が,「JMSメッセージのヘッダとプロパティ」の表7-6に示すプロパティ名ではない場合でsendメソッドの発行時には,プロパティの値はTP1/Message Queueのキューには格納されません。
● public void setShortProperty(java.lang.String name, short value) throws JMSException
short型のプロパティ(名称:name)の値を設定します。
nameに指定するプロパティ名が,「JMSメッセージのヘッダとプロパティ」の表7-6に示すプロパティ名ではない場合でsendメソッドの発行時には,プロパティの値はTP1/Message Queueのキューには格納されません。
● public void setIntProperty(java.lang.String name, int value) throws JMSException
int型のプロパティ(名称:name)の値を設定します。
nameに指定するプロパティ名が,「JMSメッセージのヘッダとプロパティ」の表7-6に示すプロパティ名ではない場合でsendメソッドの発行時には,プロパティの値はTP1/Message Queueのキューには格納されません。
● public void setLongProperty(java.lang.String name, long value) throws JMSException
long型のプロパティ(名称:name)の値を設定します。
nameに指定するプロパティ名が,「JMSメッセージのヘッダとプロパティ」の表7-6に示すプロパティ名ではない場合でsendメソッドの発行時には,プロパティの値はTP1/Message Queueのキューには格納されません。
● public void setFloatProperty(java.lang.String name, float value) throws JMSException
float型のプロパティ(名称:name)の値を設定します。
nameに指定するプロパティ名が,「JMSメッセージのヘッダとプロパティ」の表7-6に示すプロパティ名ではない場合でsendメソッドの発行時には,プロパティの値はTP1/Message Queueのキューには格納されません。
● public void setDoubleProperty(java.lang.String name, double value) throws JMSException
double型のプロパティ(名称:name)の値を設定します。
nameに指定するプロパティ名が,「JMSメッセージのヘッダとプロパティ」の表7-6に示すプロパティ名ではない場合でsendメソッドの発行時には,プロパティの値はTP1/Message Queueのキューには格納されません。
● public void setStringProperty(java.lang.String name, java.lang.String value) throws JMSException
String型のプロパティ(名称:name)の値を設定します。
nameに指定するプロパティ名が,「JMSメッセージのヘッダとプロパティ」の表7-6に示すプロパティ名ではない場合でsendメソッドの発行時には,プロパティの値はTP1/Message Queueのキューには格納されません。
● public void setObjectProperty(java.lang.String name, java.lang.Object value) throws JMSException
プロパティ(名称:name)の値を設定します。設定できる値の型は,プリミティブ型をラップするクラス(Byte,Integerなど),およびString型です。
nameに指定するプロパティ名が,「JMSメッセージのヘッダとプロパティ」の表7-6に示すプロパティ名ではない場合でsendメソッドの発行時には,プロパティの値はTP1/Message Queueのキューには格納されません。
● public void acknowledge() throws JMSException
現時点から以前のすべてのメッセージを確認します。ただし,確認機能は提供しません。このメソッドを発行しても,即座にリターンします。
すべてのJMSメッセージは,クライアントが「受信側でメッセージは明示的に確認されなければならない」と指定しているときに使われる,acknowledgeメソッドをサポートしています。クライアントが自動確認機能を使用している場合,acknowledgeメソッドの呼び出しは無視されます。
このメソッドを発行した場合,受け取られたにもかかわらず確認されていないメッセージは,受信側に再送される場合があります。
● public void clearBody() throws JMSException
メッセージ本体を削除します。ヘッダやプロパティは削除されません。
メッセージ本体が読み込み専用の場合,メッセージ本体は削除されるとともに書き込み専用となります。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.
(C) Copyright International Business Machines Corporation 1994, 1999. All rights reserved.