Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -67,34 +67,36 @@ public QueueBrowseServlet() {
// -------------------------------------------------------------------------
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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
*
*
*/
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";
Expand Down Expand Up @@ -279,7 +279,7 @@ protected static synchronized void initConnectionFactory(ServletContext servletC
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();
}
}

Expand Down