AMQ-4994. Fix OOME while browsing deep queues

This commit is contained in:
Hadrian Zbarcea 2014-01-31 16:56:21 -05:00
parent d4d985503e
commit f4e768760f
18 changed files with 279 additions and 18 deletions

View File

@ -30,7 +30,7 @@
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- Configuration of the SiteMesh Filter. -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<filter>
<!--filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
</filter>
@ -38,7 +38,7 @@
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</filter-mapping-->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- Expose Spring POJOs to JSP . -->

View File

@ -16,10 +16,16 @@
--%>
<html>
<head>
<title>Browse <form:short text="${requestContext.queueBrowser.JMSDestination}"/></title>
<c:set var="pageTitle" value="Browse ${requestContext.queueBrowser.JMSDestination}"/>
<%@include file="decorators/head.jsp" %>
</head>
<body>
<%@include file="decorators/header.jsp" %>
<h2>Browse <form:tooltip text="${requestContext.queueBrowser.JMSDestination}"/></h2>
<table id="messages" class="sortable autostripe">
@ -59,6 +65,9 @@
<div>
<a href="queueConsumers.jsp?JMSDestination=<c:out value="${requestContext.queueBrowser.JMSDestination}"/>">View Consumers</a>
</div>
<%@include file="decorators/footer.jsp" %>
</body>
</html>

View File

@ -17,10 +17,15 @@
<html>
<head>
<c:set var="row" value="${requestContext.connectionQuery.connection}"/>
<title>Connection <c:out value="${requestContext.connectionQuery.connectionID}" /></title>
<c:set var="pageTitle" value="Connection ${requestContext.connectionQuery.connectionID}"/>
<%@include file="decorators/head.jsp" %>
</head>
<body>
<%@include file="decorators/header.jsp" %>
<c:choose>
<c:when test="${empty row}">
@ -135,6 +140,7 @@ No connection could be found for ID <c:out value="${requestContext.connectionQue
<%@include file="decorators/footer.jsp" %>
</body>

View File

@ -16,10 +16,16 @@
--%>
<html>
<head>
<title>Connections</title>
<c:set var="pageTitle" value="Connections"/>
<%@include file="decorators/head.jsp" %>
</head>
<body>
<%@include file="decorators/header.jsp" %>
<h2>Connections</h2>
<c:forEach items="${requestContext.brokerQuery.connectors}" var="connectorName">
@ -79,6 +85,7 @@
</tbody>
</table>
</div>
<%@include file="decorators/footer.jsp" %>
</body>
</html>

View File

@ -0,0 +1,73 @@
</div>
</td>
<td valign="top">
<div class="navigation">
<div class="navigation_top">
<div class="navigation_bottom">
<H3>Queue Views</H3>
<ul class="alternate" type="square">
<li><a href="queueGraph.jsp" title="View the queue depths as a graph">Graph</a></li>
<li><a href="xml/queues.jsp" title="View the queues as XML">XML</a></li>
</ul>
<H3>Topic Views</H3>
<ul class="alternate" type="square">
<li><a href="xml/topics.jsp" title="View the topics as XML">XML</a></li>
</ul>
<H3>Subscribers Views</H3>
<ul class="alternate" type="square">
<li><a href="xml/subscribers.jsp" title="View the subscribers as XML">XML</a></li>
</ul>
<H3>Useful Links</H3>
<ul class="alternate" type="square">
<li><a href="http://activemq.apache.org/"
title="The most popular and powerful open source Message Broker">Documentation</a></li>
<li><a href="http://activemq.apache.org/faq.html">FAQ</a></li>
<li><a href="http://activemq.apache.org/download.html">Downloads</a>
</li>
<li><a href="http://activemq.apache.org/discussion-forums.html">Forums</a>
</li>
</ul>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div class="bottom_red_bar"></div>
</div>
</div>
</div>
</div>
<div class="black_box">
<div class="footer">
<div class="footer_l">
<div class="footer_r">
<div>
Copyright 2005-2014 The Apache Software Foundation.
<!-- (<a href="?printable=true">printable version</a>)-->
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,36 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--
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.
--%>
<title>${requestContext.brokerQuery.brokerAdmin.brokerName} : ${pageTitle}</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css" media="screen">
@import url('${pageContext.request.contextPath}/styles/sorttable.css');
@import url('${pageContext.request.contextPath}/styles/type-settings.css');
@import url('${pageContext.request.contextPath}/styles/site.css');
@import url('${pageContext.request.contextPath}/styles/prettify.css');
</style>
<c:if test="${!disableJavaScript}">
<script type='text/javascript' src='${pageContext.request.contextPath}/js/common.js'></script>
<script type='text/javascript' src='${pageContext.request.contextPath}/js/css.js'></script>
<script type='text/javascript' src='${pageContext.request.contextPath}/js/standardista-table-sorting.js'></script>
<script type='text/javascript' src='${pageContext.request.contextPath}/js/prettify.js'></script>
<script>addEvent(window, 'load', prettyPrint)</script>
</c:if>

