You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by am...@apache.org on 2006/04/10 05:17:28 UTC
svn commit: r392877 - in /geronimo/branches/1.1/applications:
console-framework/src/webapp/WEB-INF/data/
console-standard/src/java/org/apache/geronimo/console/jmsmanager/wizard/
console-standard/src/java/org/apache/geronimo/console/threads/ console-sta...
Author: ammulder
Date: Sun Apr 9 20:17:24 2006
New Revision: 392877
URL: http://svn.apache.org/viewcvs?rev=392877&view=rev
Log:
Add a portlet to show thread pools
Added:
geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/
geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/AbstractThreadHandler.java
geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/ListScreenHandler.java
geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/MonitorScreenHandler.java
geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/ThreadPoolPortlet.java
geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/view/threads/
geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/view/threads/list.jsp
geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/view/threads/monitor.jsp
Modified:
geronimo/branches/1.1/applications/console-framework/src/webapp/WEB-INF/data/pageregistry.xml
geronimo/branches/1.1/applications/console-framework/src/webapp/WEB-INF/data/portletentityregistry.xml
geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/wizard/JMSResourcePortlet.java
geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/portlet.xml
geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/web.xml
Modified: geronimo/branches/1.1/applications/console-framework/src/webapp/WEB-INF/data/pageregistry.xml
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/applications/console-framework/src/webapp/WEB-INF/data/pageregistry.xml?rev=392877&r1=392876&r2=392877&view=diff
==============================================================================
--- geronimo/branches/1.1/applications/console-framework/src/webapp/WEB-INF/data/pageregistry.xml (original)
+++ geronimo/branches/1.1/applications/console-framework/src/webapp/WEB-INF/data/pageregistry.xml Sun Apr 9 20:17:24 2006
@@ -178,6 +178,22 @@
</fragment>
</fragment>
</fragment>
+
+ <fragment name="threads" type="page">
+ <navigation>
+ <title>Thread Pools</title>
+ <description>ico_connect_16x16.gif Monitors and configures thread pools in the server</description>
+ </navigation>
+
+ <fragment name="row1" type="row">
+ <fragment name="col1" type="column">
+ <fragment name="p1" type="portlet">
+ <property name="portlet" value="5.80"/>
+ </fragment>
+ </fragment>
+ </fragment>
+ </fragment>
+
<!--
<fragment name="j2ca" type="page">
<navigation>
Modified: geronimo/branches/1.1/applications/console-framework/src/webapp/WEB-INF/data/portletentityregistry.xml
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/applications/console-framework/src/webapp/WEB-INF/data/portletentityregistry.xml?rev=392877&r1=392876&r2=392877&view=diff
==============================================================================
--- geronimo/branches/1.1/applications/console-framework/src/webapp/WEB-INF/data/portletentityregistry.xml (original)
+++ geronimo/branches/1.1/applications/console-framework/src/webapp/WEB-INF/data/portletentityregistry.xml Sun Apr 9 20:17:24 2006
@@ -139,5 +139,10 @@
<portlet id="67">
<definition-id>console-standard.JMSWizard</definition-id>
</portlet>
+
+ <!-- Leave some free numbers for the portlets that are in HEAD but not 1.1 yet -->
+ <portlet id="80">
+ <definition-id>console-standard.ThreadPool</definition-id>
+ </portlet>
</application>
</portlet-entity-registry>
Modified: geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/wizard/JMSResourcePortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/wizard/JMSResourcePortlet.java?rev=392877&r1=392876&r2=392877&view=diff
==============================================================================
--- geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/wizard/JMSResourcePortlet.java (original)
+++ geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/wizard/JMSResourcePortlet.java Sun Apr 9 20:17:24 2006
@@ -16,27 +16,14 @@
*/
package org.apache.geronimo.console.jmsmanager.wizard;
-import java.io.IOException;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Iterator;
-import javax.portlet.PortletException;
-import javax.portlet.ActionResponse;
import javax.portlet.PortletConfig;
-import javax.portlet.RenderResponse;
-import javax.portlet.RenderRequest;
-import javax.portlet.ActionRequest;
-import javax.portlet.WindowState;
+import javax.portlet.PortletException;
import javax.portlet.PortletRequest;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.geronimo.console.BasePortlet;
-import org.apache.geronimo.console.MultiPagePortlet;
import org.apache.geronimo.console.MultiPageModel;
+import org.apache.geronimo.console.MultiPagePortlet;
/**
- * A portlet that lets you configure and deploy JDBC connection pools.
+ * A portlet that lets you configure and deploy JMS resources.
*
* @version $Rev: 368994 $ $Date: 2006-01-14 02:07:18 -0500 (Sat, 14 Jan 2006) $
*/
Added: geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/AbstractThreadHandler.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/AbstractThreadHandler.java?rev=392877&view=auto
==============================================================================
--- geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/AbstractThreadHandler.java (added)
+++ geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/AbstractThreadHandler.java Sun Apr 9 20:17:24 2006
@@ -0,0 +1,53 @@
+/**
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * Licensed 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.geronimo.console.threads;
+
+import javax.portlet.ActionResponse;
+import javax.portlet.PortletRequest;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.geronimo.console.MultiPageAbstractHandler;
+import org.apache.geronimo.console.MultiPageModel;
+
+/**
+ * Base class for portlet helpers
+ *
+ * @version $Rev: 368994 $ $Date: 2006-01-14 02:07:18 -0500 (Sat, 14 Jan 2006) $
+ */
+public abstract class AbstractThreadHandler extends MultiPageAbstractHandler {
+ private final static Log log = LogFactory.getLog(AbstractThreadHandler.class);
+ protected final static String ABSTRACT_NAME_PARAMETER = "abstractName";
+
+ protected final static String LIST_MODE="list";
+ protected final static String MONITOR_MODE="monitor";
+
+ public AbstractThreadHandler(String mode, String viewName) {
+ super(mode, viewName);
+ }
+
+ public static class ThreadPoolData implements MultiPageModel {
+ // Used for editing an existing thread pool
+ private String abstractName;
+
+ public ThreadPoolData(PortletRequest request) {
+ abstractName = request.getParameter(AbstractThreadHandler.ABSTRACT_NAME_PARAMETER);
+ }
+
+ public void save(ActionResponse response) {
+ if(!isEmpty(abstractName)) response.setRenderParameter(AbstractThreadHandler.ABSTRACT_NAME_PARAMETER, abstractName);
+ }
+ }
+}
Added: geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/ListScreenHandler.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/ListScreenHandler.java?rev=392877&view=auto
==============================================================================
--- geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/ListScreenHandler.java (added)
+++ geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/ListScreenHandler.java Sun Apr 9 20:17:24 2006
@@ -0,0 +1,93 @@
+/**
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * Licensed 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.geronimo.console.threads;
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.Arrays;
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequest;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import org.apache.geronimo.console.MultiPageModel;
+import org.apache.geronimo.console.util.PortletManager;
+import org.apache.geronimo.gbean.AbstractName;
+import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
+import org.apache.geronimo.management.geronimo.ThreadPool;
+
+/**
+ * A handles for the front page that lists available thread pools.
+ *
+ * @version $Rev: 368994 $ $Date: 2006-01-14 02:07:18 -0500 (Sat, 14 Jan 2006) $
+ */
+public class ListScreenHandler extends AbstractThreadHandler {
+ public ListScreenHandler() {
+ super(LIST_MODE, "/WEB-INF/view/threads/list.jsp");
+ }
+
+ public String actionBeforeView(ActionRequest request, ActionResponse response, MultiPageModel model) throws PortletException, IOException {
+ return getMode();
+ }
+
+ public void renderView(RenderRequest request, RenderResponse response, MultiPageModel model) throws PortletException, IOException {
+ populateExistingList(request);
+ }
+
+ public String actionAfterView(ActionRequest request, ActionResponse response, MultiPageModel model) throws PortletException, IOException {
+ return getMode();
+ }
+
+ private void populateExistingList(PortletRequest renderRequest) {
+ ThreadPool[] pools = PortletManager.getCurrentServer(renderRequest).getThreadPools();
+ ThreadPoolSummary[] result = new ThreadPoolSummary[pools.length];
+ for (int i = 0; i < pools.length; i++) {
+ result[i] = new ThreadPoolSummary(PortletManager.getNameFor(renderRequest, pools[i]), pools[i].getPoolSize());
+ }
+ Arrays.sort(result);
+ renderRequest.setAttribute("pools", result);
+ }
+
+ public static class ThreadPoolSummary implements Serializable, Comparable {
+ private final String abstractName;
+ private final int maxSize;
+ private final String name;
+
+ public ThreadPoolSummary(AbstractName abstractName, int maxSize) {
+ this.abstractName = abstractName.toString();
+ name = (String) abstractName.getName().get(NameFactory.J2EE_NAME);
+ this.maxSize = maxSize;
+ }
+
+ public String getAbstractName() {
+ return abstractName;
+ }
+
+ public int getPoolSize() {
+ return maxSize;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public int compareTo(Object o) {
+ ThreadPoolSummary other = (ThreadPoolSummary) o;
+ return name.compareTo(other.name);
+ }
+ }
+}
Added: geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/MonitorScreenHandler.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/MonitorScreenHandler.java?rev=392877&view=auto
==============================================================================
--- geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/MonitorScreenHandler.java (added)
+++ geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/MonitorScreenHandler.java Sun Apr 9 20:17:24 2006
@@ -0,0 +1,88 @@
+/**
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * Licensed 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.geronimo.console.threads;
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.net.URI;
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.PortletException;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import org.apache.geronimo.console.MultiPageModel;
+import org.apache.geronimo.console.util.PortletManager;
+import org.apache.geronimo.gbean.AbstractName;
+import org.apache.geronimo.management.StatisticsProvider;
+import org.apache.geronimo.management.geronimo.stats.ThreadPoolStats;
+import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
+
+/**
+ * A handles for the page that gives statistics about a particular thread pool.
+ *
+ * @version $Rev: 368994 $ $Date: 2006-01-14 02:07:18 -0500 (Sat, 14 Jan 2006) $
+ */
+public class MonitorScreenHandler extends AbstractThreadHandler {
+ public MonitorScreenHandler() {
+ super(MONITOR_MODE, "/WEB-INF/view/threads/monitor.jsp");
+ }
+
+ public String actionBeforeView(ActionRequest request, ActionResponse response, MultiPageModel model) throws PortletException, IOException {
+ response.setRenderParameter(ABSTRACT_NAME_PARAMETER, request.getParameter(ABSTRACT_NAME_PARAMETER));
+ return getMode();
+ }
+
+ public void renderView(RenderRequest request, RenderResponse response, MultiPageModel model) throws PortletException, IOException {
+ AbstractName name = new AbstractName(URI.create(request.getParameter(ABSTRACT_NAME_PARAMETER)));
+ StatisticsProvider pool = (StatisticsProvider) PortletManager.getManagedBean(request, name);
+ ThreadPoolStats stats = (ThreadPoolStats) pool.getStats();
+ String[] consumers = stats.getThreadConsumers();
+ ClientStats[] result = new ClientStats[consumers.length];
+ for (int i = 0; i < result.length; i++) {
+ result[i] = new ClientStats(consumers[i], (int)stats.getCountForConsumer(consumers[i]).getCount());
+ }
+ request.setAttribute("poolName", name.getName().get(NameFactory.J2EE_NAME));
+ request.setAttribute("stats", stats);
+ request.setAttribute("consumers", result);
+ }
+
+ public String actionAfterView(ActionRequest request, ActionResponse response, MultiPageModel model) throws PortletException, IOException {
+ return getMode();
+ }
+
+ public static class ClientStats implements Serializable, Comparable {
+ private final String name;
+ private final int threadCount;
+
+ public ClientStats(String name, int threadCount) {
+ this.name = name;
+ this.threadCount = threadCount;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public int getThreadCount() {
+ return threadCount;
+ }
+
+ public int compareTo(Object o) {
+ ClientStats other = (ClientStats) o;
+ return name.compareTo(other.name);
+ }
+ }
+}
Added: geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/ThreadPoolPortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/ThreadPoolPortlet.java?rev=392877&view=auto
==============================================================================
--- geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/ThreadPoolPortlet.java (added)
+++ geronimo/branches/1.1/applications/console-standard/src/java/org/apache/geronimo/console/threads/ThreadPoolPortlet.java Sun Apr 9 20:17:24 2006
@@ -0,0 +1,39 @@
+/**
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * Licensed 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.geronimo.console.threads;
+
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequest;
+import org.apache.geronimo.console.MultiPagePortlet;
+import org.apache.geronimo.console.MultiPageModel;
+
+/**
+ * A portlet that lets you configure and deploy thread pools.
+ *
+ * @version $Rev: 368994 $ $Date: 2006-01-14 02:07:18 -0500 (Sat, 14 Jan 2006) $
+ */
+public class ThreadPoolPortlet extends MultiPagePortlet {
+ public void init(PortletConfig config) throws PortletException {
+ super.init(config);
+ addHelper(new ListScreenHandler(), config);
+ addHelper(new MonitorScreenHandler(), config);
+ }
+
+ protected MultiPageModel getModel(PortletRequest request) {
+ return new AbstractThreadHandler.ThreadPoolData(request);
+ }
+}
Modified: geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/portlet.xml
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/portlet.xml?rev=392877&r1=392876&r2=392877&view=diff
==============================================================================
--- geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/portlet.xml (original)
+++ geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/portlet.xml Sun Apr 9 20:17:24 2006
@@ -385,6 +385,30 @@
</portlet>
<portlet>
+ <description>Portlet for configuring Thread Pools</description>
+ <portlet-name>ThreadPool</portlet-name>
+ <display-name>Thread Pool Portlet</display-name>
+
+ <portlet-class>org.apache.geronimo.console.threads.ThreadPoolPortlet</portlet-class>
+
+ <expiration-cache>-1</expiration-cache>
+
+ <supports>
+ <mime-type>text/html</mime-type>
+ <portlet-mode>VIEW</portlet-mode>
+<!-- <portlet-mode>HELP</portlet-mode>-->
+ </supports>
+
+ <supported-locale>en</supported-locale>
+
+ <portlet-info>
+ <title>Thread Pool Configuration</title>
+ <short-title>Thread Pools</short-title>
+ <keywords>Thread Pool</keywords>
+ </portlet-info>
+ </portlet>
+
+ <portlet>
<description>Portlet for displaying J2CA server info</description>
<portlet-name>J2CAServer</portlet-name>
<display-name>J2CA Server Portlet</display-name>
Added: geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/view/threads/list.jsp
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/view/threads/list.jsp?rev=392877&view=auto
==============================================================================
--- geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/view/threads/list.jsp (added)
+++ geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/view/threads/list.jsp Sun Apr 9 20:17:24 2006
@@ -0,0 +1,27 @@
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
+<portlet:defineObjects/>
+
+<p>This page lists the thread pools defined in the Geronimo server. <i>Note: Currently
+not all threads used by Geronimo come from one of these thread pools. We're working
+on migrating the different components of Geronimo toward these thread pools.</i></p>
+
+<table width="100%">
+ <tr>
+ <td class="DarkBackground">Name</td>
+ <td class="DarkBackground" align="center">Size</td>
+ <td class="DarkBackground" align="center">Actions</td>
+ </tr>
+<c:forEach var="pool" items="${pools}">
+ <tr>
+ <td>${pool.name}</td>
+ <td>${pool.poolSize}</td>
+ <td>
+ <a href="<portlet:actionURL portletMode="view">
+ <portlet:param name="mode" value="monitor-before" />
+ <portlet:param name="abstractName" value="${pool.abstractName}" />
+ </portlet:actionURL>">monitor</a>
+ </td>
+ </tr>
+</c:forEach>
+</table>
Added: geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/view/threads/monitor.jsp
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/view/threads/monitor.jsp?rev=392877&view=auto
==============================================================================
--- geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/view/threads/monitor.jsp (added)
+++ geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/view/threads/monitor.jsp Sun Apr 9 20:17:24 2006
@@ -0,0 +1,41 @@
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
+<portlet:defineObjects/>
+
+<p>Thread pools statistics for ${poolName}:</p>
+
+<table>
+ <tr>
+ <th align="right">Pool Max:</th>
+ <td>${stats.threadsInUse.upperBound}</td>
+ </tr>
+ <tr>
+ <th align="right">Lowest Recorded:</th>
+ <td>${stats.threadsInUse.lowWaterMark}</td>
+ </tr>
+ <tr>
+ <th align="right">Highest Recorded:</th>
+ <td>${stats.threadsInUse.highWaterMark}</td>
+ </tr>
+ <tr>
+ <th align="right">Threads in Use:</th>
+ <td>${stats.threadsInUse.current}</td>
+ </tr>
+</table>
+
+<c:if test="${! empty consumers}">
+<p>Current consumers of threads in this pool:</p>
+
+<table>
+ <tr>
+ <th>Description</th>
+ <th># of Threads</th>
+ </tr>
+<c:forEach var="client" items="${consumers}">
+ <tr>
+ <td>${client.name}</td>
+ <td>${client.threadCount}</td>
+ </tr>
+</c:forEach>
+</table>
+</c:if>
\ No newline at end of file
Modified: geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/web.xml?rev=392877&r1=392876&r2=392877&view=diff
==============================================================================
--- geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/web.xml (original)
+++ geronimo/branches/1.1/applications/console-standard/src/webapp/WEB-INF/web.xml Sun Apr 9 20:17:24 2006
@@ -205,6 +205,19 @@
<param-value>console-standard.Keystore</param-value>
</init-param>
</servlet>
+ <servlet>
+ <display-name>Pluto Wrapper for Thread Pool Portlet</display-name>
+ <servlet-name>ThreadPool</servlet-name>
+ <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
+ <init-param>
+ <param-name>portlet-class</param-name>
+ <param-value>org.apache.geronimo.console.threads.ThreadPoolPortlet</param-value>
+ </init-param>
+ <init-param>
+ <param-name>portlet-guid</param-name>
+ <param-value>console-standard.ThreadPool</param-value>
+ </init-param>
+ </servlet>
<servlet>
@@ -763,6 +776,10 @@
<servlet-mapping>
<servlet-name>Keystore</servlet-name>
<url-pattern>/Keystore/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>ThreadPool</servlet-name>
+ <url-pattern>/ThreadPool/*</url-pattern>
</servlet-mapping>