The RegionBroker contains the following logic, which overwrites the JMSTimestamp. FWIU, the message timestamp should be set once at send and never changed by the broker.
if (message.getTimestamp() > 0 && (message.getBrokerPath() == null || message.getBrokerPath().length == 0)) {
//timestamp not been disabled and has not passed through a network
message.setTimestamp(System.currentTimeMillis());
}
Attached is a simple test case and patch that changes the '>' in the if statement above to '<='. I'm not sure if that is the proper fix, but it did make my problem go away.
Description
The RegionBroker contains the following logic, which overwrites the JMSTimestamp. FWIU, the message timestamp should be set once at send and never changed by the broker.
if (message.getTimestamp() > 0 && (message.getBrokerPath() == null || message.getBrokerPath().length == 0)) {
//timestamp not been disabled and has not passed through a network
message.setTimestamp(System.currentTimeMillis());
}
Attached is a simple test case and patch that changes the '>' in the if statement above to '<='. I'm not sure if that is the proper fix, but it did make my problem go away.