View File

@ -0,0 +1,73 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--
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.
--%>
<div class="white_box">
<div class="header">
<div class="header_l">
<div class="header_r">
</div>
</div>
</div>
<div class="content">
<div class="content_l">
<div class="content_r">
<div>
<!-- Banner -->
<div id="asf_logo">
<div id="activemq_logo">
<a style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;"
href="http://activemq.apache.org/" title="The most popular and powerful open source Message Broker">ActiveMQ</a> &trade;
<a style="float:right; width:210px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:15px; margin-right:10px;"
href="http://www.apache.org/" title="The Apache Software Foundation">ASF</a>
</div>
</div>
<div class="top_red_bar">
<div id="site-breadcrumbs">
<a href="<c:url value='/index.jsp'/>" title="Home">Home</a>
&#124;
<a href="<c:url value='/queues.jsp'/>" title="Queues">Queues</a>
&#124;
<a href="<c:url value='/topics.jsp'/>" title="Topics">Topics</a>
&#124;
<a href="<c:url value='/subscribers.jsp'/>" title="Subscribers">Subscribers</a>
&#124;
<a href="<c:url value='/connections.jsp'/>" title="Connections">Connections</a>
&#124;
<a href="<c:url value='/network.jsp'/>" title="Network">Network</a>
&#124;
<a href="<c:url value='/scheduled.jsp'/>" title="Scheduled">Scheduled</a>
&#124;
<a href="<c:url value='/send.jsp'/>"
title="Send">Send</a>
</div>
<div id="site-quicklinks"><P>
<a href="http://activemq.apache.org/support.html"
title="Get help and support using Apache ActiveMQ">Support</a></p>
</div>
</div>
<table border="0">
<tbody>
<tr>
<td valign="top" width="100%" style="overflow:hidden;">
<div class="body-content">

View File

@ -16,10 +16,15 @@
--%>
<html>
<head>
<title>Browse ${requestContext.queueBrowser.JMSDestination}</title>
<c:set var="pageTitle" value="Browse ${requestContext.queueBrowser.JMSDestination}"/>
<%@include file="decorators/head.jsp" %>
</head>
<body>
<%@include file="decorators/header.jsp" %>
<h2>Browse ${requestContext.queueBrowser.JMSDestination}</h2>
<table id="messages" class="sortable autostripe">
@ -61,6 +66,7 @@
</tbody>
</table>
<%@include file="decorators/footer.jsp" %>
</body>
</html>

View File

@ -16,10 +16,14 @@
--%>
<html>
<head>
<title>ActiveMQ Console</title>
<c:set var="pageTitle" value="ActiveMQ Console"/>
<%@include file="decorators/head.jsp" %>
</head>
<body>
<%@include file="decorators/header.jsp" %>
<h2>Welcome!</h2>
<p>
@ -63,6 +67,7 @@ You can find more information about Apache ActiveMQ on the <a href="http://activ
<td><b>${requestContext.brokerQuery.brokerAdmin.tempPercentUsage}</b></td>
</tr>
</table>
<%@include file="decorators/footer.jsp" %>
</body>
</html>

View File

@ -17,10 +17,13 @@
<html>
<head>
<c:set var="row" value="${requestContext.messageQuery.message}"/>
<title>Message <c:out value="${requestContext.messageQuery.id}"/></title>
<c:set var="pageTitle" value="Message ${requestContext.messageQuery.id}"/>
<%@include file="decorators/head.jsp" %>
</head>
<body>
<%@include file="decorators/header.jsp" %>
<c:choose>
<c:when test="${empty row}">
@ -178,6 +181,7 @@ No message could be found for ID <c:out value="${requestContext.messageQuery.id}
<%@include file="decorators/footer.jsp" %>
</body>

View File

@ -15,11 +15,14 @@
limitations under the License.
--%>
<html>
<head>
<title>Network Bridges</title>
<c:set var="pageTitle" value="Network Bridges"/>
<%@include file="decorators/head.jsp" %>
</head>
<body>
<%@include file="decorators/header.jsp" %>
<div style="margin-top: 5em">
<h2>Network Bridges</h2>
@ -46,6 +49,7 @@
</tbody>
</table>
</div>
<%@include file="decorators/footer.jsp" %>
</body>
</html>

