[ https://issues.apache.org/jira/browse/AMQ-9452?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Grzegorz Kochański updated AMQ-9452: ------------------------------------ Description: {{StatisticsBroker}} does not send field {{firstMessageTimestamp}} as dest may be instance of {{DestinationFilter}} (in my case: {{{}AuthorizationDestinationFilter{}}}) {code:java} if (includeFirstMessageTimestamp) { if (dest instanceof Queue) { ((Queue) dest).doBrowse(tempFirstMessage, 1); } else if (dest instanceof Topic) { ((Topic) dest).doBrowse(tempFirstMessage, 1); } if (!tempFirstMessage.isEmpty()) { Message message = tempFirstMessage.get(0); // NOTICE: Client-side, you may get the broker "now" Timestamp by msg.getJMSTimestamp() // This allows for calculating age. statsMessage.setLong("firstMessageTimestamp", message.getBrokerInTime()); tempFirstMessage.clear(); } {code} It appears that {{BaseDestination}} may be unwinded: {code:java} //unwind BaseDestination while (dest instanceof DestinationFilter) { dest = ((DestinationFilter) dest).getNext(); } {code} related to feature: https://github.com/apache/activemq/commit/9167a79b79e4c121cfe0a5b82456f52bf3ecc3c7 was: {{StatisticsBroker}} does not send field {{firstMessageTimestamp}} as dest may be instance of {{DestinationFilter}} (in my case: {{{}AuthorizationDestinationFilter{}}}) {code:java} if (includeFirstMessageTimestamp) { if (dest instanceof Queue) { ((Queue) dest).doBrowse(tempFirstMessage, 1); } else if (dest instanceof Topic) { ((Topic) dest).doBrowse(tempFirstMessage, 1); } if (!tempFirstMessage.isEmpty()) { Message message = tempFirstMessage.get(0); // NOTICE: Client-side, you may get the broker "now" Timestamp by msg.getJMSTimestamp() // This allows for calculating age. statsMessage.setLong("firstMessageTimestamp", message.getBrokerInTime()); tempFirstMessage.clear(); } {code} It appears that {{BaseDestination}} may be easily unwinded: {code:java} //unwind BaseDestination while (dest instanceof DestinationFilter) { dest = ((DestinationFilter) dest).getNext(); } {code} > StatisticsPlugin - field firstMessageTimestamp is not produced for > AuthorizationDestinationFilter > ------------------------------------------------------------------------------------------------- > > Key: AMQ-9452 > URL: https://issues.apache.org/jira/browse/AMQ-9452 > Project: ActiveMQ Classic > Issue Type: Bug > Components: Broker > Affects Versions: 5.18.3 > Reporter: Grzegorz Kochański > Priority: Major > > {{StatisticsBroker}} does not send field {{firstMessageTimestamp}} as dest > may be instance of {{DestinationFilter}} (in my case: > {{{}AuthorizationDestinationFilter{}}}) > {code:java} > if (includeFirstMessageTimestamp) { > if (dest instanceof Queue) { > ((Queue) dest).doBrowse(tempFirstMessage, 1); > } > else if (dest instanceof Topic) { > ((Topic) dest).doBrowse(tempFirstMessage, 1); > } > if (!tempFirstMessage.isEmpty()) { > Message message = tempFirstMessage.get(0); > // NOTICE: Client-side, you may get the broker "now" Timestamp by > msg.getJMSTimestamp() > // This allows for calculating age. > statsMessage.setLong("firstMessageTimestamp", > message.getBrokerInTime()); > tempFirstMessage.clear(); > } {code} > > It appears that {{BaseDestination}} may be unwinded: > {code:java} > //unwind BaseDestination > while (dest instanceof DestinationFilter) { > dest = ((DestinationFilter) dest).getNext(); > } > {code} > > > related to feature: > https://github.com/apache/activemq/commit/9167a79b79e4c121cfe0a5b82456f52bf3ecc3c7 -- This message was sent by Atlassian Jira (v8.20.10#820010)