Repository: qpid-broker-j Updated Branches: refs/heads/master 6837975b7 -> b160fa731
QPID-7872: [Java Broker] [AMQP 1.0] Message expiry should be driven from ttl header only Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/b160fa73 Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/b160fa73 Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/b160fa73 Branch: refs/heads/master Commit: b160fa7318b77e2bcb1d26d699535f3d4c56828e Parents: 6837975 Author: Alex Rudyy <oru...@apache.org> Authored: Mon Aug 14 12:10:12 2017 +0100 Committer: Alex Rudyy <oru...@apache.org> Committed: Mon Aug 14 12:10:12 2017 +0100 ---------------------------------------------------------------------- .../server/protocol/v1_0/MessageMetaData_1_0.java | 15 ++------------- .../PropertyConverter_v1_0_to_InternalTest.java | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b160fa73/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java ---------------------------------------------------------------------- diff --git a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java index b9b93df..1564fb1 100755 --- a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java +++ b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java @@ -507,19 +507,8 @@ public class MessageMetaData_1_0 implements StorableMessageMetaData @Override public long getExpiration() { - final Date absoluteExpiryTime = - _propertiesSection == null ? null : _propertiesSection.getValue().getAbsoluteExpiryTime(); - if (absoluteExpiryTime != null) - { - return absoluteExpiryTime.getTime(); - } - else - { - final Date creationTime = - _propertiesSection == null ? null : _propertiesSection.getValue().getCreationTime(); - final UnsignedInteger ttl = _headerSection == null ? null : _headerSection.getValue().getTtl(); - return ttl == null || creationTime == null ? 0L : ttl.longValue() + creationTime.getTime(); - } + final UnsignedInteger ttl = _headerSection == null ? null : _headerSection.getValue().getTtl(); + return ttl == null ? 0L : ttl.longValue() + getArrivalTime(); } @Override http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b160fa73/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/PropertyConverter_v1_0_to_InternalTest.java ---------------------------------------------------------------------- diff --git a/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/PropertyConverter_v1_0_to_InternalTest.java b/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/PropertyConverter_v1_0_to_InternalTest.java index e8a0634..ed7e5e6 100644 --- a/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/PropertyConverter_v1_0_to_InternalTest.java +++ b/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/PropertyConverter_v1_0_to_InternalTest.java @@ -39,6 +39,7 @@ import org.apache.qpid.server.model.NamedAddressSpace; import org.apache.qpid.server.protocol.v1_0.type.Binary; import org.apache.qpid.server.protocol.v1_0.type.Symbol; import org.apache.qpid.server.protocol.v1_0.type.UnsignedByte; +import org.apache.qpid.server.protocol.v1_0.type.UnsignedInteger; import org.apache.qpid.server.protocol.v1_0.type.UnsignedLong; import org.apache.qpid.server.protocol.v1_0.type.messaging.ApplicationProperties; import org.apache.qpid.server.protocol.v1_0.type.messaging.Data; @@ -113,6 +114,21 @@ public class PropertyConverter_v1_0_to_InternalTest extends QpidTestCase InternalMessage convertedMessage = _messageConverter.convert(originalMessage, _addressSpace); + assertEquals("Unexpected expiration", 0, convertedMessage.getMessageHeader().getExpiration()); + } + + public void testTTLConversion() + { + long ttl = 10000; + long arrivalTime = System.currentTimeMillis(); + long expiryTime = arrivalTime + ttl; + final Header header = new Header(); + header.setTtl(UnsignedInteger.valueOf(ttl)); + + Message_1_0 originalMessage = createTestMessage(header, arrivalTime); + + InternalMessage convertedMessage = _messageConverter.convert(originalMessage, _addressSpace); + assertEquals("Unexpected expiration", expiryTime, convertedMessage.getMessageHeader().getExpiration()); } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org