Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 10993 invoked from network); 17 Oct 2007 00:52:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 17 Oct 2007 00:52:29 -0000 Received: (qmail 98394 invoked by uid 500); 17 Oct 2007 00:52:17 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 98351 invoked by uid 500); 17 Oct 2007 00:52:16 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 98340 invoked by uid 99); 17 Oct 2007 00:52:16 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Oct 2007 17:52:16 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Oct 2007 00:52:28 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 123791A9832; Tue, 16 Oct 2007 17:51:38 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r585308 - in /geronimo/server/trunk/modules: geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/connector/ geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/ geronimo-management/src/main/java/org/apache/geronimo/management/ Date: Wed, 17 Oct 2007 00:51:35 -0000 To: scm@geronimo.apache.org From: akulshreshtha@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071017005138.123791A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: akulshreshtha Date: Tue Oct 16 17:51:30 2007 New Revision: 585308 URL: http://svn.apache.org/viewvc?rev=585308&view=rev Log: GERONIMO-3490 Adding LazyStatisticsProvider interface to deal with components that provide statistics on demand. Added: geronimo/server/trunk/modules/geronimo-management/src/main/java/org/apache/geronimo/management/LazyStatisticsProvider.java (with props) Modified: geronimo/server/trunk/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/connector/JettyConnector.java geronimo/server/trunk/modules/geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/StatTest.java Modified: geronimo/server/trunk/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/connector/JettyConnector.java URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/connector/JettyConnector.java?rev=585308&r1=585307&r2=585308&view=diff ============================================================================== --- geronimo/server/trunk/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/connector/JettyConnector.java (original) +++ geronimo/server/trunk/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/connector/JettyConnector.java Tue Oct 16 17:51:30 2007 @@ -30,7 +30,7 @@ import org.apache.geronimo.jetty6.JettyContainer; import org.apache.geronimo.jetty6.JettyWebConnector; import org.apache.geronimo.jetty6.JettyWebConnectorStatsImpl; -import org.apache.geronimo.management.StatisticsProvider; +import org.apache.geronimo.management.LazyStatisticsProvider; import org.apache.geronimo.system.threads.ThreadPool; import org.mortbay.jetty.AbstractConnector; @@ -39,7 +39,7 @@ * * @version $Rev$ $Date$ */ -public abstract class JettyConnector implements GBeanLifecycle, JettyWebConnector, StatisticsProvider { +public abstract class JettyConnector implements GBeanLifecycle, JettyWebConnector, LazyStatisticsProvider { public final static String CONNECTOR_CONTAINER_REFERENCE = "JettyContainer"; private final JettyContainer container; protected final AbstractConnector listener; @@ -214,7 +214,11 @@ } } - public void statsOn(Boolean on) { + public boolean isStatsOn() { + return listener.getStatsOn(); + } + + public void setStatsOn(boolean on) { listener.setStatsOn(on); if (on) stats.setStartTime(); } @@ -227,7 +231,7 @@ * @return gets collected for this class */ public Stats getStats() { - if(listener.getStatsOn()) { + if(isStatsOn()) { stats.setLastSampleTime(); // connections open stats.getOpenConnectionCountImpl().setCurrent(listener.getConnectionsOpen()); @@ -263,7 +267,7 @@ } public boolean isStatisticsProvider() { - return listener.getStatsOn(); + return true; } public static final GBeanInfo GBEAN_INFO; @@ -272,7 +276,8 @@ GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic("Jetty HTTP Connector", JettyConnector.class); infoFactory.addReference(CONNECTOR_CONTAINER_REFERENCE, JettyContainer.class, NameFactory.GERONIMO_SERVICE); infoFactory.addReference("ThreadPool", ThreadPool.class, NameFactory.GERONIMO_SERVICE); - // infoFactory.addOperation("statsOn", new Class[] { Boolean.class }, "void"); + // this is needed because the getters/setters are not added automatically + infoFactory.addOperation("setStatsOn", new Class[] { boolean.class }, "void"); // removed 'minThreads' from persistent and manageable String[] // removed 'tcpNoDelay' from persistent String[] // added 'protocol' to persistent and manageable String[] Modified: geronimo/server/trunk/modules/geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/StatTest.java URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/StatTest.java?rev=585308&r1=585307&r2=585308&view=diff ============================================================================== --- geronimo/server/trunk/modules/geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/StatTest.java (original) +++ geronimo/server/trunk/modules/geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/StatTest.java Tue Oct 16 17:51:30 2007 @@ -25,6 +25,7 @@ import javax.management.ObjectName; import javax.management.j2ee.statistics.Statistic; import javax.management.j2ee.statistics.Stats; +import org.apache.geronimo.management.LazyStatisticsProvider; /** * @version $Rev$ $Date$ @@ -40,10 +41,11 @@ setUpStaticContentServlet(app); // start statistics collection - assertTrue("Stats should be off initially", !connector.isStatisticsProvider()); - connector.statsOn(true); + if (connector instanceof LazyStatisticsProvider) { + assertTrue("Stats should be off initially", !connector.isStatsOn()); + connector.setStatsOn(true); + } container.setCollectStatistics(true); - int n = 4; // no of connections for (int k = 0; k < n; k++) { HttpURLConnection connection = (HttpURLConnection) new URL(connector.getConnectUrl() + "/test/hello.txt") Added: geronimo/server/trunk/modules/geronimo-management/src/main/java/org/apache/geronimo/management/LazyStatisticsProvider.java URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-management/src/main/java/org/apache/geronimo/management/LazyStatisticsProvider.java?rev=585308&view=auto ============================================================================== --- geronimo/server/trunk/modules/geronimo-management/src/main/java/org/apache/geronimo/management/LazyStatisticsProvider.java (added) +++ geronimo/server/trunk/modules/geronimo-management/src/main/java/org/apache/geronimo/management/LazyStatisticsProvider.java Tue Oct 16 17:51:30 2007 @@ -0,0 +1,30 @@ +/** + * 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.geronimo.management; + +import javax.management.j2ee.statistics.Stats; + +/** + * This is a representation of the StatisticsProvider type defined in the J2EE Management specification. + * + * @version $Rev$ $Date$ + */ +public interface LazyStatisticsProvider extends StatisticsProvider{ + boolean isStatsOn(); + void setStatsOn(boolean on); +} Propchange: geronimo/server/trunk/modules/geronimo-management/src/main/java/org/apache/geronimo/management/LazyStatisticsProvider.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: geronimo/server/trunk/modules/geronimo-management/src/main/java/org/apache/geronimo/management/LazyStatisticsProvider.java ------------------------------------------------------------------------------ svn:keywords = Date Revision Propchange: geronimo/server/trunk/modules/geronimo-management/src/main/java/org/apache/geronimo/management/LazyStatisticsProvider.java ------------------------------------------------------------------------------ svn:mime-type = text/plain