CMSExpiration computed incorrectly (?)
--------------------------------------
Key: AMQCPP-186
URL: https://issues.apache.org/activemq/browse/AMQCPP-186
Project: ActiveMQ C++ Client
Issue Type: Bug
Affects Versions: 2.1.3
Reporter: Eddie Epstein
Assignee: Nathan Mittler
The C++ consumer is treating messages as expired in situations where the Java
consumer is not.
It could be that the problem is due to the code in
connector/openwire/commands/ActiveMQMessageBase.h which compares the
CMSExpiration time specified by producer.setTimeToLive() with the local clock
on the consumer machine.
/**
* Returns if this message has expired, meaning that its
* Expiration time has elapsed.
* @returns true if message is expired.
*/
virtual bool isExpired() const {
long long expireTime = this->getCMSExpiration();
long long currentTime =
decaf::util::Date::getCurrentTimeMilliseconds();
if( expireTime > 0 && currentTime > expireTime ) {
return true;
}
return false;
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.