Table of Contents | ||
---|---|---|
|
javax.jms.Message
Task | Complete? | Estimate | Sprint | Notes | |||||
---|---|---|---|---|---|---|---|---|---|
| clearBody() | Later | To be implemented with each message type implementation | ||||||
clearProperties() | Additional handling still to be added for custom vendor properties as they are individually implemented. | ||||||||
| Additional property name validation still required, valid Java identifiers etc. | ||||||||
| 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. | ||||||||
setJMSCorrelationID(java.lang.String correlationID)
| | 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. | |||||||
| 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. | |||||||
| but --> | The | currentprototypes transmission of destination-type information is rather verbose. There is scope to change this in order to significantly reduce the added per-message overhead. | ||||||
| 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. | |||||||
| 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. | ||||||||
| |||||||||
| 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). | setJMSReplyTo(Destination replyTo) | 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. | |||||
| |||||||||
| | ||||||||
acknowledge() | Later | Part As part of implementing Client-Ack sessions. | |||||||
JMSXUserId | | [1] | |||||||
JMSXGroupID | | [1] | |||||||
JMSXGroupSeq | | [1] | |||||||
JMSXDeliveryCount | Later | As part of Session redelivery etc. [1] | |||||||
JMSXAppID | [1] | ||||||||
. | |||||||||
JMS_AMQP_TTL | [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 | | [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
...
Task | Complete? | EstimateSprint | Notes | ||
---|---|---|---|---|---|
| | 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. | |||
getText() | |||||
setText(java.lang.String string) |
javax.jms.BytesMessage
...
Task | Complete? | EstimateSprint | Notes | ||
---|---|---|---|---|---|
| | 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. | |||
getBodyLength() | Only implemented for received message content so far. | ||||
readBoolean() readByte() readBytes(byte[] value) readBytes(byte[] value, int length) readChar() readDouble() readFloat() readInt() readLong() readShort() readUnsignedByte() readUnsignedShort() readUTF() |
Only implemented a very basic readBytes(byte[ ]) thus far, which still needs readable/writable handling.
| ||||
reset() | | ||||
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) | Only implemented a very basic writeBytes(byte[ ]) thus far, which still needs readable/writable handling. |
javax.jms.ObjectMessage
Task | Complete? | Estimate | Sprint | Notes | ||
---|---|---|---|---|---|---|
| 1h |
| ||||
getObject() | 1d | |||||
setObject(Serializable object) | 1d |
javax.jms.MapMessage
...
Task | Complete? | Estimate | SprintNotes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1h | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1d | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1h | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1d |
javax.jms.StreamMessage
...
Task | Complete? | EstimateSprint | Notes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1h | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| 2d | Update mapping to output Sequences. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
reset() | 1h | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
| 1d |