Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Table of Contents
stylesquare

javax.jms.Message

  current  

getJMSReplyTo()

setJMSReplyTo(Destination replyTo 
 TaskComplete?EstimateSprintNotes

 

 

 

 

 

 

 

 

 

 

 

clearBody()  Later To be implemented with each message type implementation
clearProperties()   (tick)2hRead/write state handling still to be added.

Additional handling still to be added for custom vendor properties as they are individually implemented.

getPropertyNames()

propertyExists(java.lang.String name)

getBooleanProperty(java.lang.String name)

getByteProperty(java.lang.String name)

getDoubleProperty(java.lang.String name)

getFloatProperty(java.lang.String name)

getIntProperty(java.lang.String name)

getLongProperty(java.lang.String name)

getObjectProperty(java.lang.String name)

getShortProperty(java.lang.String name)

getStringProperty(java.lang.String name)

setBooleanProperty(java.lang.String name, boolean value)

setByteProperty(java.lang.String name, byte value)

setDoubleProperty(java.lang.String name, double value)

setFloatProperty(java.lang.String name, float value)

setIntProperty(java.lang.String name, int value)

setLongProperty(java.lang.String name, long value)
setObjectProperty(java.lang.String name, java.lang.Object value)
setShortProperty(java.lang.String name, short value)
setStringProperty(java.lang.String name, java.lang.String value)

(tick)2h   Additional property name validation still required, valid Java identifiers etc.

getJMSMessageID()

setJMSMessageID(java.lang.String id)

(tick)1d

Requires an encoding/decoding scheme to be developed to allow retaining the underlying type information, as AMQP message-ids/correlation-ids can be a number of different types. 

getJMSCorrelationID()

getJMSCorrelationIDAsBytes()

setJMSCorrelationID(java.lang.String correlationID)

setJMSCorrelationIDAsBytes(byte[] correlationID)

 (tick)  4dRequires an encoding/decoding scheme to be developed to allow retaining the underlying type information, as AMQP message-ids/correlation-ids can be a number of different types.

getJMSDeliveryMode()

setJMSDeliveryMode(int deliveryMode)

  (tick) but -->
 There is still scope for optimizing NON_PERSISTENT messages by removing the AMQP header if all fields are at their default values and can be removedomitted.

getJMSDestinationgetJMSReplyTo()

setJMSDestinationsetJMSReplyTo(Destination destination replyTo)

 (tick) but --> The prototypes transmission of destination-type information is rather verbose. There is scope to change this in order to significantly reduce the added per-message overhead.

getJMSExpirationgetJMSDestination()

setJMSExpirationsetJMSDestination(long expirationDestination destination)

 (tick) but --> The prototypes transmission of destination-type information is rather verbose. There is scope to change this in order to significantly reduce the added per-message overhead.

getJMSExpiration

  

getJMSMessageID()

setJMSMessageID(java.lang.String idsetJMSExpiration(long expiration)

(tick)  Requires an encoding/decoding scheme to be developed to allow retaining the underlying type information, as AMQP message-ids/correlation-ids can be a number of different types.

getJMSPriority()

setJMSPriority(int priority)

  (tick)  

getJMSRedelivered()

setJMSRedelivered(boolean redelivered)

  Later 

Somewhat dependant on implementing AMQP delivery-count header handling.

setJMSRelivered makes no sense as the spec explicitly says you dont use it when sending messages (yours or foreign).

)

   The current transmission of destination-type information is rather verbose

.

There is scope to change this in order to significantly reduce the added per-message overhead.

getJMSTimestamp()

setJMSTimestamp(long timestamp)

  (tick)  

getJMSType()

setJMSType(java.lang.String type)

 (tick)  4h 
acknowledge() Later  Part As part of implementing Client-Ack sessions.
JMSXUserId (tick)  2h[1]
JMSXGroupID (tick)  2h[1]
JMSXGroupSeq (tick) 2h [1]
JMSXDeliveryCount Later  

As part of Session redelivery etc.

[1]

JMSXAppID   [1]

.

 JMS_AMQP_TTL (tick)  [1]
JMS_AMQP_FIRST_ACQUIRER  Later [1]
JMS_AMQP_SUBJECT  Later [1]
JMS_AMQP_CONTENT_TYPE  Later [1]
JMS_AMQP_CONTENT_ENCODING Later  

TODO: only on BytesMessage?

[1]

JMS_AMQP_REPLY_TO_GROUP_ID (tick)  2h[1]

 

[1] Handling will be required to deal with clashes where entries exist in the AMQP application-properties section with the same property name as would be used to access the relevant information which was actually carried on the AMQP header/properties. (e.g group information relating to JMSXGroupId will be carried in the AMQP properties section, so what happens when there is an application-properties entry with that key).

Phase 1: Remap-keys:

Property name prefix example: JMS_AMQP_PROP_<MANGLED>

 

Phase 2: Remap values.

javax.jms.TextMessage

...

 
TaskComplete?EstimateSprintNotesNotes
clearBody()(tick)2hWhen implemented, needs to handle content-type in the case where a message was initially received and of an alternative AMQP message representation than the client defaults to sending.
getText()   (tick)  
setText(java.lang.String string)(tick)  

 

 

javax.jms.BytesMessage

 

Still need to implement readable/writable validation.

Need

Notes

||
TaskComplete?EstimateNotes
clearBody()(tick)2h

When implemented, needs

to handle content-type in the case where a message was initially received and of an alternative AMQP message representation than the client defaults to sending.

TaskComplete?EstimateSprint

getBodyLength()(tick)1h 
readBoolean()
readByte()
readBytes(byte[] value)
readBytes(byte[] value, int length)
readChar()
readDouble()
readFloat()
readInt()
readLong()
readShort()
readUnsignedByte()
readUnsignedShort()
readUTF()
(tick)4h

 

 

 

reset()(tick)2h 
writeBoolean(boolean value)
writeByte(byte value)
writeBytes(byte[] value)
writeBytes(byte[] value, int offset, int length)
writeChar(char value)
writeDouble(double value)
writeFloat(float value)
writeInt(int value)
writeLong(long value)
writeObject(java.lang.Object value)
writeShort(short value)
writeUTF(java.lang.String value)
(tick)4h 

 

 

javax.jms.ObjectMessage

 

clearBody
TaskComplete?EstimateNotes
clearBody() 1h

 

getObject() 1d 
setObject(Serializable object) 1d 

 

...

 

javax.jms.

...

MapMessage

 

readBoolean()
readByte()
readBytes(readBytesreadCharreadDoublereadFloatreadIntreadLongreadShortreadUnsignedBytereadUnsignedShort
 TaskComplete?EstimateSprintNotes
 getBodyLength()    
Notes
clearBody() 1h 

getBoolean(String name)

getByte(String name)

getBytes(String name)

getChar(String name)

getDouble(String name)

getFloat(String name)

getInt(String name)

getLong(String name)

getObject(String name)

getShort(String name)

getString(String name)

 1d 

getMapNames()

itemExists(String name)

 1h 

setBoolean(String name, boolean value)

setByte(String name, byte value)

setBytes(String name,

byte[] value)

setBytes(String name, byte[] value, int offset, int length)

setChar(String name, char value)

setDouble(String name, double value)

setFloat(String name, float value)

setInt(String name, int value)

setLong(String name, long value)

setObject(String name, Object value)

setShort(String name, short value)

setString(String name, String value)

 1d 

 

javax.jms.StreamMessage

readUTF
TaskComplete?EstimateNotes
clearBody() 1h 

readBoolean()

readByte()

readBytes(byte[] value)

readChar()

readDouble()

readFloat()

readInt()

readLong()

readObject()

readShort()

readString()

 2dUpdate mapping to output Sequences 

Only implemented a very basic readBytes() thus far.

 

Need to handle content-type in the case where a message was initially received and of an alternative AMQP message representation than the client defaults to sending.
reset()   1h 

writeBoolean(boolean value)

writeByte(byte value)

writeBytes(byte[] value)

writeBytes(byte[] value, int offset, int length)

writeChar(char value)

writeDouble(double value)

writeFloat(float value)

writeInt(int value)

writeLong(long value)

writeObject(

java.lang.Object value

Object value)

writeShort(short value)

writeUTF(java.lang.String value

writeString(String value)

   Only implemented a very basic writeBytes() thus far.

...

1d