You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by dr...@apache.org on 2010/06/09 19:36:40 UTC

svn commit: r953091 [1/2] - in /tapestry/tapestry5/trunk/tapestry-jmx: ./ .settings/ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/tapestry5/ src/main/java/org/apache/tapestry5/internal/ src/main/ja...

Author: drobiazko
Date: Wed Jun  9 17:36:38 2010
New Revision: 953091

URL: http://svn.apache.org/viewvc?rev=953091&view=rev
Log:
Share project "tapestry-jmx" into "https://svn.apache.org/repos/asf/tapestry/tapestry5"

Added:
    tapestry/tapestry5/trunk/tapestry-jmx/.classpath   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/.project   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/.settings/
    tapestry/tapestry5/trunk/tapestry-jmx/.settings/org.eclipse.jdt.core.prefs   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/pom.xml   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/src/
    tapestry/tapestry5/trunk/tapestry-jmx/src/main/
    tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/
    tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/
    tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/
    tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/
    tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/internal/
    tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/internal/jmx/
    tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/internal/jmx/MBeanSupportImpl.java   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/
    tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/JmxModule.java   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/MBeanSupport.java   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/src/site/
    tapestry/tapestry5/trunk/tapestry-jmx/src/site/apt/
    tapestry/tapestry5/trunk/tapestry-jmx/src/site/apt/index.apt   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/src/site/site.xml   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/testng.xml   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/webdefault.xml   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/tapestry5/
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/tapestry5/jmx/
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/tapestry5/jmx/integration/
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/tapestry5/jmx/integration/TapestryJmxIntegrationTests.java   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/Index.java   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/RemotePoolManagement.java   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/AppModule.java   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/Index.tml
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/RemotePoolManagement.tml
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/WEB-INF/
    tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/WEB-INF/web.xml   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.properties   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.xml   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/classes.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/groups.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/index.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/main.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods-alphabetical.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods-not-run.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/reporter-output.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/testng-failed.xml   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/testng.xml.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/toc.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/emailable-report.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/index.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/tapestry-jmx/
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/tapestry-jmx/classes.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/tapestry-jmx/groups.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/tapestry-jmx/index.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/tapestry-jmx/main.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/tapestry-jmx/methods-alphabetical.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/tapestry-jmx/methods-not-run.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/tapestry-jmx/methods.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/tapestry-jmx/org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/tapestry-jmx/org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests.properties   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/tapestry-jmx/org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests.xml   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/tapestry-jmx/reporter-output.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/tapestry-jmx/testng.xml.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/tapestry-jmx/toc.html   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/testng-failed.xml   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/testng-results.xml   (with props)
    tapestry/tapestry5/trunk/tapestry-jmx/test-output/testng.css   (with props)
Modified:
    tapestry/tapestry5/trunk/tapestry-jmx/   (props changed)

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Jun  9 17:36:38 2010
@@ -0,0 +1,3 @@
+
+
+

