diff --git a/artemis-commons/src/main/java/org/apache/activemq/artemis/utils/TimestampUtil.java b/artemis-commons/src/main/java/org/apache/activemq/artemis/utils/TimestampUtil.java
deleted file mode 100644
index 340ec738e8e..00000000000
--- a/artemis-commons/src/main/java/org/apache/activemq/artemis/utils/TimestampUtil.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.activemq.artemis.utils;
-
-import java.time.Instant;
-import java.time.ZoneId;
-
-import static java.time.format.DateTimeFormatter.RFC_1123_DATE_TIME;
-
-public class TimestampUtil {
-
- /**
- * Formats the given epoch time in milliseconds into an RFC 1123 formatted date-time string. This is useful, for
- * example, for providing date-time string for display on the web console.
- *
- * @param epochMillis the epoch time in milliseconds to be formatted
- * @return a string representation of the given epoch time formatted in RFC 1123 format
- * @see java.time.format.DateTimeFormatter#RFC_1123_DATE_TIME
- * @see RFC 1123
- */
- public static String formatEpochMillis(long epochMillis) {
- return RFC_1123_DATE_TIME.format(Instant.ofEpochMilli(epochMillis).atZone(ZoneId.of("UTC")));
- }
-}
\ No newline at end of file
diff --git a/artemis-commons/src/test/java/org/apache/activemq/artemis/utils/TimestampUtilTest.java b/artemis-commons/src/test/java/org/apache/activemq/artemis/utils/TimestampUtilTest.java
deleted file mode 100644
index 6850d8cf24d..00000000000
--- a/artemis-commons/src/test/java/org/apache/activemq/artemis/utils/TimestampUtilTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.activemq.artemis.utils;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class TimestampUtilTest {
-
- @Test
- public void testFormatEpochMillis() {
- assertEquals("Thu, 1 Jan 1970 00:00:00 GMT", TimestampUtil.formatEpochMillis(0));
- assertEquals("Mon, 17 Nov 2025 17:03:05 GMT", TimestampUtil.formatEpochMillis(1763398985514L));
- }
-}
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java
index ed4aa832daf..3a1fc012000 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java
@@ -16,6 +16,7 @@
*/
package org.apache.activemq.artemis.core.management.impl.view;
+import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.Set;
@@ -30,8 +31,6 @@
import org.apache.activemq.artemis.utils.JsonLoader;
import org.apache.activemq.artemis.utils.StringUtil;
-import static org.apache.activemq.artemis.utils.TimestampUtil.formatEpochMillis;
-
public class ConnectionView extends ActiveMQAbstractView {
private static final String defaultSortField = ConnectionField.CONNECTION_ID.getName();
@@ -62,7 +61,7 @@ public JsonObjectBuilder toJson(RemotingConnection connection) {
.add(ConnectionField.CONNECTION_ID.getName(), toString(connection.getID()))
.add(ConnectionField.REMOTE_ADDRESS.getName(), toString(connection.getRemoteAddress()))
.add(ConnectionField.USERS.getName(), StringUtil.joinStringList(users, ","))
- .add(ConnectionField.CREATION_TIME.getName(), formatEpochMillis((connection.getCreationTime())))
+ .add(ConnectionField.CREATION_TIME.getName(), new Date(connection.getCreationTime()).toString())
.add(ConnectionField.IMPLEMENTATION.getName(), toString(connection.getClass().getSimpleName()))
.add(ConnectionField.PROTOCOL.getName(), toString(connection.getProtocolName()))
.add(ConnectionField.CLIENT_ID.getName(), toString(connection.getClientID()))
@@ -89,7 +88,7 @@ public Object getField(RemotingConnection connection, String fieldName) {
}
return StringUtil.joinStringList(users, ",");
case CREATION_TIME:
- return connection.getCreationTime();
+ return new Date(connection.getCreationTime());
case IMPLEMENTATION:
return connection.getClass().getSimpleName();
case PROTOCOL:
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConsumerView.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConsumerView.java
index 91dd1cc4811..3768c9568f3 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConsumerView.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConsumerView.java
@@ -16,6 +16,8 @@
*/
package org.apache.activemq.artemis.core.management.impl.view;
+import java.util.Date;
+
import org.apache.activemq.artemis.core.management.impl.ActiveMQServerControlImpl;
import org.apache.activemq.artemis.core.management.impl.view.predicate.ConsumerFilterPredicate;
import org.apache.activemq.artemis.core.server.ActiveMQServer;
@@ -24,8 +26,6 @@
import org.apache.activemq.artemis.json.JsonObjectBuilder;
import org.apache.activemq.artemis.utils.JsonLoader;
-import static org.apache.activemq.artemis.utils.TimestampUtil.formatEpochMillis;
-
public class ConsumerView extends ActiveMQAbstractView {
public static final String CONSUMER_STATUS_OK = "OK";
@@ -69,15 +69,15 @@ public JsonObjectBuilder toJson(ServerConsumer consumer) {
.add(ConsumerField.ADDRESS.getName(), toString(consumer.getQueueAddress()))
.add(ConsumerField.LOCAL_ADDRESS.getName(), toString(consumer.getConnectionLocalAddress()))
.add(ConsumerField.REMOTE_ADDRESS.getName(), toString(consumer.getConnectionRemoteAddress()))
- .add(ConsumerField.CREATION_TIME.getName(), formatEpochMillis(consumer.getCreationTime()))
+ .add(ConsumerField.CREATION_TIME.getName(), new Date(consumer.getCreationTime()).toString())
.add(ConsumerField.MESSAGES_IN_TRANSIT.getName(), toString(consumer.getMessagesInTransit()))
.add(ConsumerField.MESSAGES_IN_TRANSIT_SIZE.getName(), toString(consumer.getMessagesInTransitSize()))
.add(ConsumerField.MESSAGES_DELIVERED.getName(), toString(consumer.getMessagesDelivered()))
.add(ConsumerField.MESSAGES_DELIVERED_SIZE.getName(), toString(consumer.getMessagesDeliveredSize()))
.add(ConsumerField.MESSAGES_ACKNOWLEDGED.getName(), toString(consumer.getMessagesAcknowledged()))
.add(ConsumerField.MESSAGES_ACKNOWLEDGED_AWAITING_COMMIT.getName(), toString(consumer.getMessagesAcknowledgedAwaitingCommit()))
- .add(ConsumerField.LAST_DELIVERED_TIME.getName(), formatEpochMillis(consumer.getLastDeliveredTime()))
- .add(ConsumerField.LAST_ACKNOWLEDGED_TIME.getName(), formatEpochMillis(consumer.getLastAcknowledgedTime()))
+ .add(ConsumerField.LAST_DELIVERED_TIME.getName(), consumer.getLastDeliveredTime())
+ .add(ConsumerField.LAST_ACKNOWLEDGED_TIME.getName(), consumer.getLastAcknowledgedTime())
.add(ConsumerField.STATUS.getName(), ConsumerView.checkConsumerStatus(consumer, server));
return obj;
@@ -106,7 +106,7 @@ public Object getField(ServerConsumer consumer, String fieldName) {
case FILTER -> consumer.getFilterString();
case LOCAL_ADDRESS -> consumer.getConnectionLocalAddress();
case REMOTE_ADDRESS -> consumer.getConnectionRemoteAddress();
- case CREATION_TIME -> consumer.getCreationTime();
+ case CREATION_TIME -> new Date(consumer.getCreationTime());
case MESSAGES_IN_TRANSIT -> consumer.getMessagesInTransit();
case MESSAGES_IN_TRANSIT_SIZE -> consumer.getMessagesInTransitSize();
case MESSAGES_DELIVERED -> consumer.getMessagesDelivered();
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ProducerView.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ProducerView.java
index 588c5044aa3..b08e6076f80 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ProducerView.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ProducerView.java
@@ -25,8 +25,6 @@
import org.apache.activemq.artemis.json.JsonObjectBuilder;
import org.apache.activemq.artemis.utils.JsonLoader;
-import static org.apache.activemq.artemis.utils.TimestampUtil.formatEpochMillis;
-
public class ProducerView extends ActiveMQAbstractView {
private static final String defaultSortField = ProducerField.CREATION_TIME.getName();
@@ -64,7 +62,7 @@ public JsonObjectBuilder toJson(ServerProducer producer) {
.add(ProducerField.ADDRESS.getName(), toString(Objects.requireNonNullElse(producer.getAddress(), session.getDefaultAddress())))
.add(ProducerField.LOCAL_ADDRESS.getName(), toString(session.getRemotingConnection().getTransportConnection().getLocalAddress()))
.add(ProducerField.REMOTE_ADDRESS.getName(), toString(session.getRemotingConnection().getTransportConnection().getRemoteAddress()))
- .add(ProducerField.CREATION_TIME.getName(), formatEpochMillis((producer.getCreationTime())))
+ .add(ProducerField.CREATION_TIME.getName(), toString(producer.getCreationTime()))
.add(ProducerField.MESSAGE_SENT.getName(), producer.getMessagesSent())
.add(ProducerField.MESSAGE_SENT_SIZE.getName(), producer.getMessagesSentSize())
.add(ProducerField.LAST_PRODUCED_MESSAGE_ID.getName(), toString(producer.getLastProducedMessageID()));
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/SessionView.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/SessionView.java
index 9aa09b318b1..c9c5369fcde 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/SessionView.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/SessionView.java
@@ -16,15 +16,14 @@
*/
package org.apache.activemq.artemis.core.management.impl.view;
+import org.apache.activemq.artemis.json.JsonObjectBuilder;
+import java.util.Date;
import java.util.Objects;
import org.apache.activemq.artemis.core.management.impl.view.predicate.SessionFilterPredicate;
import org.apache.activemq.artemis.core.server.ServerSession;
-import org.apache.activemq.artemis.json.JsonObjectBuilder;
import org.apache.activemq.artemis.utils.JsonLoader;
-import static org.apache.activemq.artemis.utils.TimestampUtil.formatEpochMillis;
-
public class SessionView extends ActiveMQAbstractView {
private static final String defaultSortField = SessionField.ID.getName();
@@ -45,7 +44,7 @@ public JsonObjectBuilder toJson(ServerSession session) {
.add(SessionField.ID.getName(), toString(session.getName()))
.add(SessionField.USER.getName(), toString(session.getUsername()))
.add(SessionField.VALIDATED_USER.getName(), toString(session.getValidatedUser()))
- .add(SessionField.CREATION_TIME.getName(), formatEpochMillis((session.getCreationTime())))
+ .add(SessionField.CREATION_TIME.getName(), new Date(session.getCreationTime()).toString())
.add(SessionField.CONSUMER_COUNT.getName(), session.getConsumerCount())
.add(SessionField.PRODUCER_COUNT.getName(), session.getProducerCount())
.add(SessionField.CONNECTION_ID.getName(), session.getConnectionID().toString())
@@ -61,7 +60,7 @@ public Object getField(ServerSession session, String fieldName) {
case ID -> session.getName();
case USER -> session.getUsername();
case VALIDATED_USER -> session.getValidatedUser();
- case CREATION_TIME -> session.getCreationTime();
+ case CREATION_TIME -> new Date(session.getCreationTime());
case CONSUMER_COUNT -> session.getConsumerCount();
case PRODUCER_COUNT -> session.getProducerCount();
case CONNECTION_ID -> session.getConnectionID();