javax.jms.Message
Task | Complete? | Estimate | Sprint | Notes | |
---|---|---|---|---|---|
| clearBody() | To be implemented with each message type implementation | |||
clearProperties() | Read/write state handling still to be added. 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. | ||||
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. | ||||
| 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. | ||||
| 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. | ||||
| |||||
| 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. | ||||
| |||||
| 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. | ||||
| |||||
| |||||
acknowledge() | Part of implementing Client-Ack sessions. | ||||
JMSXUserId | [1] | ||||
JMSXGroupID | [1] | ||||
JMSXGroupSeq | [1] | ||||
JMSXDeliveryCount | [1] | ||||
JMSXAppID | [1] | ||||
JMS_AMQP_TTL | [1] | ||||
JMS_AMQP_FIRST_ACQUIRER | [1] | ||||
JMS_AMQP_SUBJECT | [1] | ||||
JMS_AMQP_CONTENT_TYPE | [1] | ||||
JMS_AMQP_CONTENT_ENCODING | [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.
javax.jms.TextMessage
Task | Complete? | Estimate | Sprint | 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? | Estimate | Sprint | 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 | |
---|---|---|---|---|---|
|
| ||||
getObject() | |||||
setObject(Serializable object) |
javax.jms.MapMessage
Task | Estimate | Sprint | Notes | |
---|---|---|---|---|
|
| |||
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) | ||||
getMapNames() | ||||
itemExists(String name) | ||||
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) | ||||