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

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

付録B JMS仕様とMQCクライアント機能のJMSインタフェースとの差異

Sun Microsystems, Inc. が提供するJMS 1.0とMQCクライアント機能のJMSインタフェースとの機能差を示します。

インタフェース(パッケージ javax.jms)の機能差を次の表に示します。

表B-1 インタフェースの機能差

インタフェース名 機能差
MapMessage TP1/Message QueueではByte型配列のデータを扱うため,ほかの型のメッセージは未サポートです。
ObjectMessage
StreamMessage
TextMessage
TemporaryTopic Pub-Sub型メッセージングは未サポートです。
Topic
TopicConnection
TopicConnectionFactory
TopicPublisher
TopicSession
TopicSubscriber
XAConnection XA関連のインタフェースはオプションのため,未サポートです。
XAConnectionFactory
XAQueueConnection
XAQueueConnectionFactory
XAQueueSession
XASession
XATopicConnection
XATopicConnectionFactory
XATopicSession
ExceptionListener 未サポートです。

メソッド(パッケージ javax.jms)の機能差を次の表に示します。

表B-2 メソッドの機能差

インタフェース名 メソッド名 機能差
Message void acknowledge() 確認機能は提供しません。発行後,即座にリターンします。
void clearBody()
void clearProperties()
boolean getBooleanProperty(java.lang.String name) String型からboolean型への変換に失敗すると,例外JMSExceptionがスローされます。
byte getByteProperty(java.lang.String name) String型からbyte型への変換に失敗すると,例外JMSExceptionがスローされます。
double getDoubleProperty(java.lang.String name) String型からdouble型への変換に失敗すると,例外JMSExceptionがスローされます。
float getFloatProperty(java.lang.String name) String型からfloat型への変換に失敗すると,例外JMSExceptionがスローされます。
int getIntProperty(java.lang.String name) String型からint型への変換に失敗すると,例外JMSExceptionがスローされます。
java.lang.String getJMSCorrelationID() 内部で,MQBYTE24型からString型へ変換されます。
byte[] getJMSCorrelationIDAsBytes()
int getJMSDeliveryMode()
Destination getJMSDestination() 受信したメッセージの場合は受信したキューが返却されます。
long getJMSExpiration()
java.lang.String getJMSMessageID()
int getJMSPriority()
boolean getJMSRedelivered() MQMD構造体のBackoutCountフィールドが1以上のときはtrueを返し,0のときはfalseを返します。
Destination getJMSReplyTo()
long getJMSTimestamp() キューから取得したメッセージのPutDate,PutTimeが日付・時間の形式ではない場合,JMSTimestampには0を設定します。
また,PutDateとPutTimeのどちらかが空白の場合,JMSTimestampにはクライアントの現在時刻が設定されます。
java.lang.String getJMSType() setJMSType()で指定した値が返ります。
long getLongProperty(java.lang.String name) String型からlong型への変換に失敗すると,例外JMSExceptionがスローされます。
java.lang.Object getObjectProperty(java.lang.String name)
java.util.Enumeration getPropertyNames()
short getShortProperty(java.lang.String name) String型からshort型への変換に失敗すると,例外JMSExceptionがスローされます。
java.lang.String getStringProperty(java.lang.String name)
boolean propertyExists(java.lang.String name)
void setBooleanProperty(java.lang.String name, boolean value) アプリケーション固有プロパティのキーおよび値はTP1/Message Queueのキューに登録されません。
void setByteProperty(java.lang.String name, byte value) アプリケーション固有プロパティのキーおよび値はTP1/Message Queueのキューに登録されません。
void setDoubleProperty(java.lang.String name, double value) アプリケーション固有プロパティのキーおよび値はTP1/Message Queueのキューに登録されません。
void setFloatProperty(java.lang.String name, float value) アプリケーション固有プロパティのキーおよび値はTP1/Message Queueのキューに登録されません。
void setIntProperty(java.lang.String name, int value) アプリケーション固有プロパティのキーおよび値はTP1/Message Queueのキューに登録されません。
void setJMSCorrelationID(java.lang.String correlationID) 内部で,String型からMQBYTE24型へ変換されますが,このとき24バイトを超える部分は切り捨てられます。
void setJMSCorrelationIDAsBytes(byte[] correlationID) 24バイトを超える部分は切り捨てられます。
void setJMSDeliveryMode(int deliveryMode)
void setJMSDestination(Destination destination)
void setJMSExpiration(long expiration)
void setJMSMessageID(java.lang.String id)
void setJMSPriority(int priority)
void setJMSRedelivered(boolean redelivered)
void setJMSReplyTo(Destination replyTo)
void setJMSTimestamp(long timestamp)
void setJMSType(java.lang.String type) 値はTP1/Message Queueのキューに登録されません。
void setLongProperty(java.lang.String name, long value) アプリケーション固有プロパティのキーおよび値はTP1/Message Queueのキューに登録されません。
void setObjectProperty(java.lang.String name, java.lang.Object value) アプリケーション固有プロパティのキーおよび値はTP1/Message Queueのキューに登録されません。
void setShortProperty(java.lang.String name, short value) アプリケーション固有プロパティのキーおよび値はTP1/Message Queueのキューに登録されません。
void setStringProperty(java.lang.String name, java.lang.String value) アプリケーション固有プロパティのキーおよび値はTP1/Message Queueのキューに登録されません。
BytesMessage(extends Message int readBytes(bute[] value, int length) lengthの値が不正な場合,例外JMSExceptionがスローされます。
MessageProducer void close()
int getDeliveryMode()
boolean getDisableMessageID() このメソッドで取得した値に関係なく,TP1/Message Queueでは常にメッセージ識別子は使用可能です。
boolean getDisableMessageTimestamp() このメソッドで取得した値に関係なく,TP1/Message Queueでは常に登録日時は使用可能です。
int getPriority()
long getTimeToLive()
void setDeliveryMode(int deliveryMode)
void setDisableMessageID(boolean value) このメソッドで設定した値に関係なく,TP1/Message Queueでは常にメッセージ識別子は使用可能です。
void setDisableMessageTimestamp(boolean value) このメソッドで設定した値に関係なく,TP1/Message Queueでは常に登録日時は使用可能です。
void setPriority(int defaultPriority)
void setTimeToLive(long timeToLive)
QueueSender(extends MessageProducer 全メソッドで機能差はありません。
MessageConsumer void close()
MessageListener getMessageListener()
java.lang.String getMessageSelector()
Message receive()
Message receive(long timeout)
Message receiveNoWait()
void setMessageListener(MessageListener listener) メッセージリスナは使用されません。
QueueReceiver(extends MessageConsumer 全メソッドで機能差はありません。
QueueBrowser void close()
java.util.Enumeration getEnumeration()
java.lang.String getMessageSelector()
public Queue getQueue()
Queue(extends Destination 全メソッドで機能差はありません。
TemporaryQueue(extends Queue 全メソッドで機能差はありません。
ConnectionMetaData 全メソッドで機能差はありません。
ConnectionQueueConnection void close()
java.lang.String getClientID() 未サポートです。
ExceptionListener getExceptionListener() 未サポートです。
ConnectionMetaData getMetaData()
void setClientID(java.lang.String clientID) 未サポートです。
void setExceptionListener(ExceptionListener listener) 未サポートです。
void start()
void stop()
ConnectionConsumer createConnectionConsumer(Queue queue, java.lang.String messageSelector, ServerSessionPool sessionPool, int maxMessages) 未サポートです。
QueueSession createQueueSession(boolean transacted, int acknowledgeMode)
ConnectionFactoryQueueConnectionFactory public QueueConnection createQueueConnection()
public QueueConnection createQueueConnection(java.lang.String userName,java.lang.String password) パラメタuserName,passwordは使用されません。
SessionQueueSession void close()
void commit()
BytesMessage createBytesMessage()
MapMessage createMapMessage() 未サポートです。
Message createMessage()
ObjectMessage createObjectMessage() 未サポートです。
ObjectMessage createObjectMessage(java.io.Serializable object) 未サポートです。
StreamMessage createStreamMessage() 未サポートです。
TextMessage createTextMessage() 未サポートです。
TextMessage createTextMessage(java.lang.String text) 未サポートです。
MessageListener getMessageListener()
boolean getTransacted()
void recover() 未サポートです。
void rollback()
void run() 未サポートです。
void setMessageListener(MessageListener listener) パラメタlistenerの設定はできますが,使用されません。
QueueBrowser createBrowser(Queue queue)
QueueBrowser createBrowser(Queue queue, java.lang.String messageSelector) パラメタmessageSelectorは使用できますが,制限があります。詳細については,7章の「メッセージセレクタ」を参照してください。
Queue createQueue(java.lang.String queueName) 未サポートです。
QueueReceiver createReceiver(Queue queue)
QueueReceiver createReceiver(Queue queue, java.lang.String messageSelector) パラメタmessageSelectorは使用できますが,制限があります。詳細については,7章の「メッセージセレクタ」を参照してください。
QueueSender createSender(Queue queue)
TemporaryQueue createTemporaryQueue()

(凡例)
−:JMS仕様との差異はありません。