付録B JMS仕様とMQCクライアント機能のJMSインタフェースとの差異
Oracle Corporationが提供するJMS 1.0とMQCクライアント機能のJMSインタフェースとの機能差を示します。
インタフェース(パッケージ javax.jms)の機能差を次の表に示します。
インタフェース名 |
機能差 |
---|---|
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)の機能差を次の表に示します。
インタフェース名 |
メソッド名 |
機能差 |
---|---|---|
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 |
全メソッドで機能差はありません。 |
|
Connection・QueueConnection |
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) |
− |
|
ConnectionFactory・QueueConnectionFactory |
public QueueConnection createQueueConnection() |
− |
public QueueConnection createQueueConnection(java.lang.String userName,java.lang.String password) |
パラメタuserName,passwordは使用されません。 |
|
Session・QueueSession |
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仕様との差異はありません。