That's my bad.  It was supposed to be @PostInjection (the Tapestry
annotation), not @PostConstruct (the JSR whatever annotation).

I ran all the tests and didn't have a failure.

The changes were related to the excising of pooled pages support, and
with it, the JMX MBean for the page pool; I had to replace a bit of
code in the JMX world.  My modest improvement led to a refactoring
(using a @PostInjection method to register as a shutdown listener,
rather than a builder method).


On Wed, Mar 9, 2011 at 11:22 AM, Igor Drobiazko
<[email protected]> wrote:
> I'm seeing the @PostConstruct annotation placed on the listenForShutdown
> method of the MBeanSupportImpl class. Why is that annotation needed?
> Tapestry IoC doesn't support this annotation. Actually, my local build is
> even failing with error:
>
> /Users/igor/Documents/workspaces/tapestry5/tapestry-jmx/src/main/java/org/apache/tapestry5/internal/jmx/MBeanSupportImpl.java:[23,24]
> package javax.annotation does not exist




>
>
>
> On Thu, Mar 3, 2011 at 12:01 AM, <[email protected]> wrote:
>
>> Author: hlship
>> Date: Wed Mar  2 23:01:37 2011
>> New Revision: 1076449
>>
>> URL: http://svn.apache.org/viewvc?rev=1076449&view=rev
>> Log:
>> TAP5-1455: Rebuild the tapestry-jmx tests now that PagePool is no longer
>> available as a JMX MBean
>>
>> Added:
>>
>>  tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/Sample.java
>>
>>  tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/SampleImpl.java
>>      - copied, changed from r1076448,
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/tapestry5/jmx/integration/TapestryJmxIntegrationTests.java
>>
>>  tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/SampleImplMBean.java
>>    tapestry/tapestry5/trunk/tapestry-jmx/src/test/resources/
>>
>>  tapestry/tapestry5/trunk/tapestry-jmx/src/test/resources/log4j.properties
>> Modified:
>>    tapestry/tapestry5/trunk/tapestry-jmx/pom.xml
>>
>>  tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/internal/jmx/MBeanSupportImpl.java
>>
>>  tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/JmxModule.java
>>
>>  tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/MBeanSupport.java
>>    tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/testng.xml
>>
>>  tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/tapestry5/jmx/integration/TapestryJmxIntegrationTests.java
>>
>>  tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/RemotePoolManagement.java
>>
>>  tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/AppModule.java
>>
>>  tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/RemotePoolManagement.tml
>>
>> Modified: tapestry/tapestry5/trunk/tapestry-jmx/pom.xml
>> URL:
>> http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/pom.xml?rev=1076449&r1=1076448&r2=1076449&view=diff
>>
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-jmx/pom.xml (original)
>> +++ tapestry/tapestry5/trunk/tapestry-jmx/pom.xml Wed Mar  2 23:01:37 2011
>> @@ -41,6 +41,9 @@
>>             <plugin>
>>                 <groupId>org.apache.maven.plugins</groupId>
>>                 <artifactId>maven-surefire-plugin</artifactId>
>> +                <configuration>
>> +
>>  <argLine>-Dtapestry.service-reloading-enabled=false</argLine>
>> +                </configuration>
>>             </plugin>
>>             <plugin>
>>                 <groupId>org.apache.maven.plugins</groupId>
>>
>> Modified:
>> 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=1076449&r1=1076448&r2=1076449&view=diff
>>
>> ==============================================================================
>> ---
>> tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/internal/jmx/MBeanSupportImpl.java
>> (original)
>> +++
>> tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/internal/jmx/MBeanSupportImpl.java
>> Wed Mar  2 23:01:37 2011
>> @@ -1,10 +1,10 @@
>> -// Copyright 2010 The Apache Software Foundation
>> +// Copyright 2010, 2011 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
>> +// 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,
>> @@ -20,22 +20,25 @@ import java.lang.management.ManagementFa
>>  import java.util.List;
>>  import java.util.Set;
>>
>> +import javax.annotation.PostConstruct;
>>  import javax.management.MBeanServer;
>>  import javax.management.MBeanServerFactory;
>> +import javax.management.MalformedObjectNameException;
>>  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.RegistryShutdownHub;
>>  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 final Logger logger;
>> +
>> +    private final MBeanServer server;
>>
>> -    private MBeanServer server;
>> -
>>     private final OneShotLock lock = new OneShotLock();
>>
>>     private final Set<ObjectName> registeredBeans =
>> CollectionFactory.newSet();
>> @@ -43,28 +46,55 @@ public class MBeanSupportImpl implements
>>     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())
>> +        MBeanServer server = null;
>> +
>> +        if (servers != null && 0 < servers.size())
>>         {
>> -            this.server = servers.get(0);
>> +            server = servers.get(0);
>>         }
>>
>>         if (this.server == null)
>>         {
>> -            this.server = ManagementFactory.getPlatformMBeanServer();
>> +            server = ManagementFactory.getPlatformMBeanServer();
>> +        }
>> +
>> +        this.server = server;
>> +    }
>> +
>> +    @PostConstruct
>> +    public void listenForShutdown(RegistryShutdownHub hub)
>> +    {
>> +        hub.addRegistryShutdownListener(this);
>> +    }
>> +
>> +    public void register(Object bean, String name)
>> +    {
>> +        register(bean, toObjectName(name));
>> +    }
>> +
>> +    private static ObjectName toObjectName(String name)
>> +    {
>> +        try
>> +        {
>> +            return new ObjectName(name);
>> +        }
>> +        catch (Exception ex)
>> +        {
>> +            throw new RuntimeException(ex);
>>         }
>>     }
>>
>>     public void register(final Object object, final ObjectName objectName)
>>     {
>>         lock.check();
>> -
>> +
>>         if (this.server.isRegistered(objectName))
>>             return;
>> -
>> +
>>         try
>>         {
>>             this.server.registerMBean(object, objectName);
>> @@ -82,10 +112,10 @@ public class MBeanSupportImpl implements
>>     public void unregister(final ObjectName objectName)
>>     {
>>         lock.check();
>> -
>> +
>>         doUnregister(objectName);
>>     }
>> -
>> +
>>     private void doUnregister(final ObjectName objectName)
>>     {
>>         if (this.server.isRegistered(objectName))
>> @@ -95,8 +125,8 @@ public class MBeanSupportImpl implements
>>                 this.server.unregisterMBean(objectName);
>>
>>                 this.logger.info(format("Unregistered MBean '%s' from
>> server", objectName));
>> -
>> -                if(registeredBeans.contains(objectName))
>> +
>> +                if (registeredBeans.contains(objectName))
>>                     registeredBeans.remove(objectName);
>>             }
>>             catch (final Exception e)
>>
>> Modified:
>> 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=1076449&r1=1076448&r2=1076449&view=diff
>>
>> ==============================================================================
>> ---
>> tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/JmxModule.java
>> (original)
>> +++
>> tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/JmxModule.java
>> Wed Mar  2 23:01:37 2011
>> @@ -1,10 +1,10 @@
>> -// Copyright 2010 The Apache Software Foundation
>> +// Copyright 2010, 2011 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
>> +// 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,
>> @@ -13,44 +13,16 @@
>>  // 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;
>> +import org.apache.tapestry5.ioc.ServiceBinder;
>>
>>  /**
>>  * 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)
>> +    public static void bind(ServiceBinder binder)
>>     {
>> -        try
>> -        {
>> -            return new ObjectName(name);
>> -        }
>> -        catch (Exception e)
>> -        {
>> -            throw new RuntimeException(e);
>> -        }
>> +        binder.bind(MBeanSupport.class, MBeanSupportImpl.class);
>>     }
>>  }
>>
>> Modified:
>> 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=1076449&r1=1076448&r2=1076449&view=diff
>>
>> ==============================================================================
>> ---
>> tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/MBeanSupport.java
>> (original)
>> +++
>> tapestry/tapestry5/trunk/tapestry-jmx/src/main/java/org/apache/tapestry5/jmx/MBeanSupport.java
>> Wed Mar  2 23:01:37 2011
>> @@ -1,10 +1,10 @@
>> -// Copyright 20010 The Apache Software Foundation
>> +// Copyright 2010, 2011 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
>> +// 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,
>> @@ -17,26 +17,40 @@ 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.
>> + * 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
>> +public interface MBeanSupport
>>  {
>>
>>     /**
>>      * Registers the specified MBean with the server.
>>      *
>> -     * @param bean the MBean instance
>> -     * @param objectName the name for the MBean
>> +     * @param bean
>> +     *            the MBean instance
>> +     * @param objectName
>> +     *            the name for the MBean
>>      */
>> -    void register(final Object bean, final ObjectName objectName);
>> +    void register(Object bean, ObjectName objectName);
>>
>>     /**
>> -     * Unregisters the specified MBean from the server.
>> +     * Registers the specific MBean with the server.
>>      *
>> -     * @param objectName the name for the MBean
>> +     * @param bean
>> +     *            the MBean instance
>> +     * @param name
>> +     *            string name used to create an {@link ObjectName}
>> +     * @since 5.3.0
>>      */
>> -    void unregister(final ObjectName objectName);
>> +    void register(Object bean, String name);
>>
>> -}
>> \ No newline at end of file
>> +    /**
>> +     * Unregisters the specified MBean from the server.
>> +     *
>> +     * @param objectName
>> +     *            the name for the MBean
>> +     */
>> +    void unregister(ObjectName objectName);
>> +}
>>
>> Modified: 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=1076449&r1=1076448&r2=1076449&view=diff
>>
>> ==============================================================================
>> --- tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/testng.xml
>> (original)
>> +++ tapestry/tapestry5/trunk/tapestry-jmx/src/test/conf/testng.xml Wed Mar
>>  2 23:01:37 2011
>> @@ -1,22 +1,12 @@
>>  <!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.0Unless 
>> 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>
>> +  <test name="Tapestry JMX Integration Tests">
>> +    <parameter name="tapestry.web-app-folder" value="src/test/webapp"/>
>> +
>> +    <packages>
>> +      <package name="org.apache.tapestry5.jmx.integration"/>
>> +    </packages>
>> +  </test>
>>  </suite>
>>
>> Modified:
>> 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=1076449&r1=1076448&r2=1076449&view=diff
>>
>> ==============================================================================
>> ---
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/tapestry5/jmx/integration/TapestryJmxIntegrationTests.java
>> (original)
>> +++
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/tapestry5/jmx/integration/TapestryJmxIntegrationTests.java
>> Wed Mar  2 23:01:37 2011
>> @@ -13,25 +13,20 @@
>>  // limitations under the License.
>>  package org.apache.tapestry5.jmx.integration;
>>
>> -import org.apache.tapestry5.test.AbstractIntegrationTestSuite;
>> +import org.apache.tapestry5.test.SeleniumTestCase;
>>  import org.testng.annotations.Test;
>>
>>  @Test(sequential = true, groups = "integration")
>> -public class TapestryJmxIntegrationTests extends
>> AbstractIntegrationTestSuite
>> +public class TapestryJmxIntegrationTests extends SeleniumTestCase
>>  {
>> -
>> -    public TapestryJmxIntegrationTests()
>> -    {
>> -        super("src/test/webapp");
>> -    }
>> -
>>     /** TAP5-978 */
>>     @Test
>>     public void remote_pool_management()
>>     {
>> +        openBaseURL();
>>
>> -        start("Remote Pool Management");
>> +        clickAndWait("link=Remote Pool Management");
>>
>> -        assertTextPresent("SoftWait: 10");
>> +        assertText("sample-value", "42");
>>     }
>>  }
>>
>> Modified:
>> 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=1076449&r1=1076448&r2=1076449&view=diff
>>
>> ==============================================================================
>> ---
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/RemotePoolManagement.java
>> (original)
>> +++
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/pages/RemotePoolManagement.java
>> Wed Mar  2 23:01:37 2011
>> @@ -1,10 +1,10 @@
>> -// Copyright 2010 The Apache Software Foundation
>> +// Copyright 2010, 2011 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
>> +// 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,
>> @@ -20,12 +20,12 @@ import javax.management.ObjectName;
>>
>>  public class RemotePoolManagement
>>  {
>> -
>> -    public Object getSoftWait() throws Exception
>> +
>> +    public Object getSampleValue() throws Exception
>>     {
>>         MBeanServer server = ManagementFactory.getPlatformMBeanServer();
>> -
>> -        return server.getAttribute(new
>> ObjectName("org.apache.tapestry5:service=PagePool"), "SoftWait");
>> +
>> +        return server.getAttribute(new
>> ObjectName("org.example.testapp.services:service=Sample"), "SampleValue");
>>     }
>>
>>  }
>>
>> Modified:
>> 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=1076449&r1=1076448&r2=1076449&view=diff
>>
>> ==============================================================================
>> ---
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/AppModule.java
>> (original)
>> +++
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/AppModule.java
>> Wed Mar  2 23:01:37 2011
>> @@ -1,10 +1,10 @@
>> -// Copyright 2010 The Apache Software Foundation
>> +// Copyright 2010, 2011 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
>> +// 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,
>> @@ -16,15 +16,30 @@ package org.example.testapp.services;
>>
>>  import org.apache.tapestry5.SymbolConstants;
>>  import org.apache.tapestry5.ioc.MappedConfiguration;
>> +import org.apache.tapestry5.ioc.ServiceBinder;
>> +import org.apache.tapestry5.ioc.annotations.Decorate;
>>  import org.apache.tapestry5.ioc.annotations.SubModule;
>>  import org.apache.tapestry5.jmx.JmxModule;
>> +import org.apache.tapestry5.jmx.MBeanSupport;
>>
>>  @SubModule(JmxModule.class)
>>  public class AppModule
>>  {
>> +    public static void bind(ServiceBinder binder)
>> +    {
>> +        binder.bind(Sample.class);
>> +    }
>> +
>>     public static void
>> contributeApplicationDefaults(MappedConfiguration<String, String>
>> configuration)
>>     {
>>         configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
>> -        configuration.add(SymbolConstants.PAGE_POOL_ENABLED, "true");
>>     }
>> -}
>> \ No newline at end of file
>> +
>> +    @Decorate(serviceInterface = Sample.class)
>> +    public static Sample enableJMXForSample(Sample service, MBeanSupport
>> managedBeanSupport)
>> +    {
>> +        managedBeanSupport.register(service,
>> "org.example.testapp.services:service=Sample");
>> +
>> +        return service;
>> +    }
>> +}
>>
>> Added:
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/Sample.java
>> URL:
>> http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/Sample.java?rev=1076449&view=auto
>>
>> ==============================================================================
>> ---
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/Sample.java
>> (added)
>> +++
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/Sample.java
>> Wed Mar  2 23:01:37 2011
>> @@ -0,0 +1,20 @@
>> +// Copyright 2011 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;
>> +
>> +public interface Sample
>> +{
>> +    int getSampleValue();
>> +}
>>
>> Copied:
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/SampleImpl.java
>> (from r1076448,
>> 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/example/testapp/services/SampleImpl.java?p2=tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/SampleImpl.java&p1=tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/tapestry5/jmx/integration/TapestryJmxIntegrationTests.java&r1=1076448&r2=1076449&rev=1076449&view=diff
>>
>> ==============================================================================
>> ---
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/apache/tapestry5/jmx/integration/TapestryJmxIntegrationTests.java
>> (original)
>> +++
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/SampleImpl.java
>> Wed Mar  2 23:01:37 2011
>> @@ -1,4 +1,4 @@
>> -// Copyright 2009, 2010 The Apache Software Foundation
>> +// Copyright 2011 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.
>> @@ -11,27 +11,16 @@
>>  // 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;
>> +package org.example.testapp.services;
>>
>> -@Test(sequential = true, groups = "integration")
>> -public class TapestryJmxIntegrationTests extends
>> AbstractIntegrationTestSuite
>> -{
>> -
>> -    public TapestryJmxIntegrationTests()
>> -    {
>> -        super("src/test/webapp");
>> -    }
>> +import org.apache.tapestry5.ioc.annotations.EagerLoad;
>>
>> -    /** TAP5-978 */
>> -    @Test
>> -    public void remote_pool_management()
>> +@EagerLoad
>> +public class SampleImpl implements Sample, SampleImplMBean
>> +{
>> +    public int getSampleValue()
>>     {
>> -
>> -        start("Remote Pool Management");
>> -
>> -        assertTextPresent("SoftWait: 10");
>> +        return 42;
>>     }
>>  }
>>
>> Added:
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/SampleImplMBean.java
>> URL:
>> http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/SampleImplMBean.java?rev=1076449&view=auto
>>
>> ==============================================================================
>> ---
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/SampleImplMBean.java
>> (added)
>> +++
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/java/org/example/testapp/services/SampleImplMBean.java
>> Wed Mar  2 23:01:37 2011
>> @@ -0,0 +1,19 @@
>> +// Copyright 2011 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;
>> +
>> +public interface SampleImplMBean extends Sample
>> +{
>> +}
>>
>> Added:
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/resources/log4j.properties
>> URL:
>> http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jmx/src/test/resources/log4j.properties?rev=1076449&view=auto
>>
>> ==============================================================================
>> ---
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/resources/log4j.properties
>> (added)
>> +++
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/resources/log4j.properties
>> Wed Mar  2 23:01:37 2011
>> @@ -0,0 +1,10 @@
>> +log4j.rootCategory=INFO, A1
>> +
>> +# A1 is set to be a ConsoleAppender.
>> +log4j.appender.A1=org.apache.log4j.ConsoleAppender
>> +
>> +# A1 uses PatternLayout.
>> +log4j.appender.A1.layout=org.apache.log4j.PatternLayout
>> +log4j.appender.A1.layout.ConversionPattern=[%p] %c{1} %m%n
>> +
>> +log4j.category.org.example.testapp=debug
>>
>> Modified:
>> 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=1076449&r1=1076448&r2=1076449&view=diff
>>
>> ==============================================================================
>> ---
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/RemotePoolManagement.tml
>> (original)
>> +++
>> tapestry/tapestry5/trunk/tapestry-jmx/src/test/webapp/RemotePoolManagement.tml
>> Wed Mar  2 23:01:37 2011
>> @@ -1,7 +1,10 @@
>>  <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";>
>>
>>   <h1>Remote Pool Management Demo</h1>
>> -
>> -  <p>SoftWait: ${softWait}</p>
>> +
>> +  <p>
>> +    Sample value:
>> +    <span id="sample-value">${sampleValue}</span>
>> +  </p>
>>
>>  </html>
>> \ No newline at end of file
>>
>>
>>
>
>
> --
> Best regards,
>
> Igor Drobiazko
> http://tapestry5.de
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to