View File

@ -16,10 +16,16 @@
--%>
<html>
<head>
<title>Consumers for <c:out value="${requestContext.queueConsumerQuery.JMSDestination}" /></title>
<c:set var="pageTitle" value="Consumers for ${requestContext.queueConsumerQuery.JMSDestination}"/>
<%@include file="decorators/head.jsp" %>
</head>
<body>
<%@include file="decorators/header.jsp" %>
<h2>Active Consumers for <c:out value="${requestContext.queueConsumerQuery.JMSDestination}" /></h2>
<table id="messages" class="sortable autostripe">
@ -80,6 +86,7 @@
</c:forEach>
</tbody>
</table>
<%@include file="decorators/footer.jsp" %>
</body>
</html>

View File

@ -16,9 +16,10 @@
--%>
<html>
<head>
<title>Queues</title>
<c:set var="pageTitle" value="Queues"/>
<c:set var="disableJavaScript" value="true" scope="request"/>
<c:set var="disableJavaScript" value="true" scope="request"/>
<%@include file="decorators/head.jsp" %>
<script src='<c:url value="/js/mochi/MochiKit.js"/>' type="text/javascript"></script>
<script src='<c:url value="/js/plotkit/Base.js"/>' type="text/javascript"></script>
@ -28,6 +29,8 @@
</head>
<body>
<%@include file="decorators/header.jsp" %>
<script>
var options = {
"IECanvasHTC": "<c:url value="/js/plotkit/iecanvas.htc"/>",
@ -62,6 +65,7 @@ Other values we can graph...
<td>${row.dequeueCount}</td>
--%>
<%@include file="decorators/footer.jsp" %>
</body>
</html>

View File

@ -16,10 +16,14 @@
--%>
<html>
<head>
<title>Queues</title>
<c:set var="pageTitle" value="Queues"/>
<%@include file="decorators/head.jsp" %>
</head>
<body>
<%@include file="decorators/header.jsp" %>
<div>
<form action="createDestination.action" method="post">
<input type="hidden" name="JMSDestinationType" value="queue"/>
@ -83,6 +87,7 @@
</tbody>
</table>
<%@include file="decorators/footer.jsp" %>
</body>
</html>

View File

@ -16,10 +16,15 @@
--%>
<html>
<head>
<title>Messages Scheduled for Future Delivery</title>
<c:set var="pageTitle" value="Messages Scheduled for Future Delivery"/>
<%@include file="decorators/head.jsp" %>
</head>
<body>
<%@include file="decorators/header.jsp" %>
<c:choose>
<c:when test="${requestContext.brokerQuery.jobSchedulerStarted}">
<div style="margin-top: 5em">
@ -61,6 +66,7 @@
</div>
</c:otherwise>
</c:choose>
<%@include file="decorators/footer.jsp" %>
</body>
</html>

View File

@ -16,10 +16,15 @@
--%>
<html>
<head>
<title>Send Messages</title>
<c:set var="pageTitle" value="Send Messages"/>
<%@include file="decorators/head.jsp" %>
</head>
<body>
<%@include file="decorators/header.jsp" %>
<h2>Send a JMS Message</h2>
<form action="sendMessage.action" method="post">
@ -168,6 +173,7 @@
</table>
</form>
<%@include file="decorators/footer.jsp" %>
</body>
</html>

View File

@ -16,10 +16,14 @@
--%>
<html>
<head>
<title>Durable Topic Subscribers</title>
<c:set var="pageTitle" value="Durable Topic Subscribers"/>
<%@include file="decorators/head.jsp" %>
</head>
<body>
<%@include file="decorators/header.jsp" %>
<form action="createSubscriber.action" method="post">
<input type="hidden" name="JMSDestinationType" value="topic"/>
<input type="hidden" name="secret" value="<c:out value='${sessionScope["secret"]}'/>"/>
@ -158,6 +162,7 @@
</tbody>
</table>
<%@include file="decorators/footer.jsp" %>
</body>
</html>

View File

@ -16,10 +16,14 @@
--%>
<html>
<head>
<title>Topics</title>
<c:set var="pageTitle" value="Topics"/>
<%@include file="decorators/head.jsp" %>
</head>
<body>
<%@include file="decorators/header.jsp" %>
<div>
<form action="createDestination.action" method="post">
<input type="hidden" name="JMSDestinationType" value="topic"/>
@ -67,6 +71,7 @@
</tbody>
</table>
<%@include file="decorators/footer.jsp" %>
</body>
</html>