Added: tapestry/tapestry5/trunk/tapestry-jmx/.classpath
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/.classpath?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/.classpath (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/.classpath Wed Jun  9 17:36:38 2010
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry including="**/*.java" kind="src" output="target/test-classes" path="src/test/java"/>
+	<classpathentry including="**/*.java" kind="src" path="src/main/java"/>
+	<classpathentry kind="con" path="org.eclipse.iam.jdt.core.mavenClasspathContainer"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/.classpath
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/.classpath
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/.project
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/.project?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/.project (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/.project Wed Jun  9 17:36:38 2010
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>tapestry-jmx</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.iam.jdt.core.mavenIncrementalBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.iam.jdt.core.mavenNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/.project
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/.project
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/.settings/org.eclipse.jdt.core.prefs
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/.settings/org.eclipse.jdt.core.prefs?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/.settings/org.eclipse.jdt.core.prefs (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/.settings/org.eclipse.jdt.core.prefs Wed Jun  9 17:36:38 2010
@@ -0,0 +1,12 @@
+#Mon Jun 07 21:39:09 CEST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/.settings/org.eclipse.jdt.core.prefs
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/pom.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/pom.xml?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/pom.xml (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/pom.xml Wed Jun  9 17:36:38 2010
@@ -0,0 +1,111 @@
+<project
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.apache.tapestry</groupId>
+	<artifactId>tapestry-jmx</artifactId>
+	<version>5.2.0-SNAPSHOT</version>
+    <name>Tapestry JMX Support</name>
+    <description>
+        Provides support for JMX
+    </description>
+
+	<parent>
+		<groupId>org.apache.tapestry</groupId>
+		<artifactId>tapestry-project</artifactId>
+		<version>5.2.0-SNAPSHOT</version>
+	</parent>
+
+	<url></url>
+	<dependencies>
+
+		<dependency>
+			<groupId>org.apache.tapestry</groupId>
+			<artifactId>tapestry-core</artifactId>
+			<type>jar</type>
+			<optional>false</optional>
+		</dependency>
+		
+		<dependency>
+			<groupId>org.apache.tapestry</groupId>
+			<artifactId>tapestry-test</artifactId>
+			<type>jar</type>
+			<optional>false</optional>
+		</dependency>
+		<dependency>
+			<groupId>org.easymock</groupId>
+			<artifactId>easymock</artifactId>
+		</dependency>
+	</dependencies>
+	
+	<build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-source-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-assembly-plugin</artifactId>
+            </plugin>
+            <!-- This gets the plugin to clean up the cobertura.ser file left
+        in the root directory.
+-->
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>cobertura-maven-plugin</artifactId>
+                <version>${cobertura-plugin-version}</version>
+                <executions>
+                    <execution>
+                        <id>clean</id>
+                        <goals>
+                            <goal>clean</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestEntries>
+                            <Tapestry-Module-Classes>
+                                org.apache.tapestry5.jmx.JmxModule
+                            </Tapestry-Module-Classes>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
+            </plugin>
+
+        </plugins>
+    </build>
+	
+	<reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>cobertura-maven-plugin</artifactId>
+                <version>${cobertura-plugin-version}</version>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-project-info-reports-plugin</artifactId>
+                <reportSets>
+                    <reportSet>
+                        <reports>
+                            <report>summary</report>
+                            <report>dependencies</report>
+                        </reports>
+                    </reportSet>
+                </reportSets>
+            </plugin>
+        </plugins>
+    </reporting>
+</project>

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/internal/jmx/MBeanSupportImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/internal/jmx/MBeanSupportImpl.java?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/internal/jmx/MBeanSupportImpl.java (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/internal/jmx/MBeanSupportImpl.java Wed Jun  9 17:36:38 2010
@@ -0,0 +1,121 @@
+// Copyright 2010 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.tapestry5.internal.jmx;
+
+import static java.lang.String.format;
+
+import java.lang.management.ManagementFactory;
+import java.util.List;
+import java.util.Set;
+
+import javax.management.MBeanServer;
+import javax.management.MBeanServerFactory;
+import javax.management.ObjectName;
+
+import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
+import org.apache.tapestry5.ioc.internal.util.OneShotLock;
+import org.apache.tapestry5.ioc.services.RegistryShutdownListener;
+import org.apache.tapestry5.jmx.MBeanSupport;
+import org.slf4j.Logger;
+
+public class MBeanSupportImpl implements MBeanSupport, RegistryShutdownListener
+{
+    private Logger logger;
+
+    private MBeanServer server;
+    
+    private final OneShotLock lock = new OneShotLock();
+
+    private final Set<ObjectName> registeredBeans = CollectionFactory.newSet();
+
+    public MBeanSupportImpl(Logger logger)
+    {
+        this.logger = logger;
+        
+        // TODO: Agent Id should be configurable
+        final List<MBeanServer> servers = MBeanServerFactory.findMBeanServer(null);
+
+        if (servers != null && 0 <  servers.size())
+        {
+            this.server = servers.get(0);
+        }
+
+        if (this.server == null)
+        {
+            this.server = ManagementFactory.getPlatformMBeanServer();
+        }
+    }
+
+    public void register(final Object object, final ObjectName objectName)
+    {
+        lock.check();
+        
+        if (this.server.isRegistered(objectName))
+            return;
+        
+        try
+        {
+            this.server.registerMBean(object, objectName);
+
+            this.registeredBeans.add(objectName);
+
+            this.logger.info(format("Registered MBean '%s' with server", objectName));
+        }
+        catch (final Exception e)
+        {
+            this.logger.error(format("Failed to register MBean '%s' with server", objectName), e);
+        }
+    }
+
+    public void unregister(final ObjectName objectName)
+    {
+        lock.check();
+        
+        doUnregister(objectName);
+    }
+    
+    private void doUnregister(final ObjectName objectName)
+    {
+        if (this.server.isRegistered(objectName))
+        {
+            try
+            {
+                this.server.unregisterMBean(objectName);
+
+                this.logger.info(format("Unregistered MBean '%s' from server", objectName));
+                
+                if(registeredBeans.contains(objectName))
+                    registeredBeans.remove(objectName);
+            }
+            catch (final Exception e)
+            {
+                this.logger.error(String.format("Failed to unregister MBean '%s' from server", objectName), e);
+            }
+        }
+    }
+
+    public void registryDidShutdown()
+    {
+        lock.lock();
+        
+        for (final ObjectName name : this.registeredBeans)
+        {
+            doUnregister(name);
+        }
+
+        this.registeredBeans.clear();
+
+    }
+}

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/internal/jmx/MBeanSupportImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/internal/jmx/MBeanSupportImpl.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/JmxModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/JmxModule.java?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/JmxModule.java (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/JmxModule.java Wed Jun  9 17:36:38 2010
@@ -0,0 +1,56 @@
+// Copyright 2010 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.tapestry5.jmx;
+
+import javax.management.ObjectName;
+
+import org.apache.tapestry5.internal.jmx.MBeanSupportImpl;
+import org.apache.tapestry5.internal.services.PagePool;
+import org.apache.tapestry5.ioc.annotations.Autobuild;
+import org.apache.tapestry5.ioc.services.RegistryShutdownHub;
+
+/**
+ * Module for JMX services.
+ *
+ */
+public class JmxModule
+{
+    public MBeanSupport buildMBeanSupport(RegistryShutdownHub shutdownHub, @Autobuild MBeanSupportImpl service)
+    {
+        shutdownHub.addRegistryShutdownListener(service);
+        
+        return service;
+    }
+    
+    public static PagePool decoratePagePool(final PagePool pagePool, final MBeanSupport managedBeanSupport)
+    { 
+        final ObjectName objectName = buildObjectName("org.apache.tapestry5:service=PagePool");
+        
+        managedBeanSupport.register(pagePool, objectName);
+        
+        return pagePool;
+    }
+    
+    private static ObjectName buildObjectName(String name)
+    {
+        try
+        {
+            return new ObjectName(name);
+        }
+        catch (Exception e)
+        {
+            throw new RuntimeException(e);
+        }
+    }
+}

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/JmxModule.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/JmxModule.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/MBeanSupport.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/MBeanSupport.java?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/MBeanSupport.java (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/MBeanSupport.java Wed Jun  9 17:36:38 2010
@@ -0,0 +1,42 @@
+// Copyright 20010 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.tapestry5.jmx;
+
+import javax.management.ObjectName;
+
+/**
+ * Creates an MBean server and registers MBeans with the created server. The registered MBeans are unregistered when Registry is shut down.
+ * 
+ * @since 5.2.0
+ */
+public interface MBeanSupport 
+{
+
+    /**
+     * Registers the specified MBean with the server.
+     * 
+     * @param bean the MBean instance
+     * @param objectName the name for the MBean
+     */
+    void register(final Object bean, final ObjectName objectName);
+
+    /**
+     * Unregisters the specified MBean from the server.
+     * 
+     * @param objectName the name for the MBean
+     */
+    void unregister(final ObjectName objectName);
+
+}
\ No newline at end of file

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/MBeanSupport.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/MBeanSupport.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/site/apt/index.apt?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/src/site/apt/index.apt (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/src/site/apt/index.apt Wed Jun  9 17:36:38 2010
@@ -0,0 +1,8 @@
+ ----
+ About Tapestry JMX Support
+ ----
+
+Tapestry JMX Support
+
+  Provides JMX support for Tapestry.
+

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/site/apt/index.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry5/trunk/tapestry-jmx/src/site/site.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/site/site.xml?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/src/site/site.xml (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/src/site/site.xml Wed Jun  9 17:36:38 2010
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+   Copyright 2010 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.
+-->
+
+<project name="Tapestry JMX Support">
+    <bannerLeft>
+        <name>Tapestry 5</name>
+        <href>http://tapestry.apache.org/tapestry5/</href>
+        <src>images/tapestry_banner.gif</src>
+    </bannerLeft>
+    <bannerRight>
+        <name>Apache</name>
+        <href>http://www.apache.org</href>
+        <src>images/asf_logo_wide.gif</src>
+    </bannerRight>
+    <skin>
+        <groupId>org.apache.tapestry</groupId>
+        <artifactId>maven-skin</artifactId>
+        <version>1.1</version>
+    </skin>
+
+    <publishDate format="dd MMM yyyy"/>
+    <version/>
+
+    <body>
+
+        <menu ref="parent"/>
+
+        <menu name="Quick Links">
+            <item name="About" href="index.html"/>
+        </menu>
+
+        <menu ref="reports"/>
+
+    </body>
+</project>

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/site/site.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/site/site.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/testng.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/testng.xml?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/testng.xml (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/testng.xml Wed Jun  9 17:36:38 2010
@@ -0,0 +1,22 @@
+<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
+	<!--
+		Copyright 2010 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.
+	-->
+
+<suite name="Tapestry JMX" parallel="false" thread-count="10" annotations="1.5" verbose="2">
+    <parameter name="tapestry.integration-webapp" value="src/test/webapp"/>
+
+    <test name="Tapestry JMX Integration Tests">
+        <packages>
+            <package name="org.apache.tapestry5.jmx.integration"/>
+        </packages>
+    </test>
+</suite>

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/testng.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/testng.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/webdefault.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/webdefault.xml?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/webdefault.xml (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/webdefault.xml Wed Jun  9 17:36:38 2010
@@ -0,0 +1,294 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- 
+   Copyright 2007 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.
+-->
+
+<web-app
+        xmlns="http://java.sun.com/xml/ns/j2ee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+        version="2.4">
+
+    <description>
+        Default web.xml file.
+        This file is applied to a Web application before it's own WEB_INF/web.xml file
+    </description>
+
+
+    <!-- ==================================================================== -->
+    <!-- Context params to control Session Cookies                            -->
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+    <!-- UNCOMMENT TO ACTIVATE
+    <context-param>
+      <param-name>org.mortbay.jetty.servlet.SessionDomain</param-name>
+      <param-value>127.0.0.1</param-value>
+    </context-param>
+
+    <context-param>
+      <param-name>org.mortbay.jetty.servlet.SessionPath</param-name>
+      <param-value>/</param-value>
+    </context-param>
+
+    <context-param>
+      <param-name>org.mortbay.jetty.servlet.MaxAge</param-name>
+      <param-value>-1</param-value>
+    </context-param>
+    -->
+
+
+    <!-- ==================================================================== -->
+    <!-- The default servlet.                                                 -->
+    <!-- This servlet, normally mapped to /, provides the handling for static -->
+    <!-- content, OPTIONS and TRACE methods for the context.                  -->
+    <!-- The following initParameters are supported:                          -->
+    <!--                                                                      -->
+    <!--   acceptRanges     If true, range requests and responses are         -->
+    <!--                    supported                                         -->
+    <!--                                                                      -->
+    <!--   dirAllowed       If true, directory listings are returned if no    -->
+    <!--                    welcome file is found. Else 403 Forbidden.        -->
+    <!--                                                                      -->
+    <!--   putAllowed       If true, the PUT method is allowed                -->
+    <!--                                                                      -->
+    <!--   delAllowed       If true, the DELETE method is allowed             -->
+    <!--                                                                      -->
+    <!--   redirectWelcome  If true, redirect welcome file requests           -->
+    <!--                    else use request dispatcher forwards              -->
+    <!--                                                                      -->
+    <!--   minGzipLength    If set to a positive integer, then static content -->
+    <!--                    larger than this will be served as gzip content   -->
+    <!--                    encoded if a matching resource is found ending    -->
+    <!--                    with ".gz"                                        -->
+    <!--                                                                      -->
+    <!--   resoureBase      Can be set to replace the context resource base   -->
+    <!--                                                                      -->
+    <!--   relativeResourceBase                                               -->
+    <!--                    Set with a pathname relative to the base of the   -->
+    <!--                    servlet context root. Useful for only serving     -->
+    <!--                    static content from only specific subdirectories. -->
+    <!--                                                                      -->
+    <!-- The MOVE method is allowed if PUT and DELETE are allowed             -->
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+    <servlet>
+        <servlet-name>default</servlet-name>
+        <servlet-class>org.mortbay.jetty.servlet.Default</servlet-class>
+        <init-param>
+            <param-name>acceptRanges</param-name>
+            <param-value>true</param-value>
+        </init-param>
+        <init-param>
+            <param-name>dirAllowed</param-name>
+            <param-value>true</param-value>
+        </init-param>
+        <init-param>
+            <param-name>putAllowed</param-name>
+            <param-value>false</param-value>
+        </init-param>
+        <init-param>
+            <param-name>delAllowed</param-name>
+            <param-value>false</param-value>
+        </init-param>
+        <init-param>
+            <param-name>redirectWelcome</param-name>
+            <param-value>false</param-value>
+        </init-param>
+        <init-param>
+            <param-name>minGzipLength</param-name>
+            <param-value>8192</param-value>
+        </init-param>
+        <load-on-startup>0</load-on-startup>
+    </servlet>
+
+
+    <servlet-mapping>
+        <servlet-name>default</servlet-name>
+        <url-pattern>/</url-pattern>
+    </servlet-mapping>
+
+    <!-- ==================================================================== -->
+    <session-config>
+        <session-timeout>30</session-timeout>
+    </session-config>
+
+
+    <!-- ==================================================================== -->
+    <welcome-file-list>
+        <welcome-file>index.html</welcome-file>
+        <welcome-file>index.htm</welcome-file>
+    </welcome-file-list>
+
+    <!-- ==================================================================== -->
+    <locale-encoding-mapping-list>
+        <locale-encoding-mapping>
+            <locale>ar</locale>
+            <encoding>ISO-8859-6</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>be</locale>
+            <encoding>ISO-8859-5</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>bg</locale>
+            <encoding>ISO-8859-5</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>ca</locale>
+            <encoding>ISO-8859-1</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>cs</locale>
+            <encoding>ISO-8859-2</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>da</locale>
+            <encoding>ISO-8859-1</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>de</locale>
+            <encoding>ISO-8859-1</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>el</locale>
+            <encoding>ISO-8859-7</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>en</locale>
+            <encoding>ISO-8859-1</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>es</locale>
+            <encoding>ISO-8859-1</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>et</locale>
+            <encoding>ISO-8859-1</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>fi</locale>
+            <encoding>ISO-8859-1</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>fr</locale>
+            <encoding>ISO-8859-1</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>hr</locale>
+            <encoding>ISO-8859-2</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>hu</locale>
+            <encoding>ISO-8859-2</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>is</locale>
+            <encoding>ISO-8859-1</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>it</locale>
+            <encoding>ISO-8859-1</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>iw</locale>
+            <encoding>ISO-8859-8</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>ja</locale>
+            <encoding>Shift_JIS</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>ko</locale>
+            <encoding>EUC-KR</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>lt</locale>
+            <encoding>ISO-8859-2</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>lv</locale>
+            <encoding>ISO-8859-2</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>mk</locale>
+            <encoding>ISO-8859-5</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>nl</locale>
+            <encoding>ISO-8859-1</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>no</locale>
+            <encoding>ISO-8859-1</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>pl</locale>
+            <encoding>ISO-8859-2</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>pt</locale>
+            <encoding>ISO-8859-1</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>ro</locale>
+            <encoding>ISO-8859-2</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>ru</locale>
+            <encoding>ISO-8859-5</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>sh</locale>
+            <encoding>ISO-8859-5</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>sk</locale>
+            <encoding>ISO-8859-2</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>sl</locale>
+            <encoding>ISO-8859-2</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>sq</locale>
+            <encoding>ISO-8859-2</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>sr</locale>
+            <encoding>ISO-8859-5</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>sv</locale>
+            <encoding>ISO-8859-1</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>tr</locale>
+            <encoding>ISO-8859-9</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>uk</locale>
+            <encoding>ISO-8859-5</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>zh</locale>
+            <encoding>GB2312</encoding>
+        </locale-encoding-mapping>
+        <locale-encoding-mapping>
+            <locale>zh_TW</locale>
+            <encoding>Big5</encoding>
+        </locale-encoding-mapping>
+    </locale-encoding-mapping-list>
+
+
+</web-app>
+

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/webdefault.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/webdefault.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/tapestry5/jmx/integration/TapestryJmxIntegrationTests.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/tapestry5/jmx/integration/TapestryJmxIntegrationTests.java?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/tapestry5/jmx/integration/TapestryJmxIntegrationTests.java (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/tapestry5/jmx/integration/TapestryJmxIntegrationTests.java Wed Jun  9 17:36:38 2010
@@ -0,0 +1,37 @@
+// Copyright 2009, 2010 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.tapestry5.jmx.integration;
+
+import org.apache.tapestry5.test.AbstractIntegrationTestSuite;
+import org.testng.annotations.Test;
+
+@Test(sequential = true, groups = "integration")
+public class TapestryJmxIntegrationTests extends AbstractIntegrationTestSuite
+{
+
+    public TapestryJmxIntegrationTests()
+    {
+        super("src/test/webapp");
+    }
+
+    /** TAP5-978 */
+    @Test
+    public void remote_pool_management()
+    {
+
+        start("Remote Pool Management");
+
+        assertTextPresent("SoftWait: 10");
+    }
+}

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/tapestry5/jmx/integration/TapestryJmxIntegrationTests.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/tapestry5/jmx/integration/TapestryJmxIntegrationTests.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/Index.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/Index.java?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/Index.java (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/Index.java Wed Jun  9 17:36:38 2010
@@ -0,0 +1,22 @@
+// Copyright 2010 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.example.testapp.pages;
+
+/**
+ * Start page.
+ */
+public class Index
+{
+
+}

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/Index.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/Index.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/RemotePoolManagement.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/RemotePoolManagement.java?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/RemotePoolManagement.java (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/RemotePoolManagement.java Wed Jun  9 17:36:38 2010
@@ -0,0 +1,31 @@
+// Copyright 2010 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.example.testapp.pages;
+
+import java.lang.management.ManagementFactory;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+
+public class RemotePoolManagement
+{
+    
+    public Object getSoftWait() throws Exception
+    {
+        MBeanServer server = ManagementFactory.getPlatformMBeanServer();
+        
+        return server.getAttribute(new ObjectName("org.apache.tapestry5:service=PagePool"), "SoftWait");
+    }
+
+}

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/RemotePoolManagement.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/RemotePoolManagement.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/AppModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/AppModule.java?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/AppModule.java (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/AppModule.java Wed Jun  9 17:36:38 2010
@@ -0,0 +1,29 @@
+// Copyright 2010 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.example.testapp.services;
+
+import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.ioc.MappedConfiguration;
+import org.apache.tapestry5.ioc.annotations.SubModule;
+import org.apache.tapestry5.jmx.JmxModule;
+
+@SubModule(JmxModule.class)
+public class AppModule
+{
+    public static void contributeApplicationDefaults(MappedConfiguration<String, String> configuration)
+    {
+        configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
+    }
+}
\ No newline at end of file

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/AppModule.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/AppModule.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/Index.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/Index.tml?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/Index.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/Index.tml Wed Jun  9 17:36:38 2010
@@ -0,0 +1,14 @@
+<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd">
+    <head>
+        <title>Start Page</title>
+    </head>
+    <body>
+        <h2>Test application for Tapestry JMX integration tests</h2>
+
+        <ul>
+            <li>
+                <t:pagelink page="RemotePoolManagement">Remote Pool Management</t:pagelink>
+            </li>
+        </ul>
+    </body>
+</html>

Added: tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/RemotePoolManagement.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/RemotePoolManagement.tml?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/RemotePoolManagement.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/RemotePoolManagement.tml Wed Jun  9 17:36:38 2010
@@ -0,0 +1,7 @@
+<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+
+  <h1>Remote Pool Management Demo</h1>
+  
+  <p>SoftWait: ${softWait}</p>
+
+</html>
\ No newline at end of file

Added: tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/WEB-INF/web.xml?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/WEB-INF/web.xml (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/WEB-INF/web.xml Wed Jun  9 17:36:38 2010
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+   Copyright 2007 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.
+-->
+
+<!DOCTYPE web-app
+        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+        "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+    <display-name>Tapestry JMX Integration Test Application</display-name>
+    <context-param>
+        <param-name>tapestry.app-package</param-name>
+        <param-value>org.example.testapp</param-value>
+    </context-param>
+    <filter>
+        <filter-name>app</filter-name>
+        <filter-class>org.apache.tapestry5.TapestryFilter</filter-class>
+    </filter>
+    <filter-mapping>
+        <filter-name>app</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+</web-app>

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/WEB-INF/web.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/WEB-INF/web.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry%20JMX/Tapestry%20JMX%20Integration%20Tests.html?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.html (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.html Wed Jun  9 17:36:38 2010
@@ -0,0 +1,173 @@
+<html>
+<head>
+<title>TestNG:  Tapestry JMX Integration Tests</title>
+<link href="../testng.css" rel="stylesheet" type="text/css" />
+<link href="../my-testng.css" rel="stylesheet" type="text/css" />
+
+<style type="text/css">
+.log { display: none;} 
+.stack-trace { display: none;} 
+</style>
+<script type="text/javascript">
+<!--
+function flip(e) {
+  current = e.style.display;
+  if (current == 'block') {
+    e.style.display = 'none';
+    return 0;
+  }
+  else {
+    e.style.display = 'block';
+    return 1;
+  }
+}
+
+function toggleBox(szDivId, elem, msg1, msg2)
+{
+  var res = -1;  if (document.getElementById) {
+    res = flip(document.getElementById(szDivId));
+  }
+  else if (document.all) {
+    // this is the way old msie versions work
+    res = flip(document.all[szDivId]);
+  }
+  if(elem) {
+    if(res == 0) elem.innerHTML = msg1; else elem.innerHTML = msg2;
+  }
+
+}
+
+function toggleAllBoxes() {
+  if (document.getElementsByTagName) {
+    d = document.getElementsByTagName('div');
+    for (i = 0; i < d.length; i++) {
+      if (d[i].className == 'log') {
+        flip(d[i]);
+      }
+    }
+  }
+}
+
+// -->
+</script>
+
+</head>
+<body>
+<h2 align='center'>Tapestry JMX Integration Tests</h2><table border='1' align="center">
+<tr>
+<td>Tests passed/Failed/Skipped:</td><td>0/0/1</td>
+</tr><tr>
+<td>Started on:</td><td>Tue Jun 08 00:06:51 CEST 2010</td>
+</tr>
+<tr><td>Total time:</td><td>0 seconds (42 ms)</td>
+</tr><tr>
+<td>Included groups:</td><td></td>
+</tr><tr>
+<td>Excluded groups:</td><td></td>
+</tr>
+</table><p/>
+<small><i>(Hover the method name to see the test class name)</i></small><p/>
+<table width='100%' border='1' class='invocation-failed'>
+<tr><td colspan='3' align='center'><b>FAILED CONFIGURATIONS</b></td></tr>
+<tr><td><b>Test method</b></td>
+<td width="10%"><b>Time (seconds)</b></td>
+<td width="30%"><b>Exception</b></td>
+</tr>
+<tr>
+<td title='org.apache.tapestry5.test.SeleniumLauncher.startup()'>@BeforeTest startup</td>
+<td>0</td>
+<td><div><pre>org.testng.TestNGException: 
+Method startup requires 7 parameters but 5 were supplied in the @Configuration annotation.
+... Removed 17 stack frames</pre></div><a href='#' onClick='toggleBox("stack-trace11901209", this, "Click to show all stack frames", "Click to hide stack frames")'>Click to show all stack frames</a>
+<div class='stack-trace' id='stack-trace11901209'><pre>org.testng.TestNGException: 
+Method startup requires 7 parameters but 5 were supplied in the @Configuration annotation.
+	at org.testng.internal.Parameters.checkParameterTypes(Parameters.java:152)
+	at org.testng.internal.Parameters.createParameters(Parameters.java:97)
+	at org.testng.internal.Parameters.createParameters(Parameters.java:280)
+	at org.testng.internal.Parameters.createConfigurationParameters(Parameters.java:71)
+	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:143)
+	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:88)
+	at org.testng.TestRunner.beforeRun(TestRunner.java:510)
+	at org.testng.TestRunner.run(TestRunner.java:478)
+	at org.testng.SuiteRunner.runTest(SuiteRunner.java:332)
+	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:327)
+	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:299)
+	at org.testng.SuiteRunner.run(SuiteRunner.java:204)
+	at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:877)
+	at org.testng.TestNG.runSuitesLocally(TestNG.java:842)
+	at org.testng.TestNG.run(TestNG.java:751)
+	at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73)
+	at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:124)
+</pre></div></td>
+</tr>
+<tr>
+<td title='org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests.indicateTestMethodName()'>@BeforeMethod indicateTestMethodName<br/><b>Parameters:</b> public void org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests.remote_pool_management()</td>
+<td>0</td>
+<td><div><pre>java.lang.NullPointerException
+	at org.apache.tapestry5.test.SeleniumTestCase.indicateTestMethodName(SeleniumTestCase.java:97)
+... Removed 24 stack frames</pre></div><a href='#' onClick='toggleBox("stack-trace4050215", this, "Click to show all stack frames", "Click to hide stack frames")'>Click to show all stack frames</a>
+<div class='stack-trace' id='stack-trace4050215'><pre>java.lang.NullPointerException
+	at org.apache.tapestry5.test.SeleniumTestCase.indicateTestMethodName(SeleniumTestCase.java:97)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:607)
+	at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:417)
+	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:154)
+	at org.testng.internal.Invoker.invokeMethod(Invoker.java:464)
+	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:669)
+	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:956)
+	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126)
+	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:110)
+	at org.testng.TestRunner.runWorkers(TestRunner.java:759)
+	at org.testng.TestRunner.privateRun(TestRunner.java:592)
+	at org.testng.TestRunner.run(TestRunner.java:486)
+	at org.testng.SuiteRunner.runTest(SuiteRunner.java:332)
+	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:327)
+	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:299)
+	at org.testng.SuiteRunner.run(SuiteRunner.java:204)
+	at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:877)
+	at org.testng.TestNG.runSuitesLocally(TestNG.java:842)
+	at org.testng.TestNG.run(TestNG.java:751)
+	at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73)
+	at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:124)
+</pre></div></td>
+</tr>
+</table><p>
+<table width='100%' border='1' class='invocation-skipped'>
+<tr><td colspan='3' align='center'><b>SKIPPED CONFIGURATIONS</b></td></tr>
+<tr><td><b>Test method</b></td>
+<td width="10%"><b>Time (seconds)</b></td>
+<td width="30%"><b>Exception</b></td>
+</tr>
+<tr>
+<td title='org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests.cleanupTestMethod()'>@AfterMethod cleanupTestMethod</td>
+<td>0</td>
+<td></td>
+</tr>
+<tr>
+<td title='org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests.cleanup()'>@AfterClass cleanup</td>
+<td>0</td>
+<td></td>
+</tr>
+<tr>
+<td title='org.apache.tapestry5.test.SeleniumLauncher.cleanup()'>@AfterTest cleanup</td>
+<td>0</td>
+<td></td>
+</tr>
+</table><p>
+<table width='100%' border='1' class='invocation-skipped'>
+<tr><td colspan='3' align='center'><b>SKIPPED TESTS</b></td></tr>
+<tr><td><b>Test method</b></td>
+<td width="10%"><b>Time (seconds)</b></td>
+<td width="30%"><b>Exception</b></td>
+</tr>
+<tr>
+<td title='org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests.remote_pool_management()'>remote_pool_management</td>
+<td>0</td>
+<td></td>
+</tr>
+</table><p>
+</body>
+</html>
\ No newline at end of file

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.properties
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry%20JMX/Tapestry%20JMX%20Integration%20Tests.properties?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.properties (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.properties Wed Jun  9 17:36:38 2010
@@ -0,0 +1 @@
+[SuiteResult Tapestry JMX Integration Tests]
\ No newline at end of file

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry%20JMX/Tapestry%20JMX%20Integration%20Tests.xml?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.xml (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.xml Wed Jun  9 17:36:38 2010
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite name="Tapestry JMX Integration Tests" failures="0" tests="1" time="0.042" errors="0">
+  <properties/>
+  <testcase name="@BeforeTest startup" time="0.0" classname="org.apache.tapestry5.test.SeleniumLauncher">
+    <failure type="org.testng.TestNGException" message="
+Method startup requires 7 parameters but 5 were supplied in the @Configuration annotation.">
+      <![CDATA[org.testng.TestNGException: 
+Method startup requires 7 parameters but 5 were supplied in the @Configuration annotation.
+... Removed 17 stack frames]]>
+    </failure>
+  </testcase>
+  <testcase name="@BeforeMethod indicateTestMethodName" time="0.0" classname="org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests">
+    <failure type="java.lang.NullPointerException">
+      <![CDATA[java.lang.NullPointerException
+	at org.apache.tapestry5.test.SeleniumTestCase.indicateTestMethodName(SeleniumTestCase.java:97)
+... Removed 24 stack frames]]>
+    </failure>
+  </testcase>
+  <testcase name="@AfterMethod cleanupTestMethod" time="0.0" classname="org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests">
+    <skipped/>
+  </testcase>
+  <testcase name="@AfterClass cleanup" time="0.0" classname="org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests">
+    <skipped/>
+  </testcase>
+  <testcase name="@AfterTest cleanup" time="0.0" classname="org.apache.tapestry5.test.SeleniumLauncher">
+    <skipped/>
+  </testcase>
+  <testcase name="remote_pool_management" time="0.0040" classname="org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests">
+    <skipped/>
+  </testcase>
+</testsuite>

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/Tapestry JMX Integration Tests.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/classes.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry%20JMX/classes.html?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/classes.html (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/classes.html Wed Jun  9 17:36:38 2010
@@ -0,0 +1,45 @@
+<table border='1'>
+<tr>
+<th>Class name</th>
+<th>Method name</th>
+<th>Groups</th>
+</tr><tr>
+<td>org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests</td>
+<td>&nbsp;</td><td>&nbsp;</td></tr>
+<tr>
+<td align='center' colspan='3'>@Test</td>
+</tr>
+<tr>
+<td>&nbsp;</td>
+<td>remote_pool_management</td>
+<td>integration </td>
+</tr>
+<tr>
+<td align='center' colspan='3'>@BeforeClass</td>
+</tr>
+<tr>
+<td>&nbsp;</td>
+<td>setup</td>
+<td>&nbsp;</td></tr>
+<tr>
+<td align='center' colspan='3'>@BeforeMethod</td>
+</tr>
+<tr>
+<td>&nbsp;</td>
+<td>indicateTestMethodName</td>
+<td>&nbsp;</td></tr>
+<tr>
+<td align='center' colspan='3'>@AfterMethod</td>
+</tr>
+<tr>
+<td>&nbsp;</td>
+<td>cleanupTestMethod</td>
+<td>&nbsp;</td></tr>
+<tr>
+<td align='center' colspan='3'>@AfterClass</td>
+</tr>
+<tr>
+<td>&nbsp;</td>
+<td>cleanup</td>
+<td>&nbsp;</td></tr>
+</table>

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/classes.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/classes.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/groups.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry%20JMX/groups.html?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/groups.html (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/groups.html Wed Jun  9 17:36:38 2010
@@ -0,0 +1,3 @@
+<h2>Groups used for this test run</h2><table border="1">
+<tr> <td align="center"><b>Group name</b></td><td align="center"><b>Methods</b></td></tr><tr><td>integration</td><td>org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests.remote_pool_management()<br/></td></tr>
+</table>

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/groups.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/groups.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/index.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry%20JMX/index.html?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/index.html (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/index.html Wed Jun  9 17:36:38 2010
@@ -0,0 +1,6 @@
+<html><head><title>Results for Tapestry JMX</title></head>
+<frameset cols="26%,74%">
+<frame src="toc.html" name="navFrame">
+<frame src="main.html" name="mainFrame">
+</frameset>
+</html>

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/index.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/main.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry%20JMX/main.html?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/main.html (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/main.html Wed Jun  9 17:36:38 2010
@@ -0,0 +1,2 @@
+<html><head><title>Results for Tapestry JMX</title></head>
+<body>Select a result on the left-hand pane.</body></html>

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/main.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/main.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods-alphabetical.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry%20JMX/methods-alphabetical.html?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods-alphabetical.html (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods-alphabetical.html Wed Jun  9 17:36:38 2010
@@ -0,0 +1,10 @@
+<h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>Tapestry JMX</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
+<table border="1">
+<tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
+<tr bgcolor="b3719d">  <td>10/06/08 00:06:51</td>   <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;org.apache.tapestry5.test.SeleniumTestCase.indicateTestMethodName(java.lang.reflect.Method)">&gt;&gt;indicateTestMethodName</td> 
+<td>&nbsp;</td>  <td>main@16240071</td>   <td></td> </tr>
+<tr bgcolor="95f4ae">  <td>10/06/08 00:06:51</td>   <td>8</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests.remote_pool_management()">remote_pool_management</td> 
+  <td>main@16240071</td>   <td></td> </tr>
+<tr bgcolor="b3719d">  <td>10/06/08 00:06:51</td>   <td>-3</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;org.apache.tapestry5.test.SeleniumTestCase.setup(org.testng.ITestContext)">&gt;&gt;setup</td> 
+<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>  <td>main@16240071</td>   <td></td> </tr>
+</table>

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods-alphabetical.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods-alphabetical.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods-not-run.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry%20JMX/methods-not-run.html?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods-not-run.html (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods-not-run.html Wed Jun  9 17:36:38 2010
@@ -0,0 +1,2 @@
+<h2>Methods that were not run</h2><table>
+</table>
\ No newline at end of file

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods-not-run.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods-not-run.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry%20JMX/methods.html?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods.html (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods.html Wed Jun  9 17:36:38 2010
@@ -0,0 +1,10 @@
+<h2>Methods run, sorted chronologically</h2><h3>&gt;&gt; means before, &lt;&lt; means after</h3><p/><br/><em>Tapestry JMX</em><p/><small><i>(Hover the method name to see the test class name)</i></small><p/>
+<table border="1">
+<tr><th>Time</th><th>Delta (ms)</th><th>Suite<br>configuration</th><th>Test<br>configuration</th><th>Class<br>configuration</th><th>Groups<br>configuration</th><th>Method<br>configuration</th><th>Test<br>method</th><th>Thread</th><th>Instances</th></tr>
+<tr bgcolor="b3719d">  <td>10/06/08 00:06:51</td>   <td>0</td> <td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;org.apache.tapestry5.test.SeleniumTestCase.setup(org.testng.ITestContext)">&gt;&gt;setup</td> 
+<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>  <td>main@16240071</td>   <td></td> </tr>
+<tr bgcolor="b3719d">  <td>10/06/08 00:06:51</td>   <td>3</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="&gt;&gt;org.apache.tapestry5.test.SeleniumTestCase.indicateTestMethodName(java.lang.reflect.Method)">&gt;&gt;indicateTestMethodName</td> 
+<td>&nbsp;</td>  <td>main@16240071</td>   <td></td> </tr>
+<tr bgcolor="95f4ae">  <td>10/06/08 00:06:51</td>   <td>11</td> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td title="org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests.remote_pool_management()">remote_pool_management</td> 
+  <td>main@16240071</td>   <td></td> </tr>
+</table>

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/methods.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/reporter-output.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry%20JMX/reporter-output.html?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/reporter-output.html (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/reporter-output.html Wed Jun  9 17:36:38 2010
@@ -0,0 +1 @@
+<h2>Reporter output</h2><table></table>
\ No newline at end of file

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/reporter-output.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/reporter-output.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/testng-failed.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry%20JMX/testng-failed.xml?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/testng-failed.xml (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/testng-failed.xml Wed Jun  9 17:36:38 2010
@@ -0,0 +1,16 @@
+<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
+<suite thread-count="10" skipfailedinvocationCounts="false" verbose="2" name="Failed suite [Tapestry JMX]" junit="false" parallel="false" annotations="JDK">
+  <parameter name="tapestry.integration-webapp" value="src/test/webapp"/>
+  <test name="Tapestry JMX Integration Tests(failed)" junit="false" parallel="false" annotations="JDK">
+    <parameter name="tapestry.integration-webapp" value="src/test/webapp"/>
+    <classes>
+      <class name="org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests">
+        <methods>
+          <include name="indicateTestMethodName"/>
+          <include name="setup"/>
+          <include name="remote_pool_management"/>
+        </methods>
+      </class>
+    </classes>
+  </test>
+</suite>

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/testng-failed.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/testng-failed.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/testng.xml.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry%20JMX/testng.xml.html?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/testng.xml.html (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/testng.xml.html Wed Jun  9 17:36:38 2010
@@ -0,0 +1 @@
+<html><head><title>testng.xml for Tapestry JMX</title></head><body><tt>&lt;!DOCTYPE&nbsp;suite&nbsp;SYSTEM&nbsp;"http://testng.org/testng-1.0.dtd"&gt;<br/>&lt;suite&nbsp;thread-count="10"&nbsp;skipfailedinvocationCounts="false"&nbsp;verbose="2"&nbsp;name="Tapestry&nbsp;JMX"&nbsp;junit="false"&nbsp;parallel="false"&nbsp;annotations="JDK"&gt;<br/>&nbsp;&nbsp;&lt;test&nbsp;name="Tapestry&nbsp;JMX&nbsp;Integration&nbsp;Tests"&nbsp;junit="false"&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;parameter&nbsp;name="tapestry.integration-webapp"&nbsp;value="src/test/webapp"/&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;packages&gt;<br/>&nbsp;&nbsp;&lt;package&nbsp;name="org.apache.tapestry5.jmx.integration"&gt;<br/>&nbsp;&nbsp;&lt;/package&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/packages&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;classes&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="org.apache.tapestry5.test.SeleniumLauncher"/&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;class&nbsp;name="org.
 apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests"/&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/classes&gt;<br/>&nbsp;&nbsp;&lt;/test&gt;<br/>&lt;/suite&gt;<br/></tt></body></html>
\ No newline at end of file

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/testng.xml.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/testng.xml.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/toc.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry%20JMX/toc.html?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/toc.html (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/toc.html Wed Jun  9 17:36:38 2010
@@ -0,0 +1,30 @@
+<html>
+<head>
+<title>Results for Tapestry JMX</title>
+<link href="../testng.css" rel="stylesheet" type="text/css" />
+<link href="../my-testng.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<h3><p align="center">Results for<br/><em>Tapestry JMX</em></p></h3>
+<table border='1' width='100%'>
+<tr valign='top'>
+<td>1 test</td>
+<td><a target='mainFrame' href='classes.html'>1 class</a></td>
+<td>1 method:<br/>
+&nbsp;&nbsp;<a target='mainFrame' href='methods.html'>chronological</a><br/>
+&nbsp;&nbsp;<a target='mainFrame' href='methods-alphabetical.html'>alphabetical</a><br/>
+&nbsp;&nbsp;<a target='mainFrame' href='methods-not-run.html'>not run (0)</a></td>
+</tr>
+<tr>
+<td><a target='mainFrame' href='groups.html'>1 group</a></td>
+<td><a target='mainFrame' href='reporter-output.html'>reporter output</a></td>
+<td><a target='mainFrame' href='testng.xml.html'>testng.xml</a></td>
+</tr></table>
+<table width='100%' class='test-skipped'>
+<tr><td>
+<table style='width: 100%'><tr><td valign='top'>Tapestry JMX Integration Tests (0/0/1)</td><td valign='top' align='right'>
+  <a href='Tapestry JMX Integration Tests.html' target='mainFrame'>Results</a>
+</td></tr></table>
+</td></tr><p/>
+</table>
+</body></html>
\ No newline at end of file

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/toc.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/Tapestry JMX/toc.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry5/trunk/tapestry-jmx/test-output/emailable-report.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/test-output/emailable-report.html?rev=953091&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jmx/test-output/emailable-report.html (added)
+++ tapestry/tapestry5/trunk/tapestry-jmx/test-output/emailable-report.html Wed Jun  9 17:36:38 2010
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>TestNG:  Unit Test</title>
+<style type="text/css">
+table caption,table.info_table,table.param,table.passed,table.failed {margin-bottom:10px;border:1px solid #000099;border-collapse:collapse;empty-cells:show;}
+table.info_table td,table.info_table th,table.param td,table.param th,table.passed td,table.passed th,table.failed td,table.failed th {
+border:1px solid #000099;padding:.25em .5em .25em .5em
+}
+table.param th {vertical-align:bottom}
+td.numi,th.numi,td.numi_attn {
+text-align:right
+}
+tr.total td {font-weight:bold}
+table caption {
+text-align:center;font-weight:bold;
+}
+table.passed tr.stripe td,table tr.passedodd td {background-color: #00AA00;}
+table.passed td,table tr.passedeven td {background-color: #33FF33;}
+table.passed tr.stripe td,table tr.skippedodd td {background-color: #cccccc;}
+table.passed td,table tr.skippedodd td {background-color: #dddddd;}
+table.failed tr.stripe td,table tr.failedodd td,table.param td.numi_attn {background-color: #FF3333;}
+table.failed td,table tr.failedeven td,table.param tr.stripe td.numi_attn {background-color: #DD0000;}
+tr.stripe td,tr.stripe th {background-color: #E6EBF9;}
+p.totop {font-size:85%;text-align:center;border-bottom:2px black solid}
+div.shootout {padding:2em;border:3px #4854A8 solid}
+</style>
+</head>
+<body>
+<table cellspacing=0 cellpadding=0 class="param">
+<tr><th>Test</th><th class="numi">Methods<br/>Passed</th><th class="numi">Scenarios<br/>Passed</th><th class="numi"># skipped</th><th class="numi"># failed</th><th class="numi">Total<br/>Time</th><th class="numi">Included<br/>Groups</th><th class="numi">Excluded<br/>Groups</th></tr>
+<tr><td style="text-align:left;padding-right:2em">org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests</td><td class="numi">1</td><td class="numi">1</td><td class="numi">0</td><td class="numi">0</td><td class="numi">9,5 seconds</td><td class="numi"></td><td class="numi"></td></tr>
+</table>
+<a id="summary"></a>
+<table cellspacing=0 cellpadding=0 class="passed">
+<tr><th>Class</th><th>Method</th><th># of<br/>Scenarios</th><th>Time<br/>(Msecs)</th></tr>
+<tr><th colspan="4">org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests &#8212; passed</th></tr>
+<tr class="passedodd"><td rowspan="1">org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests<td><a href="#m1"><b>remote_pool_management</b> (integration)</a></td><td class="numi">1</td><td class="numi">1485</td></tr>
+</table>
+<h1>org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests</h1>
+<a id="m1"></a><h2>org.apache.tapestry5.jmx.integration.TapestryJmxIntegrationTests:remote_pool_management</h2>
+<p class="totop"><a href="#summary">back to summary</a></p>
+</body></html>

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/emailable-report.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry5/trunk/tapestry-jmx/test-output/emailable-report.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain