[jboss-cvs] JBossAS SVN: r90191 - in branches/Branch_5_x: profileservice/src/main/org/jboss/profileservice/management and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jun 15 07:41:02 EDT 2009


Author: emuckenhuber
Date: 2009-06-15 07:41:02 -0400 (Mon, 15 Jun 2009)
New Revision: 90191

Added:
   branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagedComponentDelegate.java
Modified:
   branches/Branch_5_x/component-matrix/pom.xml
   branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/DelegatingComponentDispatcherImpl.java
   branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagedOperationDelegate.java
   branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagedOperationProxyFactory.java
   branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagedPropertyDelegate.java
   branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java
   branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/PersistedDataSourceUnitTestCase.java
   branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/test/AbstractProfileServiceTest.java
   branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/test/JmsDestinationUnitTestCase.java
Log:
[JBAS-6939] dispatch updating the RunState.

Modified: branches/Branch_5_x/component-matrix/pom.xml
===================================================================
--- branches/Branch_5_x/component-matrix/pom.xml	2009-06-15 11:31:38 UTC (rev 90190)
+++ branches/Branch_5_x/component-matrix/pom.xml	2009-06-15 11:41:02 UTC (rev 90191)
@@ -78,7 +78,7 @@
     <version.org.jboss.ejb3.security.client>1.0.0</version.org.jboss.ejb3.security.client>
     <version.org.jboss.ejb3>1.1.7-alpha-4</version.org.jboss.ejb3>
     <version.org.jboss.ejb3.endpoint.deployer>0.1.4</version.org.jboss.ejb3.endpoint.deployer>
-    <version.org.jboss.integration>5.1.0.GA</version.org.jboss.integration>
+    <version.org.jboss.integration>5.1.0.SP1</version.org.jboss.integration>
     <version.org.jboss.jbossxb>2.0.1.GA</version.org.jboss.jbossxb>
     <version.org.jboss.jopr>1.2.0.GA</version.org.jboss.jopr>    
     <version.org.jboss.jpa>1.0.0</version.org.jboss.jpa>

Modified: branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/DelegatingComponentDispatcherImpl.java
===================================================================
--- branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/DelegatingComponentDispatcherImpl.java	2009-06-15 11:31:38 UTC (rev 90190)
+++ branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/DelegatingComponentDispatcherImpl.java	2009-06-15 11:41:02 UTC (rev 90191)
@@ -21,10 +21,15 @@
  */
 package org.jboss.profileservice.management;
 
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jboss.deployers.spi.management.ContextStateMapper;
 import org.jboss.deployers.spi.management.DelegatingComponentDispatcher;
 import org.jboss.deployers.spi.management.RuntimeComponentDispatcher;
 import org.jboss.managed.api.ManagedOperation;
 import org.jboss.managed.api.ManagedProperty;
+import org.jboss.managed.api.RunState;
 import org.jboss.metatype.api.values.MetaValue;
 
 /**
@@ -39,9 +44,30 @@
    implements DelegatingComponentDispatcher
 {
   
+   /** The state mappings. */
+   private static final ContextStateMapper<RunState> runStateMapper;
+   
    private RuntimeComponentDispatcher dispatcher;
    private ProxyRegistry registry;
 
+   static
+   {
+      // Set default run state mappings for mc beans/mbeans
+      Map<String, RunState> runStateMappings = new HashMap<String, RunState>();
+      runStateMappings.put("**ERROR**", RunState.FAILED);
+      runStateMappings.put("Not Installed", RunState.STOPPED);
+      runStateMappings.put("PreInstall", RunState.STOPPED);
+      runStateMappings.put("Described", RunState.STOPPED);
+      runStateMappings.put("Instantiated", RunState.STOPPED);
+      runStateMappings.put("Configured", RunState.STOPPED);
+      runStateMappings.put("Create", RunState.STOPPED);
+      runStateMappings.put("Start", RunState.STOPPED);
+      runStateMappings.put("Installed", RunState.RUNNING);
+
+      runStateMapper = new ContextStateMapper<RunState>(runStateMappings,
+            RunState.STARTING, RunState.STOPPED, RunState.FAILED, RunState.UNKNOWN);
+   }
+   
    public DelegatingComponentDispatcherImpl(ProxyRegistry registry, RuntimeComponentDispatcher dispatcher)
    {
       this.registry = registry;
@@ -70,6 +96,17 @@
       }
       return result; 
    }
+   
+   public RunState updateRunState(Object componentName)
+   {
+      RunState state = RunState.UNKNOWN;
+      try
+      {
+         state = dispatcher.mapControllerState(componentName, runStateMapper);
+      }
+      catch(Exception ignore) { }
+      return state;
+   }
 
    public static interface ProxyRegistry
    {

Added: branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagedComponentDelegate.java
===================================================================
--- branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagedComponentDelegate.java	                        (rev 0)
+++ branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagedComponentDelegate.java	2009-06-15 11:41:02 UTC (rev 90191)
@@ -0,0 +1,144 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */ 
+package org.jboss.profileservice.management;
+
+import java.lang.annotation.Annotation;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.deployers.spi.management.DelegatingComponentDispatcher;
+import org.jboss.managed.api.ComponentType;
+import org.jboss.managed.api.ManagedCommon;
+import org.jboss.managed.api.ManagedDeployment;
+import org.jboss.managed.api.ManagedOperation;
+import org.jboss.managed.api.ManagedProperty;
+import org.jboss.managed.api.MutableManagedComponent;
+import org.jboss.managed.api.RunState;
+
+/**
+ * A ManagedComponent used to proxy and dispatch the RunState on request.
+ * 
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public class ManagedComponentDelegate implements MutableManagedComponent
+{
+
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 1L;   
+   private Object componentName;
+   private MutableManagedComponent delegate;
+   private DelegatingComponentDispatcher dispatcher;
+   
+   public ManagedComponentDelegate(Object componentName, MutableManagedComponent delegate, DelegatingComponentDispatcher dispatcher)
+   {
+      this.componentName = componentName;
+      this.delegate = delegate;
+      this.dispatcher = dispatcher;
+   }
+   
+   public Map<String, Annotation> getAnnotations()
+   {
+      return delegate.getAnnotations();
+   }
+
+   public ManagedDeployment getDeployment()
+   {
+      return delegate.getDeployment();
+   }
+
+   public RunState getRunState()
+   {
+      return dispatcher.updateRunState(componentName);
+   }
+
+   public void setRunState(RunState runState)
+   {
+      delegate.setRunState(runState);
+   }
+   
+   public ComponentType getType()
+   {
+      return delegate.getType();
+   }
+
+   public boolean update()
+   {
+      return delegate.update();
+   }
+
+   public String getAttachmentName()
+   {
+      return delegate.getAttachmentName();
+   }
+
+   public Object getComponentName()
+   {
+      return delegate.getComponentName();
+   }
+
+   public String getName()
+   {
+      return delegate.getName();
+   }
+
+   public String getNameType()
+   {
+      return delegate.getNameType();
+   }
+
+   public Set<ManagedOperation> getOperations()
+   {
+      return delegate.getOperations();
+   }
+
+   public void setOperations(Set<ManagedOperation> operations)
+   {
+      delegate.setOperations(operations);
+   }
+   
+   public ManagedCommon getParent()
+   {
+      return delegate.getParent();
+   }
+   
+   public ManagedProperty getProperty(String name)
+   {
+      return delegate.getProperty(name);
+   }
+   
+   public Map<String, ManagedProperty> getProperties()
+   {
+      return delegate.getProperties();
+   }
+
+   public void setProperties(Map<String, ManagedProperty> properties)
+   {
+      delegate.setProperties(properties);
+   }
+
+   public Set<String> getPropertyNames()
+   {
+      return delegate.getPropertyNames();
+   }
+
+}

Modified: branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagedOperationDelegate.java
===================================================================
--- branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagedOperationDelegate.java	2009-06-15 11:31:38 UTC (rev 90190)
+++ branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagedOperationDelegate.java	2009-06-15 11:41:02 UTC (rev 90191)
@@ -24,7 +24,6 @@
 import org.jboss.deployers.spi.management.DelegatingComponentDispatcher;
 import org.jboss.managed.api.ManagedOperation;
 import org.jboss.managed.api.ManagedParameter;
-import org.jboss.managed.api.ManagedOperation.Impact;
 import org.jboss.metatype.api.types.MetaType;
 import org.jboss.metatype.api.values.MetaValue;
 
@@ -38,10 +37,10 @@
 {
    /** The serialVersionUID */
    private static final long serialVersionUID = 2031110731596810579L;
+   private long opID;
+   private Object componentName;
    private ManagedOperation delegate;
    private DelegatingComponentDispatcher dispatcherProxy;
-   private Object componentName;
-   private long opID;
 
    public ManagedOperationDelegate(long opID, ManagedOperation delegate, Object componentName,
          DelegatingComponentDispatcher dispatcherProxy)
@@ -61,8 +60,7 @@
 
    public MetaValue invoke(MetaValue... metaValues)
    {
-      MetaValue mvalue = dispatcherProxy.invoke(opID, componentName, delegate.getName(), metaValues);
-      return mvalue;
+      return dispatcherProxy.invoke(opID, componentName, delegate.getName(), metaValues);
    }
 
    public String getDescription()

Modified: branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagedOperationProxyFactory.java
===================================================================
--- branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagedOperationProxyFactory.java	2009-06-15 11:31:38 UTC (rev 90190)
+++ branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagedOperationProxyFactory.java	2009-06-15 11:41:02 UTC (rev 90191)
@@ -39,6 +39,7 @@
 import org.jboss.deployers.spi.management.RuntimeComponentDispatcher;
 import org.jboss.managed.api.ManagedOperation;
 import org.jboss.managed.api.ManagedProperty;
+import org.jboss.managed.api.MutableManagedComponent;
 import org.jboss.profileservice.management.DelegatingComponentDispatcherImpl.ProxyRegistry;
 import org.jboss.remoting.InvokerLocator;
 
@@ -148,6 +149,20 @@
    }
 
    /**
+    * Create a delegating managed component.
+    * 
+    * @param comp the managed component
+    * @return the delegating managed component
+    */
+   public MutableManagedComponent createComponentProxy(MutableManagedComponent comp)
+   {
+      if(comp.getComponentName() == null)
+         return comp;
+      
+      return new ManagedComponentDelegate(comp.getComponentName(), comp, dispatcherProxy);
+   }
+   
+   /**
     * Create managed operations for runtime components, where the invoke() can
     * be invoked on the client side.
     *

Modified: branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagedPropertyDelegate.java
===================================================================
--- branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagedPropertyDelegate.java	2009-06-15 11:31:38 UTC (rev 90190)
+++ branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagedPropertyDelegate.java	2009-06-15 11:41:02 UTC (rev 90191)
@@ -39,18 +39,17 @@
 /**
  * A ManagedProperty delegate used as the target of the ManagedProperty
  * proxies used for runtime managed objects statistics.
+ * 
  * @author Scott.Stark at jboss.org
  * @version $Revision$
  */
 public class ManagedPropertyDelegate implements ManagedProperty
 {
    private final static long serialVersionUID = 1;
+   private long propID;
+   private Object componentName;
    private ManagedProperty delegate;
-   /** The dispatcher handles property get dispatches */
    private DelegatingComponentDispatcher dispatcher;
-   private Object componentName;
-   private long propID;
-
    
    public ManagedPropertyDelegate(long propID, ManagedProperty delegate,
          Object componentName, DelegatingComponentDispatcher dispatcher)
@@ -149,10 +148,7 @@
 
    public MetaValue getValue()
    {
-      String propName = getMappedName();
-      AbstractRuntimeComponentDispatcher.setActiveProperty(delegate);
-      MetaValue propValue = dispatcher.get(propID, componentName, propName);
-      return propValue;
+      return dispatcher.get(propID, componentName, getMappedName());
    }
 
    public Collection<String> getAdminViewUses()
@@ -230,5 +226,4 @@
       delegate.setValue(value);
    }
    
-   
 }

Modified: branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java
===================================================================
--- branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java	2009-06-15 11:31:38 UTC (rev 90190)
+++ branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java	2009-06-15 11:41:02 UTC (rev 90191)
@@ -76,7 +76,6 @@
 import org.jboss.managed.api.annotation.ManagementProperty;
 import org.jboss.managed.api.annotation.ViewUse;
 import org.jboss.managed.api.factory.ManagedObjectFactory;
-import org.jboss.managed.plugins.ManagedComponentImpl;
 import org.jboss.managed.plugins.ManagedDeploymentImpl;
 import org.jboss.managed.plugins.factory.AbstractManagedObjectFactory;
 import org.jboss.managed.plugins.jmx.ManagementFactoryUtils;
@@ -100,7 +99,6 @@
 import org.jboss.profileservice.spi.ManagedMBeanDeploymentFactory.MBeanComponent;
 import org.jboss.profileservice.spi.ManagedMBeanDeploymentFactory.MBeanDeployment;
 import org.jboss.system.server.profileservice.attachments.AttachmentStore;
-import org.jboss.system.server.profileservice.repository.AbstractProfileDeployment;
 
 /**
  * The default ManagementView implementation.
@@ -116,7 +114,6 @@
 public class ManagementViewImpl extends AbstractTemplateCreator implements ManagementView
 {
   
-
    /** The logger. */
    private static Logger log = Logger.getLogger(ManagementViewImpl.class);
    private static final String BUNDLE_NAME = "org.jboss.profileservice.management.messages"; //$NON-NLS-1$
@@ -501,11 +498,9 @@
                      ManagedDeployment md = getManagedDeployment(deployment);
                      processRootManagedDeployment(md, key, trace);
 
-                     // TODO update profileservice-spi
                      // Cache the deployment types
                      if(md.getTypes() != null && md.getTypes().isEmpty() == false)
-                        ((AbstractProfileDeployment)deployment)
-                           .addTransientAttachment(KnownDeploymentTypes.class.getName(), md.getTypes());
+                        deployment.addTransientAttachment(KnownDeploymentTypes.class.getName(), md.getTypes());
                   }
                   catch(DeploymentException e)
                   {
@@ -514,9 +509,8 @@
                      ManagedDeployment md = new ManagedDeploymentImpl(deploymentName,
                            deployment.getRoot().getName());
 
-                     // TODO update profileservice-spi
                      // Try to get the cached deployment type
-                     Collection<String> deploymentTypes = (Collection<String>) ((AbstractProfileDeployment)deployment)
+                     Collection<String> deploymentTypes = (Collection<String>) deployment
                            .getTransientAttachment(KnownDeploymentTypes.class.getName());
 
                      if(deploymentTypes != null)
@@ -654,8 +648,6 @@
       throws Exception
    {
       String key = mo.getName() + "/" + mo.getNameType();
-      if(mo.getName().equals("org.jboss.security.plugins.SecurityConfig"))
-         log.info("Saw SecurityConfig MO");
       log.debug("ID for ManagedObject: "+key+", attachmentName: "+mo.getAttachmentName());
 
       // See if this is a runtime ManagedObject
@@ -749,7 +741,11 @@
       if (mc != null && md.getComponent(mo.getName()) == null)
       {
          ComponentType type = new ComponentType(mc.type(), mc.subtype());
-         ManagedComponentImpl comp = new TempManagedComponentImpl(type, md, mo);
+         MutableManagedComponent comp = new TempManagedComponentImpl(type, md, mo);
+         
+         if(mo.getTransientAttachment(MBeanRuntimeComponentDispatcher.class.getName()) == null)
+            comp = this.proxyFactory.createComponentProxy(comp);
+         
          md.addComponent(mo.getName(), comp);
          log.debug("Processing ManagementComponent("+mo.getName()+"): "+comp);
          Set<ManagedComponent> typeComps = compByCompType.get(type);
@@ -1288,7 +1284,8 @@
       {
          Map<String, ManagedProperty> props = comp.getProperties();
          Set<ManagedOperation> ops = comp.getOperations();
-         log.debug("Component"
+         if(log.isTraceEnabled())
+            log.trace("Component"
                +"(ops.size="
                +ops != null ? ops.size() : 0
                +",props.size=)"
@@ -1312,7 +1309,8 @@
       }
       if(matched.size() > 0)
       {
-         log.debug("getComponents matched: "+matched);
+         if(log.isTraceEnabled())
+            log.trace("getComponents matched: "+matched);
       }
       return matched;
    }
@@ -1332,7 +1330,8 @@
       // Make sure to return a copy to avoid call by reference uses modifying the template values
       DeploymentTemplateInfo info = template.getInfo();
       info = info.copy();
-      log.debug("getTemplate, "+info);
+      if(log.isTraceEnabled())
+         log.trace("getTemplate, "+info);
       return info;
    }
 
@@ -1627,9 +1626,11 @@
          ops = new HashSet<ManagedOperation>(moOps);
       }
 
+      boolean trace = log.isTraceEnabled();
       if (runtimeProps != null && runtimeProps.size() > 0)
       {
-         log.debug("Properties before:"+props);
+         if(trace)
+            log.trace("Properties before:"+props);
          // We need to pull the runtime values for stats
          for(ManagedProperty prop : runtimeProps.values())
          {
@@ -1659,14 +1660,17 @@
                prop.setTargetManagedObject(runtimeMO);
          }
 
-         log.debug("Properties after:"+props);
+         if(trace)
+            log.trace("Properties after:"+props);
       }
       if (runtimeOps != null && runtimeOps.size() > 0)
       {
-         log.debug("Ops before:"+ops);
+         if(trace)
+            log.trace("Ops before:"+ops);
          runtimeOps = createOperationProxies(runtimeMO, runtimeOps);
          ops.addAll(runtimeOps);
-         log.debug("Ops after:"+ops);
+         if(trace)
+            log.trace("Ops after:"+ops);
       }
 
       MutableManagedObject moi = (MutableManagedObject) mo;

Modified: branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/PersistedDataSourceUnitTestCase.java
===================================================================
--- branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/PersistedDataSourceUnitTestCase.java	2009-06-15 11:31:38 UTC (rev 90190)
+++ branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/PersistedDataSourceUnitTestCase.java	2009-06-15 11:41:02 UTC (rev 90191)
@@ -66,8 +66,6 @@
          
          property = mc.getProperty("max-pool-size");
          assertEquals("max-pool-size: "+ property.getValue(), SimpleValueSupport.wrap(34), property.getValue());
-         RunState state = mc.getRunState();
-         assertEquals(RunState.RUNNING, state);
 
          // This should work too
          ManagedComponent comp = getManagedComponent(mgtView, "ChangedDsJNDIName");
@@ -76,6 +74,9 @@
          ManagedComponent mc2 = getManagedComponent(mgtView, "ProfileServiceTestDS");
          assertNull(mc2);
          
+         // Check run state
+         assertEquals("DS is running", RunState.RUNNING, mc.getRunState());
+         
       }
       catch(Exception e)
       {

Modified: branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/test/AbstractProfileServiceTest.java
===================================================================
--- branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/test/AbstractProfileServiceTest.java	2009-06-15 11:31:38 UTC (rev 90190)
+++ branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/test/AbstractProfileServiceTest.java	2009-06-15 11:41:02 UTC (rev 90191)
@@ -35,6 +35,7 @@
 import org.jboss.managed.api.DeploymentTemplateInfo;
 import org.jboss.managed.api.ManagedComponent;
 import org.jboss.managed.api.ManagedProperty;
+import org.jboss.managed.api.annotation.ViewUse;
 import org.jboss.metatype.api.values.MetaValue;
 import org.jboss.metatype.api.values.MetaValueFactory;
 import org.jboss.profileservice.spi.ProfileKey;
@@ -132,6 +133,7 @@
       for(String propName : propValues.keySet())
       {
          ManagedProperty prop = props.get(propName);
+         assertTrue(prop.getName(), prop.hasViewUse(ViewUse.CONFIGURATION));
          log.debug("createComponentTest("+propName+") before: "+prop.getValue());
          assertNotNull("property " + propName + " found in template " + templateName, prop);
          prop.setValue(propValues.get(propName));
@@ -143,7 +145,7 @@
          prop.setRemoved(true);
          log.debug("removed property: "+propName);
       }
-
+      
       mgtView.applyTemplate(deploymentName, info);
       if(processChanges)
       {

Modified: branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/test/JmsDestinationUnitTestCase.java
===================================================================
--- branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/test/JmsDestinationUnitTestCase.java	2009-06-15 11:31:38 UTC (rev 90190)
+++ branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/test/JmsDestinationUnitTestCase.java	2009-06-15 11:41:02 UTC (rev 90191)
@@ -233,16 +233,16 @@
    {
       ManagedComponent component = getManagementView().getComponent("testCreateQueue", QueueType);
       assertEquals(RunState.RUNNING, component.getRunState());
+      // Stop
       ManagedOperation o = getOperation(component, "stop", new String[0]);
       o.invoke(new MetaValue[0]);
-      
-      // TODO this should not require a reload?
-      getManagementView().reload();
-      
-      component = getManagementView().getComponent("testCreateQueue", QueueType);
+      // Check runState dispatching
       assertEquals(RunState.STOPPED, component.getRunState());
+      // Start
       o = getOperation(component, "start", new String[0]);
       o.invoke(new MetaValue[0]);
+      //
+      assertEquals(RunState.RUNNING, component.getRunState());
    }
 
    public void testMultipleQueues() throws Exception




More information about the jboss-cvs-commits mailing list