Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

TaskComplete?EstimateSprintNotes
clearBody()N/A  To be implemented with each message type implementation
clearProperties()Mostly 2h 

Read/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)

Mostly 2h Additional property name validation still required, valid Java identifiers etc.

getJMSMessageID()

setJMSMessageID(java.lang.String id)

4d  

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.

 

Define mapping for type conversion. Write Up. (1d 4h)

Parser. (2d)

Annotation handling.(4h)

getJMSCorrelationID()

getJMSCorrelationIDAsBytes()

setJMSCorrelationID(java.lang.String correlationID)

setJMSCorrelationIDAsBytes(byte[] correlationID)

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.

getJMSDeliveryMode()

setJMSDeliveryMode(int deliveryMode)

Mostly  There is scope for optimizing NON_PERSISTENT messages by removing the AMQP header if all fields are at their default values and can be removed.

getJMSReplyTo()

setJMSReplyTo(Destination replyTo)

Yes, but ->  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.

getJMSDestination()

setJMSDestination(Destination destination)

Yes, but ->  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.

getJMSExpiration()

setJMSExpiration(long expiration)

(tick)   

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).

getJMSTimestamp()

setJMSTimestamp(long timestamp)

(tick)   

getJMSType()

setJMSType(java.lang.String type)

4h   
acknowledge()Later  Part of implementing Client-Ack sessions.
JMSXUserId2h  [1]
JMSXGroupID2h  [1]
JMSXGroupSeq2h  [1]
JMSXDeliveryCountLater  [1]. As part of of redelivery etc.
JMSXAppID2h  [1]
JMS_AMQP_TTL(tick)  [1]
JMS_AMQP_FIRST_ACQUIRER2h  [1]
JMS_AMQP_SUBJECT2h  [1]
JMS_AMQP_CONTENT_TYPE2h  [1]
JMS_AMQP_CONTENT_ENCODING2h  [1] TODO: only on BytesMessage?
JMS_AMQP_REPLY_TO_GROUP_ID2h  [1]

...