This is an automated email from the ASF dual-hosted git repository.
mattrpav pushed a commit to branch activemq-6.2.x
in repository https://gitbox.apache.org/repos/asf/activemq.git
The following commit(s) were added to refs/heads/activemq-6.2.x by this push:
new 1b7b1e0089 [#1911] Update resource cleanup on queueBrowse servlet
(#1912)
1b7b1e0089 is described below
commit 1b7b1e0089abfbbb6745f21f692e73bb2d81b08f
Author: Matt Pavlovich <[email protected]>
AuthorDate: Tue Apr 14 12:16:04 2026 -0500
[#1911] Update resource cleanup on queueBrowse servlet (#1912)
(cherry picked from commit 52bef00e510790b0a63eb287e285d6787671bbc6)
---
.../apache/activemq/web/QueueBrowseServlet.java | 54 +++++++++++-----------
.../java/org/apache/activemq/web/WebClient.java | 4 +-
2 files changed, 30 insertions(+), 28 deletions(-)
diff --git
a/activemq-web/src/main/java/org/apache/activemq/web/QueueBrowseServlet.java
b/activemq-web/src/main/java/org/apache/activemq/web/QueueBrowseServlet.java
index 435ffdc6c8..c39aa81fde 100644
--- a/activemq-web/src/main/java/org/apache/activemq/web/QueueBrowseServlet.java
+++ b/activemq-web/src/main/java/org/apache/activemq/web/QueueBrowseServlet.java
@@ -67,34 +67,36 @@ public class QueueBrowseServlet extends HttpServlet {
//
-------------------------------------------------------------------------
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
try {
- WebClient client = WebClient.getWebClient(request);
- Session session = client.getSession();
- Queue queue = getQueue(request, session);
- if (queue == null) {
- throw new ServletException("No queue URI specified");
- }
-
- String msgId = request.getParameter("msgId");
- if (msgId == null) {
- MessageRenderer renderer = getMessageRenderer(request);
- configureRenderer(request, renderer);
-
- String selector = getSelector(request);
- QueueBrowser browser = session.createBrowser(queue, selector);
- renderer.renderMessages(request, response, browser);
- }
- else {
- XmlMessageRenderer renderer = new XmlMessageRenderer();
- QueueBrowser browser = session.createBrowser(queue,
"JMSMessageID='" + msgId + "'");
- if (!browser.getEnumeration().hasMoreElements()) {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- return;
+ try(WebClient client = WebClient.getWebClient(request);
+ Session session = client.getSession()) {
+ Queue queue = getQueue(request, session);
+ if (queue == null) {
+ throw new ServletException("No queue URI specified");
}
- Message message = (Message)
browser.getEnumeration().nextElement();
- PrintWriter writer = response.getWriter();
- renderer.renderMessage(writer, request, response, browser,
message);
- writer.flush();
+ String msgId = request.getParameter("msgId");
+ if (msgId == null) {
+ MessageRenderer renderer = getMessageRenderer(request);
+ configureRenderer(request, renderer);
+
+ String selector = getSelector(request);
+ try (QueueBrowser browser = session.createBrowser(queue,
selector)) {
+ renderer.renderMessages(request, response, browser);
+ }
+ } else {
+ XmlMessageRenderer renderer = new XmlMessageRenderer();
+ try (QueueBrowser browser = session.createBrowser(queue,
"JMSMessageID='" + msgId + "'")) {
+ if (!browser.getEnumeration().hasMoreElements()) {
+
response.sendError(HttpServletResponse.SC_NOT_FOUND);
+ return;
+ }
+ Message message = (Message)
browser.getEnumeration().nextElement();
+
+ PrintWriter writer = response.getWriter();
+ renderer.renderMessage(writer, request, response,
browser, message);
+ writer.flush();
+ }
+ }
}
}
catch (JMSException e) {
diff --git a/activemq-web/src/main/java/org/apache/activemq/web/WebClient.java
b/activemq-web/src/main/java/org/apache/activemq/web/WebClient.java
index f074e06781..9c528b2792 100644
--- a/activemq-web/src/main/java/org/apache/activemq/web/WebClient.java
+++ b/activemq-web/src/main/java/org/apache/activemq/web/WebClient.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
*
*
*/
-public class WebClient implements HttpSessionActivationListener,
HttpSessionBindingListener, Externalizable {
+public class WebClient implements HttpSessionActivationListener,
HttpSessionBindingListener, Externalizable, AutoCloseable {
public static final String WEB_CLIENT_ATTRIBUTE =
"org.apache.activemq.webclient";
public static final String CONNECTION_FACTORY_ATTRIBUTE =
"org.apache.activemq.connectionFactory";
@@ -279,7 +279,7 @@ public class WebClient implements
HttpSessionActivationListener, HttpSessionBind
if (broker == null) {
throw new IllegalStateException("missing brokerURL
(specified via " + BROKER_URL_INIT_PARAM + " init-Param) or embedded broker");
} else {
- brokerURL = "vm://" + broker.getBrokerName();
+ brokerURL = broker.getVmConnectorURI().toString();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact