[jboss-cvs] JBossAS SVN: r102285 - in branches/Branch_Hornet_Temporary_2/hornetq-int/src: main/java/org/jboss/as/integration/hornetq/jopr/util and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Mar 11 07:19:16 EST 2010


Author: ataylor
Date: 2010-03-11 07:19:15 -0500 (Thu, 11 Mar 2010)
New Revision: 102285

Added:
   branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSQueueComponent2.java
   branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSQueueDiscoveryComponent2.java
   branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/AbstractProfileServiceConnection.java
   branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/AbstractProfileServiceConnectionProvider.java
   branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/BasicProfileServiceConnection.java
   branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/LocalProfileServiceConnectionProvider.java
   branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/ProfileServiceConnection.java
   branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/ProfileServiceConnectionProvider.java
   branches/Branch_Hornet_Temporary_2/hornetq-int/src/resources/META-INF/rhq-plugin-orig.xml
Modified:
   branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/QueueManageImplMO.java
   branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/QueueManageMO.java
   branches/Branch_Hornet_Temporary_2/hornetq-int/src/resources/META-INF/rhq-plugin.xml
   branches/Branch_Hornet_Temporary_2/hornetq-int/src/resources/hornetq-deployers-jboss-beans.xml
Log:
temp MO stuff

Added: branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSQueueComponent2.java
===================================================================
--- branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSQueueComponent2.java	                        (rev 0)
+++ branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSQueueComponent2.java	2010-03-11 12:19:15 UTC (rev 102285)
@@ -0,0 +1,61 @@
+package org.jboss.as.integration.hornetq.jopr;
+
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.measurement.AvailabilityType;
+import org.rhq.core.domain.measurement.MeasurementReport;
+import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
+import org.rhq.core.pluginapi.configuration.ConfigurationFacet;
+import org.rhq.core.pluginapi.configuration.ConfigurationUpdateReport;
+import org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException;
+import org.rhq.core.pluginapi.inventory.ResourceComponent;
+import org.rhq.core.pluginapi.inventory.ResourceContext;
+import org.rhq.core.pluginapi.measurement.MeasurementFacet;
+import org.rhq.core.pluginapi.operation.OperationFacet;
+import org.rhq.core.pluginapi.operation.OperationResult;
+
+import java.util.Set;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: andy
+ * Date: 11-Mar-2010
+ * Time: 10:05:08
+ * To change this template use File | Settings | File Templates.
+ */
+public class JMSQueueComponent2 implements ResourceComponent, MeasurementFacet, OperationFacet, ConfigurationFacet
+{
+   public void getValues(MeasurementReport measurementReport, Set<MeasurementScheduleRequest> measurementScheduleRequests) throws Exception
+   {
+      //To change body of implemented methods use File | Settings | File Templates.
+   }
+
+   public OperationResult invokeOperation(String s, Configuration configuration) throws InterruptedException, Exception
+   {
+      return null;  //To change body of implemented methods use File | Settings | File Templates.
+   }
+
+   public AvailabilityType getAvailability()
+   {
+      return null;  //To change body of implemented methods use File | Settings | File Templates.
+   }
+
+   public Configuration loadResourceConfiguration() throws Exception
+   {
+      return null;  //To change body of implemented methods use File | Settings | File Templates.
+   }
+
+   public void updateResourceConfiguration(ConfigurationUpdateReport configurationUpdateReport)
+   {
+      //To change body of implemented methods use File | Settings | File Templates.
+   }
+
+   public void start(ResourceContext resourceContext) throws InvalidPluginConfigurationException, Exception
+   {
+      //To change body of implemented methods use File | Settings | File Templates.
+   }
+
+   public void stop()
+   {
+      //To change body of implemented methods use File | Settings | File Templates.
+   }
+}

Added: branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSQueueDiscoveryComponent2.java
===================================================================
--- branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSQueueDiscoveryComponent2.java	                        (rev 0)
+++ branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/JMSQueueDiscoveryComponent2.java	2010-03-11 12:19:15 UTC (rev 102285)
@@ -0,0 +1,56 @@
+package org.jboss.as.integration.hornetq.jopr;
+
+import org.jboss.as.integration.hornetq.jopr.util.LocalProfileServiceConnectionProvider;
+import org.jboss.as.integration.hornetq.jopr.util.ProfileServiceConnection;
+import org.jboss.as.integration.hornetq.jopr.util.ProfileServiceConnectionProvider;
+import org.jboss.deployers.spi.management.ManagementView;
+import org.jboss.managed.api.ComponentType;
+import org.jboss.managed.api.ManagedComponent;
+import org.jboss.managed.api.ManagedOperation;
+import org.jboss.metatype.api.values.MetaValue;
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.resource.ResourceType;
+import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
+import org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: andy
+ * Date: 10-Mar-2010
+ * Time: 16:11:46
+ * To change this template use File | Settings | File Templates.
+ */
+public class JMSQueueDiscoveryComponent2 implements ResourceDiscoveryComponent
+{
+   public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext resourceDiscoveryContext) throws InvalidPluginConfigurationException, Exception
+   {
+      ProfileServiceConnectionProvider connectionProvider = new LocalProfileServiceConnectionProvider();
+      ProfileServiceConnection connection = connectionProvider.connect();
+      ManagementView managementView = connection.getManagementView();
+      ManagedComponent component = managementView.getComponent("QueueManageMO", new ComponentType("JMSDestinationManage", "QueueManage"));
+      Set<ManagedOperation> operations = component.getOperations();
+      for (ManagedOperation operation : operations)
+      {
+         if (operation.getName().equals("getJMSQueues"))
+         {
+            MetaValue value = operation.invoke();
+            break;
+         }
+      }
+      ResourceType resourceType = resourceDiscoveryContext.getResourceType();
+      Set<DiscoveredResourceDetails> set = new HashSet<DiscoveredResourceDetails>();
+      set.add(new DiscoveredResourceDetails(resourceType,
+          "queue",
+          "queue",
+          "desc",
+          "",
+          new Configuration(),
+          null));
+      return set;
+   }
+}

Added: branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/AbstractProfileServiceConnection.java
===================================================================
--- branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/AbstractProfileServiceConnection.java	                        (rev 0)
+++ branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/AbstractProfileServiceConnection.java	2010-03-11 12:19:15 UTC (rev 102285)
@@ -0,0 +1,39 @@
+package org.jboss.as.integration.hornetq.jopr.util;
+
+import org.jboss.deployers.spi.management.ManagementView;
+import org.jboss.deployers.spi.management.deploy.DeploymentManager;
+import org.jboss.profileservice.spi.ProfileKey;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: andy
+ * Date: 11-Mar-2010
+ * Time: 11:23:07
+ * To change this template use File | Settings | File Templates.
+ */
+public abstract class AbstractProfileServiceConnection implements ProfileServiceConnection {
+    private static final ProfileKey DEFAULT_PROFILE_KEY = new ProfileKey(ProfileKey.DEFAULT);
+
+    private AbstractProfileServiceConnectionProvider connectionProvider;
+
+    protected AbstractProfileServiceConnection(AbstractProfileServiceConnectionProvider connectionProvider) {
+        this.connectionProvider = connectionProvider;
+    }
+
+    public void init() {
+        ManagementView managementView = getManagementView();
+        managementView.load();
+        DeploymentManager deploymentManager = getDeploymentManager();
+        // Load and associate the given profile with the DeploymentManager for future operations. This is mandatory
+        // in order for us to be able to successfully invoke the various DeploymentManager methods.
+        try {
+            deploymentManager.loadProfile(DEFAULT_PROFILE_KEY);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public ProfileServiceConnectionProvider getConnectionProvider() {
+        return this.connectionProvider;
+    }
+}

Added: branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/AbstractProfileServiceConnectionProvider.java
===================================================================
--- branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/AbstractProfileServiceConnectionProvider.java	                        (rev 0)
+++ branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/AbstractProfileServiceConnectionProvider.java	2010-03-11 12:19:15 UTC (rev 102285)
@@ -0,0 +1,64 @@
+package org.jboss.as.integration.hornetq.jopr.util;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import java.util.Properties;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: andy
+ * Date: 11-Mar-2010
+ * Time: 11:25:03
+ * To change this template use File | Settings | File Templates.
+ */
+public abstract class AbstractProfileServiceConnectionProvider implements ProfileServiceConnectionProvider {
+    
+
+    private ProfileServiceConnection existingConnection;
+
+    public final ProfileServiceConnection connect() {
+        this.existingConnection = doConnect();
+        this.existingConnection.init();
+        return this.existingConnection;
+    }
+
+    protected abstract ProfileServiceConnection doConnect();
+
+    public boolean isConnected() {
+        // TODO: Ping the connection to make sure it's not defunct?
+        return (this.existingConnection != null);
+    }
+
+    public final void disconnect() {
+        if (isConnected()) {
+            this.existingConnection = null;
+            doDisconnect();
+        }
+    }
+
+    protected abstract void doDisconnect();
+
+    public ProfileServiceConnection getExistingConnection() {
+        return this.existingConnection;
+    }
+
+    protected InitialContext createInitialContext(Properties env) {
+        InitialContext initialContext;
+        try {
+            initialContext = new InitialContext(env);
+        } catch (NamingException e) {
+            throw new RuntimeException("Failed to create JNDI InitialContext.", e);
+        }
+        return initialContext;
+    }
+
+    protected Object lookup(InitialContext initialContext, String name) {
+        try {
+            Object found = initialContext.lookup(name);
+            return found;
+        } catch (NamingException e) {
+            throw new RuntimeException("Failed to lookup JNDI name '" + name + "' from InitialContext.", e);
+        }
+    }
+}
+

Added: branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/BasicProfileServiceConnection.java
===================================================================
--- branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/BasicProfileServiceConnection.java	                        (rev 0)
+++ branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/BasicProfileServiceConnection.java	2010-03-11 12:19:15 UTC (rev 102285)
@@ -0,0 +1,39 @@
+package org.jboss.as.integration.hornetq.jopr.util;
+
+import org.jboss.deployers.spi.management.ManagementView;
+import org.jboss.deployers.spi.management.deploy.DeploymentManager;
+import org.jboss.profileservice.spi.ProfileService;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: andy
+ * Date: 11-Mar-2010
+ * Time: 11:22:30
+ * To change this template use File | Settings | File Templates.
+ */
+public class BasicProfileServiceConnection extends AbstractProfileServiceConnection {
+    private ProfileService profileService;
+    private ManagementView managementView;
+    private DeploymentManager deploymentManager;
+
+    protected BasicProfileServiceConnection(AbstractProfileServiceConnectionProvider connectionProvider,
+        ProfileService profileService, ManagementView managementView, DeploymentManager deploymentManager) {
+        super(connectionProvider);
+        this.profileService = profileService;
+        this.managementView = managementView;
+        this.deploymentManager = deploymentManager;
+    }
+
+    public ProfileService getProfileService() {
+        return this.profileService;
+    }
+
+    public ManagementView getManagementView() {
+        return this.managementView;
+    }
+
+    public DeploymentManager getDeploymentManager() {
+        return this.deploymentManager;
+    }
+}
+

Added: branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/LocalProfileServiceConnectionProvider.java
===================================================================
--- branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/LocalProfileServiceConnectionProvider.java	                        (rev 0)
+++ branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/LocalProfileServiceConnectionProvider.java	2010-03-11 12:19:15 UTC (rev 102285)
@@ -0,0 +1,31 @@
+package org.jboss.as.integration.hornetq.jopr.util;
+
+import org.jboss.deployers.spi.management.ManagementView;
+import org.jboss.deployers.spi.management.deploy.DeploymentManager;
+import org.jboss.profileservice.spi.ProfileService;
+
+import javax.naming.InitialContext;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: andy
+ * Date: 11-Mar-2010
+ * Time: 11:21:31
+ * To change this template use File | Settings | File Templates.
+ */
+public class LocalProfileServiceConnectionProvider extends AbstractProfileServiceConnectionProvider {
+    private static final String PROFILE_SERVICE_LOCAL_JNDI_NAME = "java:ProfileService";
+
+    protected BasicProfileServiceConnection doConnect()
+    {
+        InitialContext initialContext = createInitialContext(null);
+        ProfileService profileService = (ProfileService) lookup(initialContext, PROFILE_SERVICE_LOCAL_JNDI_NAME);
+        ManagementView managementView = profileService.getViewManager();
+        DeploymentManager deploymentManager = profileService.getDeploymentManager();
+        return new BasicProfileServiceConnection(this, profileService, managementView, deploymentManager);
+    }
+
+    protected void doDisconnect() {
+        return;
+    }
+}

Added: branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/ProfileServiceConnection.java
===================================================================
--- branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/ProfileServiceConnection.java	                        (rev 0)
+++ branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/ProfileServiceConnection.java	2010-03-11 12:19:15 UTC (rev 102285)
@@ -0,0 +1,24 @@
+package org.jboss.as.integration.hornetq.jopr.util;
+
+import org.jboss.deployers.spi.management.ManagementView;
+import org.jboss.deployers.spi.management.deploy.DeploymentManager;
+import org.jboss.profileservice.spi.ProfileService;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: andy
+ * Date: 11-Mar-2010
+ * Time: 11:23:48
+ * To change this template use File | Settings | File Templates.
+ */
+public interface ProfileServiceConnection{
+    void init();
+
+    ProfileServiceConnectionProvider getConnectionProvider();
+
+    ProfileService getProfileService();
+
+    ManagementView getManagementView();
+
+    DeploymentManager getDeploymentManager();
+}

Added: branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/ProfileServiceConnectionProvider.java
===================================================================
--- branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/ProfileServiceConnectionProvider.java	                        (rev 0)
+++ branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/jopr/util/ProfileServiceConnectionProvider.java	2010-03-11 12:19:15 UTC (rev 102285)
@@ -0,0 +1,19 @@
+package org.jboss.as.integration.hornetq.jopr.util;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: andy
+ * Date: 11-Mar-2010
+ * Time: 11:24:14
+ * To change this template use File | Settings | File Templates.
+ */
+public interface ProfileServiceConnectionProvider{
+    boolean isConnected();
+
+    ProfileServiceConnection connect();
+
+    void disconnect();
+
+    ProfileServiceConnection getExistingConnection();
+}
+

Modified: branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/QueueManageImplMO.java
===================================================================
--- branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/QueueManageImplMO.java	2010-03-11 11:53:30 UTC (rev 102284)
+++ branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/QueueManageImplMO.java	2010-03-11 12:19:15 UTC (rev 102285)
@@ -1,5 +1,12 @@
 package org.jboss.as.integration.hornetq.management.jms;
 
+import org.hornetq.api.core.management.ResourceNames;
+import org.hornetq.api.jms.management.JMSServerControl;
+import org.hornetq.core.server.HornetQServer;
+import org.hornetq.core.server.management.ManagementService;
+import org.hornetq.jms.server.JMSServerManager;
+import org.jboss.managed.api.annotation.*;
+
 /**
  * Created by IntelliJ IDEA.
  * User: andy
@@ -7,18 +14,41 @@
  * Time: 14:48:43
  * To change this template use File | Settings | File Templates.
  */
-public class QueueManageImplMO implements QueueManageMO
+ at ManagementObject( componentType = @ManagementComponent(type = "JMSDestinationManage", subtype = "QueueManage"),
+      properties = ManagementProperties.EXPLICIT, isRuntime = true)
+public class QueueManageImplMO
 {
-   public void createQueue(String name, String address, String DLA, String DLQ)
+   private JMSServerControl jmsServerControl;
+   private ManagementService managementService;
+   private HornetQServer server;
+
+   public QueueManageImplMO(HornetQServer server)
    {
+      this.server = server;
+   }
+
+   public void start()
+   {
+      managementService = server.getManagementService();
+      jmsServerControl = (JMSServerControl) managementService.getResource(ResourceNames.JMS_SERVER);
+   }
+   @ManagementOperation(name = "createQueue", description = "Creates a new Queue",
+       params ={
+           @ManagementParameter(name = "name", description = "the queue name"),
+           @ManagementParameter(name = "address", description = "the queue address"),
+           @ManagementParameter(name = "DLA", description = "the dead letter address"),
+           @ManagementParameter(name = "ExpiryAddress", description = "the queue expiry address")
+       })
+   public void createQueue(String name, String address, String DLA, String DLQ) throws Exception
+   {
       //create the queue
-
+      jmsServerControl.createQueue(name, address);
       //update the address settings
    }
-
+   @ManagementOperation(name = "getJMSQueues", description = "returns the JMS Queues")
    public String[] getJMSQueues()
    {
-      return new String[0];  //To change body of implemented methods use File | Settings | File Templates.
+      return jmsServerControl.getQueueNames();
    }
 
    public String getQueueConfiguration(String name)

Modified: branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/QueueManageMO.java
===================================================================
--- branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/QueueManageMO.java	2010-03-11 11:53:30 UTC (rev 102284)
+++ branches/Branch_Hornet_Temporary_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/QueueManageMO.java	2010-03-11 12:19:15 UTC (rev 102285)
@@ -1,7 +1,6 @@
 package org.jboss.as.integration.hornetq.management.jms;
 
-import org.jboss.managed.api.annotation.ManagementObject;
-import org.jboss.managed.api.annotation.ManagementProperties;
+import org.jboss.managed.api.annotation.*;
 
 /**
  * Created by IntelliJ IDEA.
@@ -10,10 +9,18 @@
  * Time: 14:30:39
  * To change this template use File | Settings | File Templates.
  */
- at ManagementObject(isRuntime = true, properties = ManagementProperties.EXPLICIT)
+ at ManagementObject(name = "QueueManageMO", componentType = @ManagementComponent(type = "JMSDestinationManage", subtype = "QueueManage"),
+      properties = ManagementProperties.EXPLICIT, isRuntime = true)
 public interface QueueManageMO
 {
-   void createQueue(String name, String address, String DLA, String ExpiryAddress);
+   @ManagementOperation(name = "createQueue", description = "Creates a new Queue",
+       params ={
+           @ManagementParameter(name = "name", description = "the queue name"),
+           @ManagementParameter(name = "address", description = "the queue address"),
+           @ManagementParameter(name = "DLA", description = "the dead letter address"),
+           @ManagementParameter(name = "ExpiryAddress", description = "the queue expiry address")
+       })
+   void createQueue(String name, String address, String DLA, String ExpiryAddress) throws Exception;
 
    String[] getJMSQueues();
 

Added: branches/Branch_Hornet_Temporary_2/hornetq-int/src/resources/META-INF/rhq-plugin-orig.xml
===================================================================
--- branches/Branch_Hornet_Temporary_2/hornetq-int/src/resources/META-INF/rhq-plugin-orig.xml	                        (rev 0)
+++ branches/Branch_Hornet_Temporary_2/hornetq-int/src/resources/META-INF/rhq-plugin-orig.xml	2010-03-11 12:19:15 UTC (rev 102285)
@@ -0,0 +1,1376 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE plugin [
+
+      <!ENTITY destinationMetrics '
+                 <metric property="Name"
+                 displayName="Name"
+                 description="name of this queue"
+                 dataType="trait" displayType="summary"/>
+                 <metric property="JNDIBinding"
+                 displayName="JNDI Binding"
+                 description="JNDI Binding of this queue"
+                 dataType="trait" displayType="summary"/>
+                 <metric property="Address"
+                 displayName="Address"
+                 description="Address of this queue"
+                 dataType="trait" displayType="summary"/>
+                 <metric property="Address"
+                 displayName="Address"
+                 description="Address of this queue"
+                 dataType="trait" displayType="summary"/>
+                 <metric property="Temporary"
+                 displayName="Temporary"
+                 description="If this queue is Temporary"
+                 dataType="trait" displayType="summary"/>
+                 <metric property="MessageCount"
+                 displayName="Message Count"
+                 description="number of messages currently in this destination"
+                 dataType="trait" displayType="summary"/>
+'>
+      <!ENTITY destinationOperations '
+            <operation name="removeMessages" displayName="remove messages" description="Remove the messages corresponding to the given filter.">
+               <parameters>
+		            <c:simple-property required="false" name="filter" displayName="A message filter"/>
+		        </parameters>
+               <results>
+	                <c:simple-property name="operationResult" type="integer" description="Number of removed messages."/>
+               </results>
+            </operation>
+'>
+      <!ENTITY hornetqcomponentMetrics '
+                 <metric property="Started"
+                 displayName="Started"
+                 description="is this component started"
+                 defaultInterval="10000"
+                 category="availability"
+                 displayType="summary" defaultOn="true"/>
+'>
+      <!ENTITY hornetqcomponentOperations '
+            <operation name="start" displayName="start" description="Starts this HornetQ component.">
+            </operation>
+            <operation name="stop" displayName="stop" description="Stops this HornetQ component.">
+            </operation>
+'>
+      ]>
+<plugin name="HornetQ"
+        displayName="HornetQPlugin"
+        description="Supports management and monitoring of HornetQ Servers"
+        package="org.jboss.as.integration.hornetq.jopr"
+        version="2.1.10"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xmlns="urn:xmlns:rhq-plugin"
+        xmlns:c="urn:xmlns:rhq-configuration">
+
+   <depends plugin="JMX" useClasses="true"/>
+
+      <server name="HornetQ Server"
+            discovery="HornetQServerDiscoveryComponent"
+            class="HornetQServerComponent"
+            singleton="true"
+            supportsManualAdd="true">
+         <subcategories>
+            <subcategory name="JMS"
+                         description="JMS Management">
+            </subcategory>
+            <subcategory name="Core"
+                description="Core Management">
+            </subcategory>
+        </subcategories>
+         <plugin-configuration>
+                <c:simple-property name="connectorAddress" required="false" description="JMX Remoting address of the remote HornetQ Instance (leave blank for InVM)"  />
+                <!-- The template section is only for manual resource additions, and default parameters and the ones presented to the user. -->
+                <c:template name="HornetQRemoteDiscovery" description="The default setup for HornetQ">
+                  <c:simple-property name="connectorAddress" displayName="URL of the remote server using (service:jmx:rmi://127.0.0.1/jndi/rmi://127.0.0.1:1090/jmxconnector)"
+                                     defaultValue="service:jmx:rmi://127.0.0.1/jndi/rmi://127.0.0.1:1090/jmxconnector"/>
+                </c:template>
+         </plugin-configuration>
+         <metric property="hornetqversion"
+                 displayName="HornetQ Version"
+                 description="the HornetQ Version"
+                 dataType="trait" displayType="summary"/>
+         <service name="HornetQ JMS Server Manager"
+            discovery="HornetQDiscoveryComponent"
+            subCategory="JMS"
+            class="HornetQComponent"
+            singleton="true">
+            <plugin-configuration>
+                <c:simple-property name="objectName" default="org.hornetq:module=JMS,type=Server"/>
+            </plugin-configuration>
+            <operation name="createQueue" displayName="Create a JMS Queue" description="Create a JMS Queue.">
+               <parameters>
+		            <c:simple-property required="true" name="queueName" displayName="queue name"/>
+                  <c:simple-property required="true" name="String:jndiBinding" displayName="jndi binding"/>
+		        </parameters>
+               <results><c:simple-property name="operationResult" type="boolean" description="The Outcome of creating the queue."/></results>
+            </operation>
+            <operation name="destroyQueue" displayName="Destroy a JMS Queue" description="Destroy a JMS Queue.">
+               <parameters>
+		            <c:simple-property required="true" name="queueName" displayName="queue name"/>
+		        </parameters>
+               <results><c:simple-property name="operationResult" description="The Outcome of destroying the queue."/></results>
+            </operation>
+            <operation name="createTopic" displayName="Create a JMS Topic" description="Create a JMS Topic.">
+               <parameters>
+		            <c:simple-property required="true" name="topicName" displayName="topic name"/>
+                  <c:simple-property required="true" name="jndiBinding" displayName="jndi binding"/>
+		        </parameters>
+               <results><c:simple-property name="operationResult" description="The Outcome of creating the topic."/></results>
+            </operation>
+            <operation name="destroyTopic" displayName="Destroy a JMS Topic" description="Destroy a JMS Topic.">
+               <parameters>
+		            <c:simple-property required="true" name="topicName" displayName="topic name"/>
+		        </parameters>
+               <results><c:simple-property name="operationResult" description="The Outcome of destroying the topic."/></results>
+            </operation>
+            <operation name="createConnectionFactory" displayName="Create a JMS ConnectionFactory" description="Create a JMS ConnectionFactory.">
+               <parameters>
+		            <c:simple-property required="true" name="name" displayName="connection factory name name"/>
+		            <c:simple-property required="true" name="liveTransportClassName" displayName="the transport class"/>
+		            <c:simple-property required="false" name="liveTransportParams" displayName="comma-separated list of key=value for the transport parameters"/>
+		            <c:simple-property required="false" name="backupTransportClassNames" displayName="the backup transport class"/>
+		            <c:simple-property required="false" name="backupTransportParams" displayName="comma-separated list of key=value for the transport parameters"/>
+		            <c:simple-property required="true" name="jndiBindings" displayName="comma-separated list of JNDI bindings"/>
+		        </parameters>
+            </operation>
+            <operation name="createConnectionFactory2,operation=createConnectionFactory" displayName="Create a JMS ConnectionFactory that uses discovery" description="Create a JMS ConnectionFactory that uses discovery.">
+               <parameters>
+		            <c:simple-property required="true" name="name" displayName="connection factory name name"/>
+		            <c:simple-property required="true" name="discoveryAddress" displayName="the discovery address of the server to connect to"/>
+		            <c:simple-property required="true" name="discoveryPort" displayName="the discovery port of the server to connect to"/>
+		            <c:simple-property required="true" name="jndiBindings" displayName="comma-separated list of JNDI bindings"/>
+		        </parameters>
+            </operation>
+            <operation name="listRemoteAddresses,result=String[]" displayName="List Remote Addresses" description="List all remote addresses connected to HornetQ.">
+               <results>
+                  <c:list-property name="result">
+	                    <c:map-property required="false" name="element">
+	                       <c:simple-property type="string" name="value"/>
+	                    </c:map-property>
+	                </c:list-property>
+               </results>
+            </operation>
+            <operation name="listRemoteAddresses2,operation=listRemoteAddresses,result=String[]" displayName="List Remote Addresses" description="List all remote addresses connected to HornetQ that match an ip address.">
+               <parameters>
+		            <c:simple-property required="true" name="ipAddress" displayName="The IP Address"/>
+		         </parameters>
+               <results>
+	                <c:list-property name="result">
+	                    <c:map-property required="false" name="element">
+	                       <c:simple-property type="string" name="value"/>
+	                    </c:map-property>
+	                </c:list-property>
+               </results>
+            </operation>
+            <operation name="closeConnectionsForAddress" displayName="Close Connection" description="Closes all the connections for the given IP Address.">
+               <parameters>
+		            <c:simple-property required="true" name="ipAddress" displayName="The IP Address"/>
+		         </parameters>
+               <results><c:simple-property name="operationResult" type="boolean" description="The Outcome of closing the connection."/></results>
+            </operation>
+            <operation name="listConnectionIDs,result=String[]" displayName="List connections" description="List all the connection IDs.">
+               <results>
+	                <c:list-property name="result">
+	                    <c:map-property required="false" name="element">
+	                       <c:simple-property type="string" name="value"/>
+	                    </c:map-property>
+	                </c:list-property>
+               </results>
+            </operation>
+            <operation name="listSessions,result=String[]" displayName="List sessions" description="List the sessions for the given connectionID.">
+               <parameters>
+		            <c:simple-property required="true" name="connectionID" displayName="The Connection ID"/>
+		         </parameters>
+               <results>
+	                <c:list-property name="result">
+	                    <c:map-property required="false" name="element">
+	                       <c:simple-property type="string" name="value"/>
+	                    </c:map-property>
+	                </c:list-property>
+               </results>
+            </operation>
+            <metric property="Started"
+                 displayName="HornetQ Started"
+                 description="Is the JMSServer Started"
+                 dataType="trait" displayType="summary"/>
+            <metric property="Version"
+                 displayName="HornetQ Version"
+                 description="The Version of the HornetQ JMS Server"
+                 dataType="trait" displayType="summary"/>
+            <metric property="TopicNames"
+                 displayName="Topics"
+                 description="The available topics"
+                 dataType="trait" displayType="summary"/>
+            <metric property="QueueNames"
+                 displayName="Queues"
+                 description="The available queues"
+                 dataType="trait" displayType="summary"/>
+            <metric property="ConnectionFactoryNames"
+                 displayName="Connection Factories"
+                 description="The available connection factories"  category="availability"
+                 dataType="trait" displayType="summary"/>
+         </service>
+
+         <service name="Queues"
+                  discovery="HornetQDiscoveryComponent"
+                  subCategory="JMS"
+                  class="HornetQComponent">
+            <plugin-configuration>
+                <c:simple-property name="objectName" default="org.hornetq:module=JMS,type=Queue"/>
+                <c:simple-property name="resourceNameProperty" default="name"/>
+                <c:simple-property name="searchString" default="name=*"/>
+            </plugin-configuration>
+            &destinationOperations;
+            <operation name="listMessages,result=JMSMessage" displayName="list all the messages" description="list all the messages.">
+               <parameters>
+		            <c:simple-property required="false" name="filter" displayName="A JMS message filter (can be empty)"/>
+		        </parameters>
+               <results>
+	                <c:list-property name="result">
+	                    <c:map-property required="false" name="element">
+	                       <c:simple-property type="string" name="JMSMessageID"/>
+	                       <c:simple-property type="long" required="false" name="JMSTimestamp"/>
+                          <c:simple-property type="long" required="false" name="JMSExpiration"/>
+                          <c:simple-property type="string" required="false" name="JMSDeliveryMode"/>
+                          <c:simple-property type="string" name="JMSMessageID"/>
+	                    </c:map-property>
+	                </c:list-property>
+               </results>
+            </operation>
+            <operation name="countMessages" displayName="list all the messages" description="Returns the number of the messages in the queue matching the given filter.">
+               <parameters>
+		            <c:simple-property required="false" name="selector" displayName="the selector"/>
+		        </parameters>
+               <results>
+	                <c:simple-property name="operationResult" type="integer" description="Number of the messages in the queue matching the given filter."/>
+               </results>
+            </operation>
+            <operation name="removeMessage" displayName="remove message" description="Remove the message corresponding to the given messageID.">
+               <parameters>
+		            <c:simple-property required="true" name="messageID" displayName="The message ID"/>
+		        </parameters>
+               <results>
+	                <c:simple-property name="operationResult" type="boolean" description="Was the message removed."/>
+               </results>
+            </operation>
+            <operation name="expireMessages" displayName="expire messages" description="Expires the messages corresponding to the given filter.">
+               <parameters>
+		            <c:simple-property required="false" name="filter" displayName="A message filter"/>
+		        </parameters>
+               <results>
+	                <c:simple-property name="operationResult" type="integer" description="Number of expired messages."/>
+               </results>
+            </operation>
+            <operation name="expireMessage" displayName="expire message" description="Expire the message corresponding to the given messageID.">
+               <parameters>
+		            <c:simple-property required="true" name="messageID" displayName="The message ID"/>
+		        </parameters>
+               <results>
+	                <c:simple-property name="operationResult" type="boolean" description="Was the message removed."/>
+               </results>
+            </operation>
+            <operation name="sendMessageToDeadLetterAddress" displayName="send message to dead letter address" description="Send the message corresponding to the given messageID to this queue's Dead Letter Address.">
+               <parameters>
+		            <c:simple-property required="true" name="messageID" displayName="The message ID"/>
+		        </parameters>
+               <results>
+	                <c:simple-property name="operationResult" type="boolean" description="Was the message sent."/>
+               </results>
+            </operation>
+            <operation name="sendMessagesToDeadLetterAddress" displayName="send messages to dead letter address" description="Send the messages corresponding to the given filter to this queue's Dead Letter Address.">
+               <parameters>
+		            <c:simple-property required="false" name="filterStr" displayName="A message filter"/>
+		        </parameters>
+               <results>
+	                <c:simple-property name="operationResult" type="integer" description="Number of expired messages."/>
+               </results>
+            </operation>
+            <operation name="changeMessagePriority" displayName="change message priority" description="Change the priority of the message corresponding to the given messageID.">
+               <parameters>
+		            <c:simple-property required="true" name="messageID" displayName="A message ID"/>
+                  <c:simple-property required="true" type="integer" name="int:newPriority" displayName="the new priority (between 0 and 9)"/>
+		        </parameters>
+               <results>
+	                <c:simple-property name="operationResult" type="boolean" description="True if priority set."/>
+               </results>
+            </operation>
+            <operation name="changeMessagesPriority" displayName="change messages priority" description="Change the priority of the messages corresponding to the given filter.">
+               <parameters>
+		            <c:simple-property required="false" name="filter" displayName="A message filter"/>
+                  <c:simple-property required="true" type="integer" name="int:newPriority" displayName="the new priority (between 0 and 9)"/>
+		        </parameters>
+               <results>
+	                <c:simple-property name="operationResult" type="integer" description="Number of messages reset with priority."/>
+               </results>
+            </operation>
+            <operation name="moveMessage" displayName="move message" description="Move the message corresponding to the given messageID to another queue.">
+               <parameters>
+		            <c:simple-property required="true" name="messageID" displayName="A message ID"/>
+                  <c:simple-property required="true" name="otherQueueName" displayName="The name of the queue to move the message to"/>
+		        </parameters>
+               <results>
+	                <c:simple-property name="operationResult" type="boolean" description="True if message moved."/>
+               </results>
+            </operation>
+            <operation name="moveMessages" displayName="move messages" description="Move the messages corresponding to the given filter.">
+               <parameters>
+		            <c:simple-property required="false" name="filter" displayName="the filter"/>
+                  <c:simple-property required="true" name="otherQueueName" displayName="The name of the queue to move the message to"/>
+		        </parameters>
+               <results>
+	                <c:simple-property name="operationResult" type="boolean" description="True if message moved."/>
+               </results>
+            </operation>
+            <operation name="listMessageCounter" displayName="list message counter" description="List the message counters.">
+               <results>
+	                <c:simple-property name="operationResult"  description="Message Counters."/>
+               </results>
+            </operation>
+            <operation name="resetMessageCounter" displayName="reset message counters" description="Reset the message counters.">
+            </operation>
+            <operation name="listMessageCounterAsHTML" displayName="list message counter in HTML" description="List the message counters in HTML.">
+               <results>
+	                <c:simple-property name="operationResult"  description="Message Counters."/>
+               </results>
+            </operation>
+            <operation name="listMessageCounterHistory" displayName="list message counter history" description="List the message counters history.">
+               <results>
+	                <c:simple-property name="operationResult"  description="Message Counter history."/>
+               </results>
+            </operation>
+            <operation name="listMessageCounterHistoryAsHTML" displayName="list message counter history in HTML" description="List the message counters history in HTML.">
+               <results>
+	                <c:simple-property name="operationResult"  description="Message Counter history."/>
+               </results>
+            </operation>
+            <operation name="pause" displayName="pause the queue" description="Pause the queue.">
+            </operation>
+            <operation name="resume" displayName="resume the queue" description="Resume the queue.">
+            </operation>
+            &destinationMetrics;
+            <metric property="ScheduledCount"
+                 displayName="Scheduled Count"
+                 description="number of scheduled messages in this queue"
+                 dataType="measurement" displayType="summary"/>
+            <metric property="ConsumerCount"
+                 displayName="Consumer Count"
+                 description="number of consumers consuming messages from this queue"
+                 dataType="measurement" displayType="summary"/>
+            <metric property="DeliveringCount"
+                 displayName="Delivering Count"
+                 description="number of messages that this queue is currently delivering to its consumers"
+                 dataType="measurement" displayType="summary"/>
+            <metric property="MessagesAdded"
+                 displayName="Messages Added"
+                 description="number of messages added to this queue since it was created"
+                 dataType="measurement" displayType="summary"/>
+            <metric property="Paused"
+                 displayName="paused"
+                 description="Is the queue currently paused"
+                 dataType="trait" displayType="summary"/>
+            <resource-configuration>
+               <c:group name="HornetQCustomProperties" displayName="Advanced">
+                  <c:simple-property name="ExpiryAddress" displayName="Expiry Address"/>
+                  <c:simple-property name="DeadLetterAddress" displayName="Dead Letter Address"/>
+               </c:group>
+            </resource-configuration>
+         </service>
+         <service name="Topics"
+                  discovery="HornetQDiscoveryComponent"
+                  subCategory="JMS"
+                  class="HornetQComponent">
+            <plugin-configuration>
+                <c:simple-property name="objectName" default="org.hornetq:module=JMS,type=Topic"/>
+                <c:simple-property name="resourceNameProperty" default="name"/>
+                <c:simple-property name="searchString" default="name=*"/>
+            </plugin-configuration>
+            &destinationOperations;
+            <operation name="listAllSubscriptions,result=SubscriptionInfo" displayName="list all subscriptions" description="Lists all the subscriptions for this topic (both durable and non-durable).">
+               <results>
+	                <c:list-property name="result">
+	                    <c:map-property required="false" name="element">
+	                       <c:simple-property type="string" name="name"/>
+	                       <c:simple-property type="string" required="false" name="clientID"/>
+                          <c:simple-property type="string" required="false" name="subName"/>
+                          <c:simple-property type="boolean" required="false" name="durable"/>
+                          <c:simple-property type="integer" name="messageCount"/>
+                          <c:simple-property type="string" name="filter"/>
+	                    </c:map-property>
+	                </c:list-property>
+               </results>
+            </operation>
+            <operation name="listDurableSubscriptions,result=SubscriptionInfo" displayName="list all durable subscriptions" description="Lists all the durable subscriptions for this topic.">
+               <results>
+	                <c:list-property name="result">
+	                    <c:map-property required="false" name="element">
+	                       <c:simple-property type="string" name="name"/>
+	                       <c:simple-property type="string" required="false" name="clientID"/>
+                          <c:simple-property type="string" required="false" name="subName"/>
+                          <c:simple-property type="boolean" required="false" name="durable"/>
+                          <c:simple-property type="integer" name="messageCount"/>
+                          <c:simple-property type="string" name="filter"/>
+	                    </c:map-property>
+	                </c:list-property>
+               </results>
+            </operation>
+            <operation name="listNonDurableSubscriptions,result=SubscriptionInfo" displayName="list all non durable subscriptions" description="Lists all the non-durable subscriptions for this topic.">
+               <results>
+	                <c:list-property name="result">
+	                    <c:map-property required="false" name="element">
+	                       <c:simple-property type="string" name="name"/>
+	                       <c:simple-property type="string" required="false" name="clientID"/>
+                          <c:simple-property type="string" required="false" name="subName"/>
+                          <c:simple-property type="boolean" required="false" name="durable"/>
+                          <c:simple-property type="integer" name="messageCount"/>
+                          <c:simple-property type="string" name="filter"/>
+	                    </c:map-property>
+	                </c:list-property>
+               </results>
+            </operation>
+            <operation name="listMessagesForSubscription,result=JMSMessage" displayName="list all the messages" description="list all the messages.">
+               <parameters>
+		            <c:simple-property required="true" name="queueName" displayName="the name of the queue representing a subscription"/>
+		        </parameters>
+               <results>
+	                <c:list-property name="result">
+	                    <c:map-property required="false" name="element">
+	                       <c:simple-property type="string" name="JMSMessageID"/>
+	                       <c:simple-property type="long" required="false" name="JMSTimestamp"/>
+                          <c:simple-property type="long" required="false" name="JMSExpiration"/>
+                          <c:simple-property type="string" required="false" name="JMSDeliveryMode"/>
+                          <c:simple-property type="string" name="JMSMessageID"/>
+	                    </c:map-property>
+	                </c:list-property>
+               </results>
+            </operation>
+            <operation name="countMessagesForSubscription" displayName="list messages for subscription" description="Count the number of messages matching the filter for the given subscription.">
+               <parameters>
+		            <c:simple-property required="true" name="clientID" displayName="the client ID"/>
+                  <c:simple-property required="true" name="subscriptionName" displayName="the name of the durable subscription"/>
+                  <c:simple-property required="false" name="filter" displayName="a JMS filter (can be empty)"/>
+		        </parameters>
+               <results>
+	                <c:simple-property name="operationResult"  description="Message Subscriptions."/>
+               </results>
+            </operation>
+            <operation name="dropDurableSubscription" displayName="Drop durable subscription" description="Drop a durable subscription.">
+               <parameters>
+		            <c:simple-property required="true" name="clientID" displayName="the client ID"/>
+                  <c:simple-property required="true" name="subscriptionName" displayName="the name of the durable subscription"/>
+		        </parameters>
+            </operation>
+            <operation name="dropAllSubscriptions" displayName="Drop all durable subscriptions" description="Drop all durable subscription.">
+            </operation>
+            &destinationMetrics;
+            <metric property="SubscriptionCount"
+                 displayName="Subscription Count"
+                 description="number of (durable and non-durable) subscribers for this topic"
+                 dataType="measurement" displayType="summary"/>
+            <metric property="DurableSubscriptionCount"
+                 displayName="Durable Subscription Count"
+                 description="number of durable subscribers for this topic"
+                 dataType="measurement" displayType="summary"/>
+            <metric property="NonDurableSubscriptionCount"
+                 displayName="Non Durable Subscription Count"
+                 description="number of non-durable subscribers for this topic"
+                 dataType="measurement" displayType="summary"/>
+            <metric property="DurableMessageCount"
+                 displayName="Durable Message Count"
+                 description="number of messages for all durable subscribers for this topic"
+                 dataType="measurement" displayType="summary"/>
+            <metric property="NonDurableMessageCount"
+                 displayName="Non Durable Message Count"
+                 description="number of messages for all non-durable subscribers for this topic"
+                 dataType="measurement" displayType="summary"/>
+         </service>
+         <service name="ConnectionFactories"
+                  discovery="HornetQDiscoveryComponent"
+                  subCategory="JMS"
+                  class="HornetQComponent">
+            <plugin-configuration>
+                <c:simple-property name="objectName" default="org.hornetq:module=JMS,type=ConnectionFactory"/>
+                <c:simple-property name="resourceNameProperty" default="name"/>
+                <c:simple-property name="searchString" default="name=*"/>
+            </plugin-configuration>
+            <metric property="Name"
+                 displayName="Name"
+                 description="Name of the connection factory"
+                 dataType="trait" displayType="summary"/>
+            <metric property="Bindings"
+                 displayName="Bindings"
+                 description="the connection factory bindings"
+                 dataType="trait" displayType="summary"/>
+            <metric property="StaticConnectors"
+                 displayName="Static Connectors"
+                 description="the connection factory connectors"
+                 dataType="trait" displayType="summary"/>
+               <resource-configuration>
+                  <c:group name="HornetQCustomProperties" displayName="Advanced">
+                     <c:simple-property name="DiscoveryAddress" required="false" displayName="Discovery Address"/>
+                     <c:simple-property name="DiscoveryPort" type="integer" displayName="Discovery Port"/>
+                     <c:simple-property name="DiscoveryRefreshTimeout" type="long" displayName="Discovery Refresh Timeout"/>
+                     <c:simple-property name="DiscoveryInitialWaitTimeout" type="long" displayName="Discovery Initial Wait Timeout"/>
+                     <c:simple-property name="ClientID" required="false" displayName="Client ID"/>
+                     <c:simple-property name="DupsOKBatchSize" type="integer" displayName="Dups OK Batch Size"/>
+                     <c:simple-property name="TransactionBatchSize" type="integer" displayName="Transaction Batch Size"/>
+                     <c:simple-property name="ClientFailureCheckPeriod" type="long" displayName="Client Failure Check Period"/>
+                     <c:simple-property name="ConnectionTTL" type="long" displayName="Connection TTL"/>
+                     <c:simple-property name="CallTimeout" type="long" displayName="Call Timeout"/>
+                     <c:simple-property name="ConsumerWindowSize" type="integer" displayName="Consumer Window Size"/>
+                     <c:simple-property name="ConsumerMaxRate" type="integer" displayName="Consumer Max Rate"/>
+                     <c:simple-property name="ConfirmationWindowSize" type="integer" displayName="Confirmation Window Size"/>
+                     <c:simple-property name="ProducerMaxRate" type="integer" displayName="Producer Max Rate"/>
+                     <c:simple-property name="ProducerWindowSize" type="integer" displayName="Producer Window Size"/>
+                     <c:simple-property name="CacheLargeMessagesClient" type="boolean" displayName="Cache Large Messages Client"/>
+                     <c:simple-property name="MinLargeMessageSize" type="integer" displayName="Min Large Message Size"/>
+                     <c:simple-property name="BlockOnNonDurableSend" type="boolean" displayName="Block On Non Durable Send"/>
+                     <c:simple-property name="BlockOnAcknowledge" type="boolean" displayName="Block On Acknowledge"/>
+                     <c:simple-property name="BlockOnDurableSend" type="boolean" displayName="Block On Durable Send"/>
+                     <c:simple-property name="AutoGroup" type="boolean" displayName="Auto Group"/>
+                     <c:simple-property name="PreAcknowledge" type="boolean" displayName="Pre Acknowledge"/>
+                     <c:simple-property name="MaxRetryInterval" type="long" displayName="Max Retry Interval"/>
+                     <c:simple-property name="RetryIntervalMultiplier" type="double" displayName="Retry Interval Multiplier"/>
+                     <c:simple-property name="ReconnectAttempts" type="integer" displayName="Reconnect Attempts"/>
+                     <c:simple-property name="FailoverOnServerShutdown" type="boolean" displayName="Failover On Server Shutdown"/>
+                     <c:simple-property name="ScheduledThreadPoolMaxSize" type="integer" displayName="Scheduled Thread Pool Max Size"/>
+                     <c:simple-property name="ThreadPoolMaxSize" type="integer" displayName="Thread Pool Max Size"/>
+                     <c:simple-property name="GroupID" required="false" displayName="Group ID"/>
+                     <c:simple-property name="InitialMessagePacketSize" type="integer" displayName="Initial Message Packet Size"/>
+                     <c:simple-property name="UseGlobalPools" type="boolean" displayName="Use Global Pools"/>
+                     <c:simple-property name="RetryInterval" type="long" displayName="Retry Interval"/>
+                     <c:simple-property name="ConnectionLoadBalancingPolicyClassName" displayName="Connection Load Balancing Policy Class Name"/>
+                  </c:group>
+               </resource-configuration>
+         </service>
+         <service name="HornetQ Server Manager"
+            discovery="HornetQDiscoveryComponent"
+            subCategory="Core"
+            class="HornetQComponent"
+            singleton="true">
+            <plugin-configuration>
+                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=Server"/>
+            </plugin-configuration>
+            <operation name="createQueue" displayName="Create a Queue" description="Creates a new Queue.">
+               <parameters>
+		            <c:simple-property required="true" name="address" displayName="address"/>
+                  <c:simple-property required="true" name="name" displayName="name"/>
+		        </parameters>
+            </operation>
+            <operation name="createQueue2,operation=createQueue" displayName="Create a Queue with filter" description="Creates a new Queue with a given filter.">
+               <parameters>
+		            <c:simple-property required="true" name="address" displayName="address"/>
+                  <c:simple-property required="true" name="name" displayName="name"/>
+		            <c:simple-property required="true" name="filter" displayName="filter"/>
+                  <c:simple-property required="true" type="boolean" name="boolean:durable" displayName="durable"/>
+		        </parameters>
+            </operation>
+            <operation name="createQueue3,operation=createQueue" displayName="Create a durable Queue" description="Creates a new Queue passing in its durability.">
+               <parameters>
+		            <c:simple-property required="true" name="address" displayName="address"/>
+                  <c:simple-property required="true" name="name" displayName="name"/>
+                  <c:simple-property required="true" type="boolean" name="boolean:durable" displayName="durable"/>
+		        </parameters>
+            </operation>
+            <operation name="deployQueue2,operation=deployQueue" displayName="Deploys a Queue with filter" description="Deploys a Queue.">
+               <parameters>
+		            <c:simple-property required="true" name="address" displayName="address"/>
+                  <c:simple-property required="true" name="name" displayName="name"/>
+		            <c:simple-property required="false"  name="filter" displayName="filter"/>
+		        </parameters>
+            </operation>
+            <operation name="deployQueue" displayName="Deploy a Queue with filter and durability" description="Deploys a Queue with a filter and durability.">
+               <parameters>
+		            <c:simple-property required="true" name="address" displayName="address"/>
+                  <c:simple-property required="true" name="name" displayName="name"/>
+		            <c:simple-property required="false" name="filter" displayName="filter"/>
+                  <c:simple-property required="true" type="boolean" name="boolean:durable" displayName="durable"/>
+		        </parameters>
+            </operation>
+            <operation name="destroyQueue" displayName="Destroys a Queue" description="Destroys a Queue.">
+               <parameters>
+                  <c:simple-property required="true" name="name" displayName="name"/>
+		        </parameters>
+            </operation>
+            <operation name="enableMessageCounters" displayName="Enable message counters" description="Enable message counters.">
+            </operation>
+            <operation name="disableMessageCounters" displayName="Disable message counters" description="Disable message counters.">
+            </operation>
+            <operation name="resetAllMessageCounters" displayName="Reset all  message counters" description="Reset all  message counters.">
+            </operation>
+            <operation name="resetAllMessageCounterHistories" displayName="Reset all  message counters history" description="Reset all  message counters history.">
+            </operation>
+            <operation name="listPreparedTransactions,result=string[]" displayName="List all prepared transactions" description="List all the prepared transaction, sorted by date, oldest first.">
+               <results>
+	                <c:list-property name="result">
+	                    <c:map-property required="false" name="element">
+	                       <c:simple-property type="string" name="value"/>
+	                    </c:map-property>
+	                </c:list-property>
+               </results>
+            </operation>
+            <operation name="listHeuristicCommittedTransactions,result=string[]" displayName="List heuristically committed transactions" description="List transactions which have been heuristically committed.">
+               <results>
+	                <c:list-property name="result">
+	                    <c:map-property required="false" name="element">
+	                       <c:simple-property type="string" name="value"/>
+	                    </c:map-property>
+	                </c:list-property>
+               </results>
+            </operation>
+            <operation name="listHeuristicRolledBackTransactions,result=string[]" displayName="List heuristically rolled back transactions" description="List transactions which have been heuristically rolled back.">
+               <results>
+	                <c:list-property name="result">
+	                    <c:map-property required="false" name="element">
+	                       <c:simple-property type="string" name="value"/>
+	                    </c:map-property>
+	                </c:list-property>
+               </results>
+            </operation>
+            <operation name="commitPreparedTransaction" displayName="Commit a prepared transaction" description="Commit a prepared transaction.">
+               <parameters>
+                  <c:simple-property required="true" name="transactionAsBase64" displayName="transaction As Base64"/>
+		        </parameters>
+               <results>
+                  <c:simple-property name="operationResult" type="boolean" displayName="Whether the tx was commited"/>
+               </results>
+            </operation>
+            <operation name="rollbackPreparedTransaction" displayName="Rollback a prepared transaction" description="Rollback a prepared transaction.">
+               <parameters>
+                  <c:simple-property required="true" name="transactionAsBase64" displayName="transaction As Base64"/>
+		         </parameters>
+               <results>
+                  <c:simple-property name="operationResult" type="boolean" displayName="Whether the tx was commited"/>
+               </results>
+            </operation>
+            <operation name="listRemoteAddresses,result=string[]" displayName="Lists the addresses" description="Lists the addresses of all the clients connected to this address.">
+               <results>
+	                <c:list-property name="result">
+	                    <c:map-property required="false" name="element">
+	                       <c:simple-property type="string" name="value"/>
+	                    </c:map-property>
+	                </c:list-property>
+               </results>
+            </operation>
+            <operation name="listRemoteAddresses2,operation=listRemoteAddresses,result=string[]" displayName="Lists the addresses with ip address" description="Lists the addresses a specified ip address connected to this address.">
+              <parameters>
+                  <c:simple-property required="true" name="ipAddress" displayName="ip address"/>
+		        </parameters>
+               <results>
+	                <c:list-property name="result">
+	                    <c:map-property required="false" name="element">
+	                       <c:simple-property type="string" name="value"/>
+	                    </c:map-property>
+	                </c:list-property>
+               </results>
+            </operation>
+            <operation name="closeConnectionsForAddress" displayName="Closes Connections" description="Closes all the connections for the given IP Address.">
+              <parameters>
+                  <c:simple-property required="true" name="ipAddress" displayName="ip address"/>
+		        </parameters>
+               <results>
+	                <c:simple-property name="operationResult"  description="Connection Closed."/>
+               </results>
+            </operation>
+            <operation name="listConnectionIDs,result=string[]" displayName="List connection IDs" description="List all the connection IDs.">
+               <results>
+	                <c:list-property name="result">
+	                    <c:map-property required="false" name="element">
+	                       <c:simple-property type="string" name="value"/>
+	                    </c:map-property>
+	                </c:list-property>
+               </results>
+            </operation>
+            <operation name="listSessions,result=string[]" displayName="List sessions" description="List the sessions for the given connectionID.">
+              <parameters>
+                  <c:simple-property required="true" name="connectionID" displayName="connection ID"/>
+		        </parameters>
+               <results>
+	                <c:list-property name="result">
+	                    <c:map-property required="false" name="element">
+	                       <c:simple-property type="string" name="value"/>
+	                    </c:map-property>
+	                </c:list-property>
+               </results>
+            </operation>
+            <metric property="Started"
+                 displayName="HornetQ Started"
+                 description="Is the JMSServer Started"
+                 dataType="trait" displayType="summary"
+                 category="availability"/>
+            <metric property="Version"
+                 displayName="HornetQ Version"
+                 description="The Version of the HornetQ JMS Server"
+                 dataType="trait" displayType="summary"/>
+            <metric property="BackupConnectorName"
+                 displayName="Backup Connector Name"
+                 description="name of the connector used to connect to the backup"
+                 dataType="trait" displayType="summary"/>
+            <metric property="ConnectionCount"
+                 displayName="Connection Count"
+                 description="number of connections connected to this server"
+                 dataType="measurement" displayType="summary"/>
+            <metric property="InterceptorClassNames"
+                 displayName="Interceptor Class Names"
+                 description="the list of interceptors used by this server"
+                 dataType="trait" displayType="summary"/>
+            <metric property="Clustered"
+                 displayName="Clustered"
+                 description="whether this server is clustered"
+                 dataType="trait" displayType="summary"/>
+            <metric property="ScheduledThreadPoolMaxSize"
+                 displayName="Scheduled Thread Pool Max Size"
+                 description="the maximum number of threads in the scheduled thread pool"
+                 dataType="trait" displayType="summary"/>
+            <metric property="ThreadPoolMaxSize"
+                 displayName="Thread Pool Max Size"
+                 description="the maximum number of threads in the thread pool"
+                 dataType="trait" displayType="summary"/>
+            <metric property="SecurityInvalidationInterval"
+                 displayName="Security Invalidation Interval"
+                 description="the interval time (in milliseconds) to invalidate security credentials"
+                 dataType="trait" displayType="summary"/>
+            <metric property="SecurityEnabled"
+                 displayName="Security Enabled"
+                 description="whether security is enabled for this server"
+                 dataType="trait" displayType="summary"/>
+            <metric property="BindingsDirectory"
+                 displayName="Bindings Directory"
+                 description="the file system directory used to store bindings"
+                 dataType="trait" displayType="summary"/>
+            <metric property="JournalDirectory"
+                 displayName="Journal Directory"
+                 description="the file system directory used to store journal log"
+                 dataType="trait" displayType="summary"/>
+            <metric property="JournalType"
+                 displayName="Journal Type"
+                 description=" used by this server (either NIO or ASYNCIO)."
+                 dataType="trait" displayType="summary"/>
+            <metric property="JournalSyncTransactional"
+                 displayName="Journal Sync Transactional"
+                 description="whether the journal is synchronized when receiving transactional data"
+                 dataType="trait" displayType="summary"/>
+            <metric property="JournalSyncNonTransactional"
+                 displayName="Journal Sync Non Transactional"
+                 description="whether the journal is synchronized when receiving non-transactional data"
+                 dataType="trait" displayType="summary"/>
+            <metric property="JournalFileSize"
+                 displayName="Journal File Size"
+                 description="the size (in bytes) of each journal files"
+                 dataType="trait" displayType="summary"/>
+            <metric property="JournalMinFiles"
+                 displayName="Journal Min Files"
+                 description="the number of journal files to pre-create"
+                 dataType="trait" displayType="summary"/>
+            <metric property="JournalMaxIO"
+                 displayName="Journal Max IO"
+                 description="the maximum number of write requests that can be in the AIO queue at any given time"
+                 dataType="trait" displayType="summary"/>
+            <metric property="JournalBufferSize"
+                 displayName="Journal Buffer Size"
+                 description="the size of the internal buffer on the journal"
+                 dataType="trait" displayType="summary"/>
+            <metric property="JournalBufferTimeout"
+                 displayName="Journal Buffer Timeout"
+                 description="the timeout (in nanoseconds) used to flush internal buffers on the journal"
+                 dataType="trait" displayType="summary"/>
+            <metric property="JournalCompactMinFiles"
+                 displayName="Journal Compact Min Files"
+                 description="the minimal number of journal files before compacting"
+                 dataType="trait" displayType="summary"/>
+            <metric property="JournalCompactPercentage"
+                 displayName="Journal Compact Percentage"
+                 description="the percentage of live data before compacting the journal"
+                 dataType="trait" displayType="summary"/>
+            <metric property="PersistenceEnabled"
+                 displayName="Persistence Enabled"
+                 description="whether this server is using persistence and store data"
+                 dataType="trait" displayType="summary"/>
+            <metric property="CreateBindingsDir"
+                 displayName="Create Bindings Dir"
+                 description="whether the bindings directory is created on this server startup"
+                 dataType="trait" displayType="summary"/>
+            <metric property="CreateJournalDir"
+                 displayName="Create Journal Dir"
+                 description="whether the journal directory is created on this server startup"
+                 dataType="trait" displayType="summary"/>
+            <metric property="MessageCounterEnabled"
+                 displayName="Message Counter Enabled"
+                 description="whether message counter is enabled for this server"
+                 dataType="trait" displayType="summary" category="availability"/>
+            <metric property="MessageCounterMaxDayCount"
+                 displayName="Message Counter Max Day Count"
+                 description="the maximum number of days kept in memory for message counter"
+                 dataType="trait" displayType="summary"/>
+            <metric property="MessageCounterSamplePeriod"
+                 displayName="Message Counter Sample Period"
+                 description="the sample period (in milliseconds) to take message counter snapshot"
+                 dataType="trait" displayType="summary"/>
+            <metric property="Backup"
+                 displayName="Backup"
+                 description="if this server is a backup"
+                 dataType="trait" displayType="summary"/>
+            <metric property="SharedStore"
+                 displayName="Shared Store"
+                 description="whether this server shares its data store with a corresponding live or backup server"
+                 dataType="trait" displayType="summary"/>
+            <metric property="PagingDirectory"
+                 displayName="Paging Directory"
+                 description="the file system directory used to store paging files"
+                 dataType="trait" displayType="summary"/>
+            <metric property="PersistDeliveryCountBeforeDelivery"
+                 displayName="Persist Delivery Count Before Delivery"
+                 description="whether delivery count is persisted before messages are delivered to the consumers"
+                 dataType="trait" displayType="summary"/>
+            <metric property="ConnectionTTLOverride"
+                 displayName="Connection TTL Override"
+                 description="This value overrides the connection time to live sent by the client"
+                 dataType="trait" displayType="summary"/>
+            <metric property="ManagementAddress"
+                 displayName="Management Address"
+                 description="the management address of this server"
+                 dataType="trait" displayType="summary"/>
+            <metric property="ManagementNotificationAddress"
+                 displayName="Management Notification Address"
+                 description="the management notification address of this server"
+                 dataType="trait" displayType="summary"/>
+            <metric property="IDCacheSize"
+                 displayName="ID Cache Size"
+                 description="the size of the cache for pre-creating message IDs"
+                 dataType="trait" displayType="summary"/>
+            <metric property="PersistIDCache"
+                 displayName="Persist ID Cache"
+                 description="whether message ID cache is persisted"
+                 dataType="trait" displayType="summary"/>
+            <metric property="LargeMessagesDirectory"
+                 displayName="Large Messages Directory"
+                 description="the file system directory used to store large messages"
+                 dataType="trait" displayType="summary"/>
+            <metric property="WildcardRoutingEnabled"
+                 displayName="Wildcard Routing Enabled"
+                 description="whether wildcard routing is supported by this server"
+                 dataType="trait" displayType="summary"/>
+            <metric property="TransactionTimeout"
+                 displayName="Transaction Timeout"
+                 description="the timeout (in milliseconds) after which transactions are removed"
+                 dataType="trait" displayType="summary"/>
+            <metric property="TransactionTimeoutScanPeriod"
+                 displayName="Transaction Timeout Scan Period"
+                 description="the frequency (in milliseconds) to scan transactions to detect which transactions have timed out"
+                 dataType="trait" displayType="summary"/>
+            <metric property="MessageExpiryScanPeriod"
+                 displayName="Message Expiry Scan Period"
+                 description="he frequency (in milliseconds)  to scan messages to detect which messages have expired"
+                 dataType="trait" displayType="summary"/>
+            <metric property="MessageExpiryThreadPriority"
+                 displayName="Message Expiry Thread Priority"
+                 description="the priority of the thread used to scan message expiration"
+                 dataType="trait" displayType="summary"/>
+            <metric property="AsyncConnectionExecutionEnabled"
+                 displayName="Async Connection Execution Enabled"
+                 description="whether code coming from connection is executed asynchronously or not"
+                 dataType="trait" displayType="summary"/>
+            <metric property="Connectors"
+                 displayName="Connectors"
+                 description="the connectors configured for this server"
+                 dataType="trait" displayType="summary"/>
+            <metric property="AddressNames"
+                 displayName="Address Names"
+                 description="the addresses created on this server"
+                 dataType="trait" displayType="summary"/>
+            <metric property="QueueNames"
+                 displayName="Queue Names"
+                 description="he names of the queues created on this server"
+                 dataType="trait" displayType="summary"/>
+         </service>
+         <service name="Acceptors"
+                  discovery="HornetQDiscoveryComponent"
+                  subCategory="Core"
+                  class="HornetQComponent">
+            <plugin-configuration>
+                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=Acceptor"/>
+                <c:simple-property name="resourceNameProperty" default="name"/>
+                <c:simple-property name="searchString" default="name=*"/>
+            </plugin-configuration>
+            &hornetqcomponentOperations;
+            &hornetqcomponentMetrics;
+            <metric property="Name"
+                 displayName="Name"
+                 description="the name of the acceptor created on this server"
+                 dataType="trait" displayType="summary"/>
+            <metric property="FactoryClassName"
+                 displayName="Factory Class Name"
+                 description="the name of the factory used to create this acceptor"
+                 dataType="trait" displayType="summary"/>
+            <metric property="Parameters"
+                 displayName="Parameters"
+                 description="this Acceptor's parameters"
+                 dataType="trait" displayType="summary"/>
+         </service>
+         <service name="Addresses"
+                  discovery="HornetQDiscoveryComponent"
+                  subCategory="Core"
+                  class="HornetQComponent">
+            <plugin-configuration>
+                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=Address"/>
+                <c:simple-property name="resourceNameProperty" default="name"/>
+                <c:simple-property name="searchString" default="name=*"/>
+            </plugin-configuration>
+            <metric property="Address"
+                 displayName="Address"
+                 description="the address"
+                 dataType="trait" displayType="summary"/>
+            <metric property="Roles,result=roles"
+                 displayName="Roles"
+                 description="Returns the roles (name and permissions) associated to this address"
+                 dataType="trait" displayType="summary"/>
+            <metric property="QueueNames"
+                 displayName="Queue Names"
+                 description="Returns the names of the queues bound to this address"
+                 dataType="trait" displayType="summary"/>
+            <metric property="NumberOfPages"
+                 displayName="Number Of Pages"
+                 description="Returns the number of pages used by this address"
+                 dataType="measurement" displayType="summary"/>
+            <metric property="NumberOfBytesPerPage"
+                 displayName="Number Of Bytes Per Page"
+                 description="Returns the number of bytes used by each page for this address"
+                 dataType="trait" displayType="summary"/>
+         </service>
+         <service name="Bridges"
+                  discovery="HornetQDiscoveryComponent"
+                  subCategory="Core"
+                  class="HornetQComponent">
+            <plugin-configuration>
+                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=Bridge"/>
+                <c:simple-property name="resourceNameProperty" default="name"/>
+                <c:simple-property name="searchString" default="name=*"/>
+            </plugin-configuration>
+            &hornetqcomponentMetrics;
+            <metric property="Name"
+                 displayName="Name"
+                 description="name of this bridge"
+                 dataType="trait" displayType="summary"/>
+            <metric property="QueueName"
+                 displayName="QueueName"
+                 description="name of the queue this bridge is consuming messages from"
+                 dataType="trait" displayType="summary"/>
+            <metric property="ForwardingAddress"
+                 displayName="Forwarding Address"
+                 description="the address this bridge will forward messages to"
+                 dataType="trait" displayType="summary"/>
+            <metric property="FilterString"
+                 displayName="Filter String"
+                 description="the filter string associated to this bridge"
+                 dataType="trait" displayType="summary"/>
+            <metric property="TransformerClassName"
+                 displayName="Transformer Class Name"
+                 description="the name of the org.hornetq.core.server.cluster.Transformer implementation associated to this bridge"
+                 dataType="trait" displayType="summary"/>
+            <metric property="ConnectorPair"
+                 displayName="Connector Pair"
+                 description="the pair of connectors used by this bridge"
+                 dataType="trait" displayType="summary"/>
+            <metric property="DiscoveryGroupName"
+                 displayName="Discovery Group Name"
+                 description="the name of the discovery group used by this bridge"
+                 dataType="trait" displayType="summary"/>
+            <metric property="RetryInterval"
+                 displayName="Retry Interval"
+                 description="the retry interval used by this bridge"
+                 dataType="trait" displayType="summary"/>
+            <metric property="RetryIntervalMultiplier"
+                 displayName="Retry Interval Multiplier"
+                 description="the retry interval multiplier used by this bridge"
+                 dataType="trait" displayType="summary"/>
+            <metric property="ReconnectAttempts"
+                 displayName="Reconnect Attempts"
+                 description="the number of reconnection attempts used by this bridge"
+                 dataType="trait" displayType="summary"/>
+            <metric property="FailoverOnServerShutdown"
+                 displayName="Failover On Server Shutdown"
+                 description="whether the session used by this bridge will failover if the target server is normally shutdown."
+                 dataType="trait" displayType="summary"/>
+            <metric property="ReconnectAttempts"
+                 displayName="Reconnect Attempts"
+                 description="the number of reconnection attempts used by this bridge"
+                 dataType="trait" displayType="summary"/>
+            <metric property="UseDuplicateDetection"
+                 displayName="Use Duplicate Detection"
+                 description="whether this bridge is using duplicate detection"
+                 dataType="trait" displayType="summary"/>
+         </service>
+         <service name="Broadcast Groups"
+                  discovery="HornetQDiscoveryComponent"
+                  subCategory="Core"
+                  class="HornetQComponent">
+            <plugin-configuration>
+                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=BroadcastGroup"/>
+                <c:simple-property name="resourceNameProperty" default="name"/>
+                <c:simple-property name="searchString" default="name=*"/>
+            </plugin-configuration>
+            &hornetqcomponentMetrics;
+            <metric property="Name"
+                 displayName="Name"
+                 description="the configuration name of this broadcast group"
+                 dataType="trait" displayType="summary"/>
+            <metric property="LocalBindPort"
+                 displayName="Local Bind Port"
+                 description="the local port this broadcast group is bound to"
+                 dataType="trait" displayType="summary"/>
+            <metric property="GroupAddress"
+                 displayName="Group Address"
+                 description="the address this broadcast group is broadcasting to"
+                 dataType="trait" displayType="summary"/>
+            <metric property="GroupPort"
+                 displayName="Group Port"
+                 description="the port this broadcast group is broadcasting to"
+                 dataType="trait" displayType="summary"/>
+            <metric property="BroadcastPeriod"
+                 displayName="Broadcast Period"
+                 description="the period used by this broadcast group"
+                 dataType="trait" displayType="summary"/>
+            <metric property="ConnectorPairs,result=connectorpairs"
+                 displayName="Connector Pairs"
+                 description="the pairs of live-backup connectors that are broadcasted by this broadcast group"
+                 dataType="trait" displayType="summary"/>
+         </service>
+         <service name="Cluster Connections"
+                  discovery="HornetQDiscoveryComponent"
+                  subCategory="Core"
+                  class="HornetQComponent">
+            <plugin-configuration>
+                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=ClusterConnection"/>
+                <c:simple-property name="resourceNameProperty" default="name"/>
+                <c:simple-property name="searchString" default="name=*"/>
+            </plugin-configuration>
+            &hornetqcomponentMetrics;
+            <metric property="Name"
+                 displayName="Name"
+                 description="the configuration name of this cluster connection"
+                 dataType="trait" displayType="summary"/>
+            <metric property="Address"
+                 displayName="Address"
+                 description="the address used by this cluster connection"
+                 dataType="trait" displayType="summary"/>
+            <metric property="NodeID"
+                 displayName="Node ID"
+                 description="the node id name of this cluster connection"
+                 dataType="trait" displayType="summary"/>
+            <metric property="DuplicateDetection"
+                 displayName="Duplicate Detection"
+                 description="whether this cluster connection uses duplicate detection"
+                 dataType="trait" displayType="summary"/>
+            <metric property="ForwardWhenNoConsumers"
+                 displayName="Forward When No Consumers"
+                 description="whether this cluster connection forward messages when it has no local consumers"
+                 dataType="trait" displayType="summary"/>
+            <metric property="MaxHops"
+                 displayName="Max Hops"
+                 description="the maximum number of hops used by this cluster connection"
+                 dataType="trait" displayType="summary"/>
+            <metric property="StaticConnectorNamePairs,result=connectorpairs"
+                 displayName="Static Connector Name Pairs"
+                 description="the pairs of live-backup connectors used by this cluster connection"
+                 dataType="trait" displayType="summary"/>
+            <metric property="DiscoveryGroupName"
+                 displayName="Discovery Group Name"
+                 description="name of the discovery group used by this cluster connection"
+                 dataType="trait" displayType="summary"/>
+            <metric property="RetryInterval"
+                 displayName="Retry Interval"
+                 description="the connection retry interval used by this cluster connection"
+                 dataType="trait" displayType="summary"/>
+           <!-- <metric property="Nodes,result=clusternodes"
+                 displayName="Nodes"
+                 description="the nodes connected to this cluster connection"
+                 dataType="trait" displayType="summary"/>-->
+         </service>
+         <service name="Discovery Groups"
+                  discovery="HornetQDiscoveryComponent"
+                  subCategory="Core"
+                  class="HornetQComponent">
+            <plugin-configuration>
+                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=DiscoveryGroup"/>
+                <c:simple-property name="resourceNameProperty" default="name"/>
+                <c:simple-property name="searchString" default="name=*"/>
+            </plugin-configuration>
+            &hornetqcomponentMetrics;
+            <metric property="Name"
+                 displayName="Name"
+                 description="name of this discovery group"
+                 dataType="trait" displayType="summary"/>
+            <metric property="GroupAddress"
+                 displayName="Group Address"
+                 description="the address that this discovery group is listening to"
+                 dataType="trait" displayType="summary"/>
+            <metric property="GroupPort"
+                 displayName="Group Port"
+                 description="the port that this discovery group is listening to"
+                 dataType="trait" displayType="summary"/>
+            <metric property="RefreshTimeout"
+                 displayName="Refresh Timeout"
+                 description="the refresh timeout used by this discovery group"
+                 dataType="trait" displayType="summary"/>
+         </service>
+         <service name="Divert Groups"
+                  discovery="HornetQDiscoveryComponent"
+                  subCategory="Core"
+                  class="HornetQComponent">
+            <plugin-configuration>
+                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=Divert"/>
+                <c:simple-property name="resourceNameProperty" default="name"/>
+                <c:simple-property name="searchString" default="name=*"/>
+            </plugin-configuration>
+            <metric property="Filter"
+                 displayName="Filter"
+                 description="the filter used by this divert"
+                 dataType="trait" displayType="summary"/>
+            <metric property="Exclusive"
+                 displayName="Exclusive"
+                 description="if true messages will be exclusively diverted and will not be routed to the origin address"
+                 dataType="trait" displayType="summary"/>
+            <metric property="UniqueName"
+                 displayName="Unique Name"
+                 description="the cluster-wide unique name of this divert"
+                 dataType="trait" displayType="summary"/>
+            <metric property="RoutingName"
+                 displayName="Routing Name"
+                 description="the routing name of this divert"
+                 dataType="trait" displayType="summary"/>
+            <metric property="Address"
+                 displayName="Address"
+                 description="the origin address used by this divert"
+                 dataType="trait" displayType="summary"/>
+            <metric property="ForwardingAddress"
+                 displayName="Forwarding Address"
+                 description="the forwarding address used by this divert"
+                 dataType="trait" displayType="summary"/>
+            <metric property="TransformerClassName"
+                 displayName="Transformer Class Name"
+                 description="the name of the org.hornetq.core.server.cluster.Transformer implementation associated to this divert"
+                 dataType="trait" displayType="summary"/>
+         </service>
+         <service name="Queues(by address)"
+                  discovery="HornetQDiscoveryComponent"
+                  subCategory="Core"
+                  class="HornetQComponent">
+            <plugin-configuration>
+                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=Queue"/>
+                <c:simple-property name="resourceNameProperty" default="address"/>
+                <c:simple-property name="searchString" default="address=*,name=*"/>
+            </plugin-configuration>
+            <service name="Core Queues"
+                  discovery="HornetQDiscoveryComponent"
+                  class="HornetQComponent">
+                     <plugin-configuration>
+                        <c:simple-property name="useParentObjectName" type="boolean" default="true"/>
+                        <c:simple-property name="resourceNameProperty" default="name"/>
+                        <c:simple-property name="searchString" default="name=*"/>
+                     </plugin-configuration>
+               <operation name="listScheduledMessages,result=Message" displayName="List the messages scheduled for delivery" description="Lists all the messages scheduled for delivery for this queue.">
+                  <results>
+                      <c:list-property name="result">
+                          <c:map-property required="false" name="element">
+                             <c:simple-property type="long" name="messageID"/>
+                             <c:simple-property type="string" required="false" name="address"/>
+                             <c:simple-property type="integer" required="false" name="type"/>
+                             <c:simple-property type="boolean" required="false" name="durable"/>
+                             <c:simple-property type="long" name="expiration"/>
+                             <c:simple-property type="long" name="timestamp"/>
+                             <c:simple-property type="integer" name="priority"/>
+                          </c:map-property>
+                      </c:list-property>
+                  </results>
+               </operation>
+               <operation name="listMessages,result=Message" displayName="List all the messages in the queue matching the given filter" description="List all the messages in the queue matching the given filter.">
+                  <parameters>
+		               <c:simple-property required="false" name="filter" displayName="A message filter (can be empty)"/>
+		            </parameters>
+                  <results>
+                      <c:list-property name="result">
+                          <c:map-property required="false" name="element">
+                             <c:simple-property type="long" name="messageID"/>
+                             <c:simple-property type="string" required="false" name="address"/>
+                             <c:simple-property type="integer" required="false" name="type"/>
+                             <c:simple-property type="boolean" required="false" name="durable"/>
+                             <c:simple-property type="long" name="expiration"/>
+                             <c:simple-property type="long" name="timestamp"/>
+                             <c:simple-property type="integer" name="priority"/>
+                          </c:map-property>
+                      </c:list-property>
+                  </results>
+               </operation>
+               <operation name="countMessages" displayName="count all the messages" description="Returns the number of the messages in the queue matching the given filter.">
+                  <parameters>
+                     <c:simple-property required="false" name="filter" displayName="the filter"/>
+                 </parameters>
+                  <results>
+                      <c:simple-property name="operationResult" type="integer" description="Number of the messages in the queue matching the given filter."/>
+                  </results>
+               </operation>
+               <operation name="removeMessage" displayName="remove message" description="Remove the message corresponding to the given messageID.">
+                  <parameters>
+                     <c:simple-property required="true" type="long" name="long:messageID" displayName="The message ID"/>
+                 </parameters>
+                  <results>
+                      <c:simple-property name="operationResult" type="boolean" description="Was the message removed."/>
+                  </results>
+               </operation>
+               <operation name="removeMessages" displayName="Removes all the message corresponding to the specified filter" description="Remove the messages corresponding to the given filter (and returns the number of removed messages).">
+                  <parameters>
+                     <c:simple-property required="false" name="filter" displayName="the filter"/>
+                 </parameters>
+                  <results>
+                      <c:simple-property name="operationResult" type="integer" description="Number of the messages removed."/>
+                  </results>
+               </operation>
+               <operation name="expireMessages" displayName="expires all the message corresponding to the specified filter" description="Expires the messages corresponding to the given filter (and returns the number of removed messages).">
+                  <parameters>
+                     <c:simple-property required="false" name="filter" displayName="the filter"/>
+                 </parameters>
+                  <results>
+                      <c:simple-property name="operationResult" type="integer" description="Number of the messages removed."/>
+                  </results>
+               </operation>
+               <operation name="expireMessage" displayName="expire message" description="Expire the message corresponding to the given messageID.">
+                  <parameters>
+                     <c:simple-property required="true" type="long" name="long:messageID" displayName="The message ID"/>
+                 </parameters>
+                  <results>
+                      <c:simple-property name="operationResult" type="boolean" description="Was the message removed."/>
+                  </results>
+               </operation>
+               <operation name="moveMessage" displayName="move message" description="move the message corresponding to the given messageID.">
+                  <parameters>
+                     <c:simple-property required="true" type="long" name="long:messageID" displayName="The message ID"/>
+                     <c:simple-property required="true" name="otherQueueName" displayName="The name of the queue to move the message to"/>
+                 </parameters>
+                  <results>
+                      <c:simple-property name="operationResult" type="boolean" description="Was the message removed."/>
+                  </results>
+               </operation>
+               <operation name="moveMessages" displayName="move messages" description="move the message corresponding to the given filter.">
+                  <parameters>
+                     <c:simple-property required="false" name="filter" displayName="the filter"/>
+                     <c:simple-property required="true" name="otherQueueName" displayName="The name of the queue to move the message to"/>
+                 </parameters>
+                  <results>
+                      <c:simple-property name="operationResult" type="integer" description="Number of the messages moved."/>
+                  </results>
+               </operation>
+               <operation name="sendMessageToDeadLetterAddress" displayName="Send the message corresponding to the given messageID to this queue's Dead Letter Address" description="Send the message corresponding to the given messageID to this queue's Dead Letter Address.">
+                  <parameters>
+                     <c:simple-property required="true" type="long" name="long:messageID" displayName="The message ID"/>
+                 </parameters>
+                  <results>
+                      <c:simple-property name="operationResult" type="boolean" description="Was the message removed."/>
+                  </results>
+               </operation>
+               <operation name="sendMessagesToDeadLetterAddress" displayName="Send messages that match a filter to Dead Letter Address" description="Send the messages corresponding to the given filter to this queue's Dead Letter Address.">
+                  <parameters>
+                     <c:simple-property required="false" name="filter" displayName="the filter"/>
+                 </parameters>
+                  <results>
+                      <c:simple-property name="operationResult" type="integer" description="Number of the messages moved."/>
+                  </results>
+               </operation>
+               <operation name="changeMessagePriority" displayName="Change the priority of message" description="Change the priority of the message corresponding to the given messageID.">
+                  <parameters>
+                     <c:simple-property required="true" type="long" name="long:messageID" displayName="The message ID"/>
+                     <c:simple-property required="true" type="integer" name="int:newPriority" displayName="the new priority (between 0 and 9)"/>
+                 </parameters>
+                  <results>
+                      <c:simple-property name="operationResult" type="boolean" description="Was the message updated."/>
+                  </results>
+               </operation>
+               <operation name="changeMessagesPriority" displayName="Change the priority of messages" description="Change the priority of the message corresponding to the given messageID.">
+                  <parameters>
+                     <c:simple-property required="false" name="filter" displayName="the filter"/>
+                     <c:simple-property required="true" type="integer" name="int:newPriority" displayName="the new priority (between 0 and 9)"/>
+                 </parameters>
+                  <results>
+                      <c:simple-property name="operationResult" type="integer" description="Number of the messages updated."/>
+                  </results>
+               </operation>
+               <operation name="listMessageCounter" displayName="list message counter" description="List the message counters.">
+                  <results>
+                      <c:simple-property name="operationResult"  description="Message Counters."/>
+                  </results>
+               </operation>
+               <operation name="resetMessageCounter" displayName="reset message counters" description="Reset the message counters.">
+               </operation>
+               <operation name="listMessageCounterAsHTML" displayName="list message counter in HTML" description="List the message counters in HTML.">
+                  <results>
+                      <c:simple-property name="operationResult"  description="Message Counters."/>
+                  </results>
+               </operation>
+               <operation name="listMessageCounterHistory" displayName="list message counter history" description="List the message counters history.">
+                  <results>
+                      <c:simple-property name="operationResult"  description="Message Counter history."/>
+                  </results>
+               </operation>
+               <operation name="listMessageCounterHistoryAsHTML" displayName="list message counter history in HTML" description="List the message counters history in HTML.">
+                  <results>
+                      <c:simple-property name="operationResult"  description="Message Counter history."/>
+                  </results>
+               </operation>
+               <operation name="pause" displayName="pause the queue" description="Pause the queue.">
+               </operation>
+               <operation name="resume" displayName="resume the queue" description="Resume the queue.">
+               </operation>
+               <metric property="Name"
+                 displayName="Name"
+                 description="name of this queue"
+                 dataType="trait" displayType="summary"/>
+               <metric property="Address"
+                    displayName="Address"
+                    description="the address this queue is bound to"
+                    dataType="trait" displayType="summary"/>
+               <metric property="ID"
+                    displayName="ID"
+                    description="this queue ID"
+                    dataType="trait" displayType="summary"/>
+               <metric property="Temporary"
+                    displayName="Temporary"
+                    description="whether this queue is temporary"
+                    dataType="trait" displayType="summary"/>
+               <metric property="Durable"
+                    displayName="Durable"
+                    description="whether this queue is durable"
+                    dataType="trait" displayType="summary"/>
+               <metric property="Filter"
+                    displayName="Filter"
+                    description="the filter used by this queue"
+                    dataType="trait" displayType="summary"/>
+               <metric property="MessageCount"
+                    displayName="Message Count"
+                    description="the number of messages currently in this queue"
+                    dataType="measurement" displayType="summary"/>
+               <metric property="ScheduledCount"
+                    displayName="Scheduled Count"
+                    description="the number of scheduled messages in this queue"
+                    dataType="measurement" displayType="summary"/>
+               <metric property="ConsumerCount"
+                    displayName="Consumer Count"
+                    description="the number of consumers consuming messages from this queue"
+                    dataType="measurement" displayType="summary"/>
+               <metric property="DeliveringCount"
+                    displayName="Delivering Count"
+                    description="the number of messages that this queue is currently delivering to its consumers"
+                    dataType="measurement" displayType="summary"/>
+               <metric property="MessagesAdded"
+                    displayName="Messages Added"
+                    description="the number of messages added to this queue since it was created"
+                    dataType="measurement" displayType="summary"/>
+               <resource-configuration>
+                  <c:group name="HornetQCustomProperties" displayName="Advanced">
+                     <c:simple-property name="ExpiryAddress" displayName="Expiry Address"/>
+                     <c:simple-property name="DeadLetterAddress" displayName="Dead Letter Address"/>
+                  </c:group>
+               </resource-configuration>
+            </service>
+         </service>
+
+      </server>
+     <!-- -->
+</plugin>

Modified: branches/Branch_Hornet_Temporary_2/hornetq-int/src/resources/META-INF/rhq-plugin.xml
===================================================================
--- branches/Branch_Hornet_Temporary_2/hornetq-int/src/resources/META-INF/rhq-plugin.xml	2010-03-11 11:53:30 UTC (rev 102284)
+++ branches/Branch_Hornet_Temporary_2/hornetq-int/src/resources/META-INF/rhq-plugin.xml	2010-03-11 12:19:15 UTC (rev 102285)
@@ -1,58 +1,5 @@
 <?xml version="1.0"?>
 
-<!DOCTYPE plugin [
-
-      <!ENTITY destinationMetrics '
-                 <metric property="Name"
-                 displayName="Name"
-                 description="name of this queue"
-                 dataType="trait" displayType="summary"/>
-                 <metric property="JNDIBinding"
-                 displayName="JNDI Binding"
-                 description="JNDI Binding of this queue"
-                 dataType="trait" displayType="summary"/>
-                 <metric property="Address"
-                 displayName="Address"
-                 description="Address of this queue"
-                 dataType="trait" displayType="summary"/>
-                 <metric property="Address"
-                 displayName="Address"
-                 description="Address of this queue"
-                 dataType="trait" displayType="summary"/>
-                 <metric property="Temporary"
-                 displayName="Temporary"
-                 description="If this queue is Temporary"
-                 dataType="trait" displayType="summary"/>
-                 <metric property="MessageCount"
-                 displayName="Message Count"
-                 description="number of messages currently in this destination"
-                 dataType="trait" displayType="summary"/>
-'>
-      <!ENTITY destinationOperations '
-            <operation name="removeMessages" displayName="remove messages" description="Remove the messages corresponding to the given filter.">
-               <parameters>
-		            <c:simple-property required="false" name="filter" displayName="A message filter"/>
-		        </parameters>
-               <results>
-	                <c:simple-property name="operationResult" type="integer" description="Number of removed messages."/>
-               </results>
-            </operation>
-'>
-      <!ENTITY hornetqcomponentMetrics '
-                 <metric property="Started"
-                 displayName="Started"
-                 description="is this component started"
-                 defaultInterval="10000"
-                 category="availability"
-                 displayType="summary" defaultOn="true"/>
-'>
-      <!ENTITY hornetqcomponentOperations '
-            <operation name="start" displayName="start" description="Starts this HornetQ component.">
-            </operation>
-            <operation name="stop" displayName="stop" description="Stops this HornetQ component.">
-            </operation>
-'>
-      ]>
 <plugin name="HornetQ"
         displayName="HornetQPlugin"
         description="Supports management and monitoring of HornetQ Servers"
@@ -64,1313 +11,15 @@
 
    <depends plugin="JMX" useClasses="true"/>
 
-      <server name="HornetQ Server"
-            discovery="HornetQServerDiscoveryComponent"
-            class="HornetQServerComponent"   
-            singleton="true"
-            supportsManualAdd="true">
-         <subcategories>
-            <subcategory name="JMS"
-                         description="JMS Management">
-            </subcategory>
-            <subcategory name="Core"
-                description="Core Management">
-            </subcategory>
-        </subcategories>
-         <plugin-configuration>
-                <c:simple-property name="connectorAddress" required="false" description="JMX Remoting address of the remote HornetQ Instance (leave blank for InVM)"  />
-                <!-- The template section is only for manual resource additions, and default parameters and the ones presented to the user. -->
-                <c:template name="HornetQRemoteDiscovery" description="The default setup for HornetQ">
-                  <c:simple-property name="connectorAddress" displayName="URL of the remote server using (service:jmx:rmi://127.0.0.1/jndi/rmi://127.0.0.1:1090/jmxconnector)"
-                                     defaultValue="service:jmx:rmi://127.0.0.1/jndi/rmi://127.0.0.1:1090/jmxconnector"/>
-                </c:template>
-         </plugin-configuration>
-         <metric property="hornetqversion"
-                 displayName="HornetQ Version"
-                 description="the HornetQ Version"
-                 dataType="trait" displayType="summary"/>
-         <service name="HornetQ JMS Server Manager"
-            discovery="HornetQDiscoveryComponent"
-            subCategory="JMS"
-            class="HornetQComponent"
-            singleton="true">
-            <plugin-configuration>
-                <c:simple-property name="objectName" default="org.hornetq:module=JMS,type=Server"/>
-            </plugin-configuration>
-            <operation name="createQueue" displayName="Create a JMS Queue" description="Create a JMS Queue.">
-               <parameters>
-		            <c:simple-property required="true" name="queueName" displayName="queue name"/>
-                  <c:simple-property required="true" name="String:jndiBinding" displayName="jndi binding"/>
-		        </parameters>
-               <results><c:simple-property name="operationResult" type="boolean" description="The Outcome of creating the queue."/></results>
-            </operation>
-            <operation name="destroyQueue" displayName="Destroy a JMS Queue" description="Destroy a JMS Queue.">
-               <parameters>
-		            <c:simple-property required="true" name="queueName" displayName="queue name"/>
-		        </parameters>
-               <results><c:simple-property name="operationResult" description="The Outcome of destroying the queue."/></results>
-            </operation>
-            <operation name="createTopic" displayName="Create a JMS Topic" description="Create a JMS Topic.">
-               <parameters>
-		            <c:simple-property required="true" name="topicName" displayName="topic name"/>
-                  <c:simple-property required="true" name="jndiBinding" displayName="jndi binding"/>
-		        </parameters>
-               <results><c:simple-property name="operationResult" description="The Outcome of creating the topic."/></results>
-            </operation>
-            <operation name="destroyTopic" displayName="Destroy a JMS Topic" description="Destroy a JMS Topic.">
-               <parameters>
-		            <c:simple-property required="true" name="topicName" displayName="topic name"/>
-		        </parameters>
-               <results><c:simple-property name="operationResult" description="The Outcome of destroying the topic."/></results>
-            </operation>
-            <operation name="createConnectionFactory" displayName="Create a JMS ConnectionFactory" description="Create a JMS ConnectionFactory.">
-               <parameters>
-		            <c:simple-property required="true" name="name" displayName="connection factory name name"/>
-		            <c:simple-property required="true" name="liveTransportClassName" displayName="the transport class"/>
-		            <c:simple-property required="false" name="liveTransportParams" displayName="comma-separated list of key=value for the transport parameters"/>
-		            <c:simple-property required="false" name="backupTransportClassNames" displayName="the backup transport class"/>
-		            <c:simple-property required="false" name="backupTransportParams" displayName="comma-separated list of key=value for the transport parameters"/>
-		            <c:simple-property required="true" name="jndiBindings" displayName="comma-separated list of JNDI bindings"/>
-		        </parameters>
-            </operation>
-            <operation name="createConnectionFactory2,operation=createConnectionFactory" displayName="Create a JMS ConnectionFactory that uses discovery" description="Create a JMS ConnectionFactory that uses discovery.">
-               <parameters>
-		            <c:simple-property required="true" name="name" displayName="connection factory name name"/>
-		            <c:simple-property required="true" name="discoveryAddress" displayName="the discovery address of the server to connect to"/>
-		            <c:simple-property required="true" name="discoveryPort" displayName="the discovery port of the server to connect to"/>
-		            <c:simple-property required="true" name="jndiBindings" displayName="comma-separated list of JNDI bindings"/>
-		        </parameters>
-            </operation>
-            <operation name="listRemoteAddresses,result=String[]" displayName="List Remote Addresses" description="List all remote addresses connected to HornetQ.">
-               <results>
-                  <c:list-property name="result">
-	                    <c:map-property required="false" name="element">
-	                       <c:simple-property type="string" name="value"/>
-	                    </c:map-property>
-	                </c:list-property>
-               </results>
-            </operation>
-            <operation name="listRemoteAddresses2,operation=listRemoteAddresses,result=String[]" displayName="List Remote Addresses" description="List all remote addresses connected to HornetQ that match an ip address.">
-               <parameters>
-		            <c:simple-property required="true" name="ipAddress" displayName="The IP Address"/>
-		         </parameters>
-               <results>
-	                <c:list-property name="result">
-	                    <c:map-property required="false" name="element">
-	                       <c:simple-property type="string" name="value"/>
-	                    </c:map-property>
-	                </c:list-property>
-               </results>
-            </operation>
-            <operation name="closeConnectionsForAddress" displayName="Close Connection" description="Closes all the connections for the given IP Address.">
-               <parameters>
-		            <c:simple-property required="true" name="ipAddress" displayName="The IP Address"/>
-		         </parameters>
-               <results><c:simple-property name="operationResult" type="boolean" description="The Outcome of closing the connection."/></results>
-            </operation>
-            <operation name="listConnectionIDs,result=String[]" displayName="List connections" description="List all the connection IDs.">
-               <results>
-	                <c:list-property name="result">
-	                    <c:map-property required="false" name="element">
-	                       <c:simple-property type="string" name="value"/>
-	                    </c:map-property>
-	                </c:list-property>
-               </results>
-            </operation>
-            <operation name="listSessions,result=String[]" displayName="List sessions" description="List the sessions for the given connectionID.">
-               <parameters>
-		            <c:simple-property required="true" name="connectionID" displayName="The Connection ID"/>
-		         </parameters>
-               <results>
-	                <c:list-property name="result">
-	                    <c:map-property required="false" name="element">
-	                       <c:simple-property type="string" name="value"/>
-	                    </c:map-property>
-	                </c:list-property>
-               </results>
-            </operation>
-            <metric property="Started"
-                 displayName="HornetQ Started"
-                 description="Is the JMSServer Started"
-                 dataType="trait" displayType="summary"/>
-            <metric property="Version"
-                 displayName="HornetQ Version"
-                 description="The Version of the HornetQ JMS Server"
-                 dataType="trait" displayType="summary"/>
-            <metric property="TopicNames"
-                 displayName="Topics"
-                 description="The available topics"
-                 dataType="trait" displayType="summary"/>
-            <metric property="QueueNames"
-                 displayName="Queues"
-                 description="The available queues"
-                 dataType="trait" displayType="summary"/>
-            <metric property="ConnectionFactoryNames"
-                 displayName="Connection Factories"
-                 description="The available connection factories"  category="availability"
-                 dataType="trait" displayType="summary"/>
-         </service>
 
-         <service name="Queues"
-                  discovery="HornetQDiscoveryComponent"
-                  subCategory="JMS"
-                  class="HornetQComponent">
-            <plugin-configuration>
-                <c:simple-property name="objectName" default="org.hornetq:module=JMS,type=Queue"/>
-                <c:simple-property name="resourceNameProperty" default="name"/>
-                <c:simple-property name="searchString" default="name=*"/>
-            </plugin-configuration>
-            &destinationOperations;
-            <operation name="listMessages,result=JMSMessage" displayName="list all the messages" description="list all the messages.">
-               <parameters>
-		            <c:simple-property required="false" name="filter" displayName="A JMS message filter (can be empty)"/>
-		        </parameters>
-               <results>
-	                <c:list-property name="result">
-	                    <c:map-property required="false" name="element">
-	                       <c:simple-property type="string" name="JMSMessageID"/>
-	                       <c:simple-property type="long" required="false" name="JMSTimestamp"/>
-                          <c:simple-property type="long" required="false" name="JMSExpiration"/>
-                          <c:simple-property type="string" required="false" name="JMSDeliveryMode"/>
-                          <c:simple-property type="string" name="JMSMessageID"/>
-	                    </c:map-property>
-	                </c:list-property>
-               </results>
-            </operation>
-            <operation name="countMessages" displayName="list all the messages" description="Returns the number of the messages in the queue matching the given filter.">
-               <parameters>
-		            <c:simple-property required="false" name="selector" displayName="the selector"/>
-		        </parameters>
-               <results>
-	                <c:simple-property name="operationResult" type="integer" description="Number of the messages in the queue matching the given filter."/>
-               </results>
-            </operation>
-            <operation name="removeMessage" displayName="remove message" description="Remove the message corresponding to the given messageID.">
-               <parameters>
-		            <c:simple-property required="true" name="messageID" displayName="The message ID"/>
-		        </parameters>
-               <results>
-	                <c:simple-property name="operationResult" type="boolean" description="Was the message removed."/>
-               </results>
-            </operation>
-            <operation name="expireMessages" displayName="expire messages" description="Expires the messages corresponding to the given filter.">
-               <parameters>
-		            <c:simple-property required="false" name="filter" displayName="A message filter"/>
-		        </parameters>
-               <results>
-	                <c:simple-property name="operationResult" type="integer" description="Number of expired messages."/>
-               </results>
-            </operation>
-            <operation name="expireMessage" displayName="expire message" description="Expire the message corresponding to the given messageID.">
-               <parameters>
-		            <c:simple-property required="true" name="messageID" displayName="The message ID"/>
-		        </parameters>
-               <results>
-	                <c:simple-property name="operationResult" type="boolean" description="Was the message removed."/>
-               </results>
-            </operation>
-            <operation name="sendMessageToDeadLetterAddress" displayName="send message to dead letter address" description="Send the message corresponding to the given messageID to this queue's Dead Letter Address.">
-               <parameters>
-		            <c:simple-property required="true" name="messageID" displayName="The message ID"/>
-		        </parameters>
-               <results>
-	                <c:simple-property name="operationResult" type="boolean" description="Was the message sent."/>
-               </results>
-            </operation>
-            <operation name="sendMessagesToDeadLetterAddress" displayName="send messages to dead letter address" description="Send the messages corresponding to the given filter to this queue's Dead Letter Address.">
-               <parameters>
-		            <c:simple-property required="false" name="filterStr" displayName="A message filter"/>
-		        </parameters>
-               <results>
-	                <c:simple-property name="operationResult" type="integer" description="Number of expired messages."/>
-               </results>
-            </operation>
-            <operation name="changeMessagePriority" displayName="change message priority" description="Change the priority of the message corresponding to the given messageID.">
-               <parameters>
-		            <c:simple-property required="true" name="messageID" displayName="A message ID"/>
-                  <c:simple-property required="true" type="integer" name="int:newPriority" displayName="the new priority (between 0 and 9)"/>
-		        </parameters>
-               <results>
-	                <c:simple-property name="operationResult" type="boolean" description="True if priority set."/>
-               </results>
-            </operation>
-            <operation name="changeMessagesPriority" displayName="change messages priority" description="Change the priority of the messages corresponding to the given filter.">
-               <parameters>
-		            <c:simple-property required="false" name="filter" displayName="A message filter"/>
-                  <c:simple-property required="true" type="integer" name="int:newPriority" displayName="the new priority (between 0 and 9)"/>
-		        </parameters>
-               <results>
-	                <c:simple-property name="operationResult" type="integer" description="Number of messages reset with priority."/>
-               </results>
-            </operation>
-            <operation name="moveMessage" displayName="move message" description="Move the message corresponding to the given messageID to another queue.">
-               <parameters>
-		            <c:simple-property required="true" name="messageID" displayName="A message ID"/>
-                  <c:simple-property required="true" name="otherQueueName" displayName="The name of the queue to move the message to"/>
-		        </parameters>
-               <results>
-	                <c:simple-property name="operationResult" type="boolean" description="True if message moved."/>
-               </results>
-            </operation>
-            <operation name="moveMessages" displayName="move messages" description="Move the messages corresponding to the given filter.">
-               <parameters>
-		            <c:simple-property required="false" name="filter" displayName="the filter"/>
-                  <c:simple-property required="true" name="otherQueueName" displayName="The name of the queue to move the message to"/>
-		        </parameters>
-               <results>
-	                <c:simple-property name="operationResult" type="boolean" description="True if message moved."/>
-               </results>
-            </operation>
-            <operation name="listMessageCounter" displayName="list message counter" description="List the message counters.">
-               <results>
-	                <c:simple-property name="operationResult"  description="Message Counters."/>
-               </results>
-            </operation>
-            <operation name="resetMessageCounter" displayName="reset message counters" description="Reset the message counters.">
-            </operation>
-            <operation name="listMessageCounterAsHTML" displayName="list message counter in HTML" description="List the message counters in HTML.">
-               <results>
-	                <c:simple-property name="operationResult"  description="Message Counters."/>
-               </results>
-            </operation>
-            <operation name="listMessageCounterHistory" displayName="list message counter history" description="List the message counters history.">
-               <results>
-	                <c:simple-property name="operationResult"  description="Message Counter history."/>
-               </results>
-            </operation>
-            <operation name="listMessageCounterHistoryAsHTML" displayName="list message counter history in HTML" description="List the message counters history in HTML.">
-               <results>
-	                <c:simple-property name="operationResult"  description="Message Counter history."/>
-               </results>
-            </operation>
-            <operation name="pause" displayName="pause the queue" description="Pause the queue.">
-            </operation>
-            <operation name="resume" displayName="resume the queue" description="Resume the queue.">
-            </operation>
-            &destinationMetrics;
-            <metric property="ScheduledCount"
-                 displayName="Scheduled Count"
-                 description="number of scheduled messages in this queue"
-                 dataType="measurement" displayType="summary"/>
-            <metric property="ConsumerCount"
-                 displayName="Consumer Count"
-                 description="number of consumers consuming messages from this queue"
-                 dataType="measurement" displayType="summary"/>
-            <metric property="DeliveringCount"
-                 displayName="Delivering Count"
-                 description="number of messages that this queue is currently delivering to its consumers"
-                 dataType="measurement" displayType="summary"/>
-            <metric property="MessagesAdded"
-                 displayName="Messages Added"
-                 description="number of messages added to this queue since it was created"
-                 dataType="measurement" displayType="summary"/>
-            <metric property="Paused"
-                 displayName="paused"
-                 description="Is the queue currently paused"
-                 dataType="trait" displayType="summary"/>
-            <resource-configuration>
-               <c:group name="HornetQCustomProperties" displayName="Advanced">
-                  <c:simple-property name="ExpiryAddress" displayName="Expiry Address"/>
-                  <c:simple-property name="DeadLetterAddress" displayName="Dead Letter Address"/>
-               </c:group>
-            </resource-configuration>
-         </service>
-         <service name="Topics"
-                  discovery="HornetQDiscoveryComponent"
-                  subCategory="JMS"
-                  class="HornetQComponent">
-            <plugin-configuration>
-                <c:simple-property name="objectName" default="org.hornetq:module=JMS,type=Topic"/>
-                <c:simple-property name="resourceNameProperty" default="name"/>
-                <c:simple-property name="searchString" default="name=*"/>
-            </plugin-configuration>
-            &destinationOperations;
-            <operation name="listAllSubscriptions,result=SubscriptionInfo" displayName="list all subscriptions" description="Lists all the subscriptions for this topic (both durable and non-durable).">
-               <results>
-	                <c:list-property name="result">
-	                    <c:map-property required="false" name="element">
-	                       <c:simple-property type="string" name="name"/>
-	                       <c:simple-property type="string" required="false" name="clientID"/>
-                          <c:simple-property type="string" required="false" name="subName"/>
-                          <c:simple-property type="boolean" required="false" name="durable"/>
-                          <c:simple-property type="integer" name="messageCount"/>
-                          <c:simple-property type="string" name="filter"/>
-	                    </c:map-property>
-	                </c:list-property>
-               </results>
-            </operation>
-            <operation name="listDurableSubscriptions,result=SubscriptionInfo" displayName="list all durable subscriptions" description="Lists all the durable subscriptions for this topic.">
-               <results>
-	                <c:list-property name="result">
-	                    <c:map-property required="false" name="element">
-	                       <c:simple-property type="string" name="name"/>
-	                       <c:simple-property type="string" required="false" name="clientID"/>
-                          <c:simple-property type="string" required="false" name="subName"/>
-                          <c:simple-property type="boolean" required="false" name="durable"/>
-                          <c:simple-property type="integer" name="messageCount"/>
-                          <c:simple-property type="string" name="filter"/>
-	                    </c:map-property>
-	                </c:list-property>
-               </results>
-            </operation>
-            <operation name="listNonDurableSubscriptions,result=SubscriptionInfo" displayName="list all non durable subscriptions" description="Lists all the non-durable subscriptions for this topic.">
-               <results>
-	                <c:list-property name="result">
-	                    <c:map-property required="false" name="element">
-	                       <c:simple-property type="string" name="name"/>
-	                       <c:simple-property type="string" required="false" name="clientID"/>
-                          <c:simple-property type="string" required="false" name="subName"/>
-                          <c:simple-property type="boolean" required="false" name="durable"/>
-                          <c:simple-property type="integer" name="messageCount"/>
-                          <c:simple-property type="string" name="filter"/>
-	                    </c:map-property>
-	                </c:list-property>
-               </results>
-            </operation>
-            <operation name="listMessagesForSubscription,result=JMSMessage" displayName="list all the messages" description="list all the messages.">
-               <parameters>
-		            <c:simple-property required="true" name="queueName" displayName="the name of the queue representing a subscription"/>
-		        </parameters>
-               <results>
-	                <c:list-property name="result">
-	                    <c:map-property required="false" name="element">
-	                       <c:simple-property type="string" name="JMSMessageID"/>
-	                       <c:simple-property type="long" required="false" name="JMSTimestamp"/>
-                          <c:simple-property type="long" required="false" name="JMSExpiration"/>
-                          <c:simple-property type="string" required="false" name="JMSDeliveryMode"/>
-                          <c:simple-property type="string" name="JMSMessageID"/>
-	                    </c:map-property>
-	                </c:list-property>
-               </results>
-            </operation>
-            <operation name="countMessagesForSubscription" displayName="list messages for subscription" description="Count the number of messages matching the filter for the given subscription.">
-               <parameters>
-		            <c:simple-property required="true" name="clientID" displayName="the client ID"/>
-                  <c:simple-property required="true" name="subscriptionName" displayName="the name of the durable subscription"/>
-                  <c:simple-property required="false" name="filter" displayName="a JMS filter (can be empty)"/>
-		        </parameters>
-               <results>
-	                <c:simple-property name="operationResult"  description="Message Subscriptions."/>
-               </results>
-            </operation>
-            <operation name="dropDurableSubscription" displayName="Drop durable subscription" description="Drop a durable subscription.">
-               <parameters>
-		            <c:simple-property required="true" name="clientID" displayName="the client ID"/>
-                  <c:simple-property required="true" name="subscriptionName" displayName="the name of the durable subscription"/>
-		        </parameters>
-            </operation>
-            <operation name="dropAllSubscriptions" displayName="Drop all durable subscriptions" description="Drop all durable subscription.">
-            </operation>
-            &destinationMetrics;
-            <metric property="SubscriptionCount"
-                 displayName="Subscription Count"
-                 description="number of (durable and non-durable) subscribers for this topic"
-                 dataType="measurement" displayType="summary"/>
-            <metric property="DurableSubscriptionCount"
-                 displayName="Durable Subscription Count"
-                 description="number of durable subscribers for this topic"
-                 dataType="measurement" displayType="summary"/>
-            <metric property="NonDurableSubscriptionCount"
-                 displayName="Non Durable Subscription Count"
-                 description="number of non-durable subscribers for this topic"
-                 dataType="measurement" displayType="summary"/>
-            <metric property="DurableMessageCount"
-                 displayName="Durable Message Count"
-                 description="number of messages for all durable subscribers for this topic"
-                 dataType="measurement" displayType="summary"/>
-            <metric property="NonDurableMessageCount"
-                 displayName="Non Durable Message Count"
-                 description="number of messages for all non-durable subscribers for this topic"
-                 dataType="measurement" displayType="summary"/>
-         </service>
-         <service name="ConnectionFactories"
-                  discovery="HornetQDiscoveryComponent"
-                  subCategory="JMS"
-                  class="HornetQComponent">
-            <plugin-configuration>
-                <c:simple-property name="objectName" default="org.hornetq:module=JMS,type=ConnectionFactory"/>
-                <c:simple-property name="resourceNameProperty" default="name"/>
-                <c:simple-property name="searchString" default="name=*"/>
-            </plugin-configuration>
-            <metric property="Name"
-                 displayName="Name"
-                 description="Name of the connection factory"
-                 dataType="trait" displayType="summary"/>
-            <metric property="Bindings"
-                 displayName="Bindings"
-                 description="the connection factory bindings"
-                 dataType="trait" displayType="summary"/>
-            <metric property="StaticConnectors"
-                 displayName="Static Connectors"
-                 description="the connection factory connectors"
-                 dataType="trait" displayType="summary"/>
-               <resource-configuration>
-                  <c:group name="HornetQCustomProperties" displayName="Advanced">
-                     <c:simple-property name="DiscoveryAddress" required="false" displayName="Discovery Address"/>
-                     <c:simple-property name="DiscoveryPort" type="integer" displayName="Discovery Port"/>
-                     <c:simple-property name="DiscoveryRefreshTimeout" type="long" displayName="Discovery Refresh Timeout"/>
-                     <c:simple-property name="DiscoveryInitialWaitTimeout" type="long" displayName="Discovery Initial Wait Timeout"/>
-                     <c:simple-property name="ClientID" required="false" displayName="Client ID"/>
-                     <c:simple-property name="DupsOKBatchSize" type="integer" displayName="Dups OK Batch Size"/>
-                     <c:simple-property name="TransactionBatchSize" type="integer" displayName="Transaction Batch Size"/>
-                     <c:simple-property name="ClientFailureCheckPeriod" type="long" displayName="Client Failure Check Period"/>
-                     <c:simple-property name="ConnectionTTL" type="long" displayName="Connection TTL"/>
-                     <c:simple-property name="CallTimeout" type="long" displayName="Call Timeout"/>
-                     <c:simple-property name="ConsumerWindowSize" type="integer" displayName="Consumer Window Size"/>
-                     <c:simple-property name="ConsumerMaxRate" type="integer" displayName="Consumer Max Rate"/>
-                     <c:simple-property name="ConfirmationWindowSize" type="integer" displayName="Confirmation Window Size"/>
-                     <c:simple-property name="ProducerMaxRate" type="integer" displayName="Producer Max Rate"/>
-                     <c:simple-property name="ProducerWindowSize" type="integer" displayName="Producer Window Size"/>
-                     <c:simple-property name="CacheLargeMessagesClient" type="boolean" displayName="Cache Large Messages Client"/>
-                     <c:simple-property name="MinLargeMessageSize" type="integer" displayName="Min Large Message Size"/>
-                     <c:simple-property name="BlockOnNonDurableSend" type="boolean" displayName="Block On Non Durable Send"/>
-                     <c:simple-property name="BlockOnAcknowledge" type="boolean" displayName="Block On Acknowledge"/>
-                     <c:simple-property name="BlockOnDurableSend" type="boolean" displayName="Block On Durable Send"/>
-                     <c:simple-property name="AutoGroup" type="boolean" displayName="Auto Group"/>
-                     <c:simple-property name="PreAcknowledge" type="boolean" displayName="Pre Acknowledge"/>
-                     <c:simple-property name="MaxRetryInterval" type="long" displayName="Max Retry Interval"/>
-                     <c:simple-property name="RetryIntervalMultiplier" type="double" displayName="Retry Interval Multiplier"/>
-                     <c:simple-property name="ReconnectAttempts" type="integer" displayName="Reconnect Attempts"/>
-                     <c:simple-property name="FailoverOnServerShutdown" type="boolean" displayName="Failover On Server Shutdown"/>
-                     <c:simple-property name="ScheduledThreadPoolMaxSize" type="integer" displayName="Scheduled Thread Pool Max Size"/>
-                     <c:simple-property name="ThreadPoolMaxSize" type="integer" displayName="Thread Pool Max Size"/>
-                     <c:simple-property name="GroupID" required="false" displayName="Group ID"/>
-                     <c:simple-property name="InitialMessagePacketSize" type="integer" displayName="Initial Message Packet Size"/>
-                     <c:simple-property name="UseGlobalPools" type="boolean" displayName="Use Global Pools"/>
-                     <c:simple-property name="RetryInterval" type="long" displayName="Retry Interval"/>
-                     <c:simple-property name="ConnectionLoadBalancingPolicyClassName" displayName="Connection Load Balancing Policy Class Name"/>
-                  </c:group>
-               </resource-configuration>
-         </service>
-         <service name="HornetQ Server Manager"
-            discovery="HornetQDiscoveryComponent"
-            subCategory="Core"
-            class="HornetQComponent"
-            singleton="true">
-            <plugin-configuration>
-                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=Server"/>
-            </plugin-configuration>
-            <operation name="createQueue" displayName="Create a Queue" description="Creates a new Queue.">
-               <parameters>
-		            <c:simple-property required="true" name="address" displayName="address"/>
-                  <c:simple-property required="true" name="name" displayName="name"/>
-		        </parameters>
-            </operation>
-            <operation name="createQueue2,operation=createQueue" displayName="Create a Queue with filter" description="Creates a new Queue with a given filter.">
-               <parameters>
-		            <c:simple-property required="true" name="address" displayName="address"/>
-                  <c:simple-property required="true" name="name" displayName="name"/>
-		            <c:simple-property required="true" name="filter" displayName="filter"/>
-                  <c:simple-property required="true" type="boolean" name="boolean:durable" displayName="durable"/>
-		        </parameters>
-            </operation>
-            <operation name="createQueue3,operation=createQueue" displayName="Create a durable Queue" description="Creates a new Queue passing in its durability.">
-               <parameters>
-		            <c:simple-property required="true" name="address" displayName="address"/>
-                  <c:simple-property required="true" name="name" displayName="name"/>
-                  <c:simple-property required="true" type="boolean" name="boolean:durable" displayName="durable"/>
-		        </parameters>
-            </operation>
-            <operation name="deployQueue2,operation=deployQueue" displayName="Deploys a Queue with filter" description="Deploys a Queue.">
-               <parameters>
-		            <c:simple-property required="true" name="address" displayName="address"/>
-                  <c:simple-property required="true" name="name" displayName="name"/>
-		            <c:simple-property required="false"  name="filter" displayName="filter"/>
-		        </parameters>
-            </operation>
-            <operation name="deployQueue" displayName="Deploy a Queue with filter and durability" description="Deploys a Queue with a filter and durability.">
-               <parameters>
-		            <c:simple-property required="true" name="address" displayName="address"/>
-                  <c:simple-property required="true" name="name" displayName="name"/>
-		            <c:simple-property required="false" name="filter" displayName="filter"/>
-                  <c:simple-property required="true" type="boolean" name="boolean:durable" displayName="durable"/>
-		        </parameters>
-            </operation>
-            <operation name="destroyQueue" displayName="Destroys a Queue" description="Destroys a Queue.">
-               <parameters>
-                  <c:simple-property required="true" name="name" displayName="name"/>
-		        </parameters>
-            </operation>
-            <operation name="enableMessageCounters" displayName="Enable message counters" description="Enable message counters.">
-            </operation>
-            <operation name="disableMessageCounters" displayName="Disable message counters" description="Disable message counters.">
-            </operation>
-            <operation name="resetAllMessageCounters" displayName="Reset all  message counters" description="Reset all  message counters.">
-            </operation>
-            <operation name="resetAllMessageCounterHistories" displayName="Reset all  message counters history" description="Reset all  message counters history.">
-            </operation>
-            <operation name="listPreparedTransactions,result=string[]" displayName="List all prepared transactions" description="List all the prepared transaction, sorted by date, oldest first.">
-               <results>
-	                <c:list-property name="result">
-	                    <c:map-property required="false" name="element">
-	                       <c:simple-property type="string" name="value"/>
-	                    </c:map-property>
-	                </c:list-property>
-               </results>
-            </operation>
-            <operation name="listHeuristicCommittedTransactions,result=string[]" displayName="List heuristically committed transactions" description="List transactions which have been heuristically committed.">
-               <results>
-	                <c:list-property name="result">
-	                    <c:map-property required="false" name="element">
-	                       <c:simple-property type="string" name="value"/>
-	                    </c:map-property>
-	                </c:list-property>
-               </results>
-            </operation>
-            <operation name="listHeuristicRolledBackTransactions,result=string[]" displayName="List heuristically rolled back transactions" description="List transactions which have been heuristically rolled back.">
-               <results>
-	                <c:list-property name="result">
-	                    <c:map-property required="false" name="element">
-	                       <c:simple-property type="string" name="value"/>
-	                    </c:map-property>
-	                </c:list-property>
-               </results>
-            </operation>
-            <operation name="commitPreparedTransaction" displayName="Commit a prepared transaction" description="Commit a prepared transaction.">
-               <parameters>
-                  <c:simple-property required="true" name="transactionAsBase64" displayName="transaction As Base64"/>
-		        </parameters>
-               <results>
-                  <c:simple-property name="operationResult" type="boolean" displayName="Whether the tx was commited"/>
-               </results>
-            </operation>
-            <operation name="rollbackPreparedTransaction" displayName="Rollback a prepared transaction" description="Rollback a prepared transaction.">
-               <parameters>
-                  <c:simple-property required="true" name="transactionAsBase64" displayName="transaction As Base64"/>
-		         </parameters>
-               <results>
-                  <c:simple-property name="operationResult" type="boolean" displayName="Whether the tx was commited"/>
-               </results>
-            </operation>
-            <operation name="listRemoteAddresses,result=string[]" displayName="Lists the addresses" description="Lists the addresses of all the clients connected to this address.">
-               <results>
-	                <c:list-property name="result">
-	                    <c:map-property required="false" name="element">
-	                       <c:simple-property type="string" name="value"/>
-	                    </c:map-property>
-	                </c:list-property>
-               </results>
-            </operation>
-            <operation name="listRemoteAddresses2,operation=listRemoteAddresses,result=string[]" displayName="Lists the addresses with ip address" description="Lists the addresses a specified ip address connected to this address.">
-              <parameters>
-                  <c:simple-property required="true" name="ipAddress" displayName="ip address"/>
-		        </parameters>
-               <results>
-	                <c:list-property name="result">
-	                    <c:map-property required="false" name="element">
-	                       <c:simple-property type="string" name="value"/>
-	                    </c:map-property>
-	                </c:list-property>
-               </results>
-            </operation>
-            <operation name="closeConnectionsForAddress" displayName="Closes Connections" description="Closes all the connections for the given IP Address.">
-              <parameters>
-                  <c:simple-property required="true" name="ipAddress" displayName="ip address"/>
-		        </parameters>
-               <results>
-	                <c:simple-property name="operationResult"  description="Connection Closed."/>
-               </results>
-            </operation>
-            <operation name="listConnectionIDs,result=string[]" displayName="List connection IDs" description="List all the connection IDs.">
-               <results>
-	                <c:list-property name="result">
-	                    <c:map-property required="false" name="element">
-	                       <c:simple-property type="string" name="value"/>
-	                    </c:map-property>
-	                </c:list-property>
-               </results>
-            </operation>
-            <operation name="listSessions,result=string[]" displayName="List sessions" description="List the sessions for the given connectionID.">
-              <parameters>
-                  <c:simple-property required="true" name="connectionID" displayName="connection ID"/>
-		        </parameters>
-               <results>
-	                <c:list-property name="result">
-	                    <c:map-property required="false" name="element">
-	                       <c:simple-property type="string" name="value"/>
-	                    </c:map-property>
-	                </c:list-property>
-               </results>
-            </operation>
-            <metric property="Started"
-                 displayName="HornetQ Started"    
-                 description="Is the JMSServer Started"
-                 dataType="trait" displayType="summary"
-                 category="availability"/>
-            <metric property="Version"
-                 displayName="HornetQ Version"
-                 description="The Version of the HornetQ JMS Server"
-                 dataType="trait" displayType="summary"/>
-            <metric property="BackupConnectorName"
-                 displayName="Backup Connector Name"
-                 description="name of the connector used to connect to the backup"
-                 dataType="trait" displayType="summary"/>
-            <metric property="ConnectionCount"
-                 displayName="Connection Count"
-                 description="number of connections connected to this server"
-                 dataType="measurement" displayType="summary"/>
-            <metric property="InterceptorClassNames"
-                 displayName="Interceptor Class Names"
-                 description="the list of interceptors used by this server"
-                 dataType="trait" displayType="summary"/>
-            <metric property="Clustered"
-                 displayName="Clustered"
-                 description="whether this server is clustered"
-                 dataType="trait" displayType="summary"/>
-            <metric property="ScheduledThreadPoolMaxSize"
-                 displayName="Scheduled Thread Pool Max Size"
-                 description="the maximum number of threads in the scheduled thread pool"
-                 dataType="trait" displayType="summary"/>
-            <metric property="ThreadPoolMaxSize"
-                 displayName="Thread Pool Max Size"
-                 description="the maximum number of threads in the thread pool"
-                 dataType="trait" displayType="summary"/>
-            <metric property="SecurityInvalidationInterval"
-                 displayName="Security Invalidation Interval"
-                 description="the interval time (in milliseconds) to invalidate security credentials"
-                 dataType="trait" displayType="summary"/>
-            <metric property="SecurityEnabled"
-                 displayName="Security Enabled"
-                 description="whether security is enabled for this server"
-                 dataType="trait" displayType="summary"/>
-            <metric property="BindingsDirectory"
-                 displayName="Bindings Directory"
-                 description="the file system directory used to store bindings"
-                 dataType="trait" displayType="summary"/>
-            <metric property="JournalDirectory"
-                 displayName="Journal Directory"
-                 description="the file system directory used to store journal log"
-                 dataType="trait" displayType="summary"/>
-            <metric property="JournalType"
-                 displayName="Journal Type"
-                 description=" used by this server (either NIO or ASYNCIO)."
-                 dataType="trait" displayType="summary"/>
-            <metric property="JournalSyncTransactional"
-                 displayName="Journal Sync Transactional"
-                 description="whether the journal is synchronized when receiving transactional data"
-                 dataType="trait" displayType="summary"/>
-            <metric property="JournalSyncNonTransactional"
-                 displayName="Journal Sync Non Transactional"
-                 description="whether the journal is synchronized when receiving non-transactional data"
-                 dataType="trait" displayType="summary"/>
-            <metric property="JournalFileSize"
-                 displayName="Journal File Size"
-                 description="the size (in bytes) of each journal files"
-                 dataType="trait" displayType="summary"/>
-            <metric property="JournalMinFiles"
-                 displayName="Journal Min Files"
-                 description="the number of journal files to pre-create"
-                 dataType="trait" displayType="summary"/>
-            <metric property="JournalMaxIO"
-                 displayName="Journal Max IO"
-                 description="the maximum number of write requests that can be in the AIO queue at any given time"
-                 dataType="trait" displayType="summary"/>
-            <metric property="JournalBufferSize"
-                 displayName="Journal Buffer Size"
-                 description="the size of the internal buffer on the journal"
-                 dataType="trait" displayType="summary"/>
-            <metric property="JournalBufferTimeout"
-                 displayName="Journal Buffer Timeout"
-                 description="the timeout (in nanoseconds) used to flush internal buffers on the journal"
-                 dataType="trait" displayType="summary"/>
-            <metric property="JournalCompactMinFiles"
-                 displayName="Journal Compact Min Files"
-                 description="the minimal number of journal files before compacting"
-                 dataType="trait" displayType="summary"/>
-            <metric property="JournalCompactPercentage"
-                 displayName="Journal Compact Percentage"
-                 description="the percentage of live data before compacting the journal"
-                 dataType="trait" displayType="summary"/>
-            <metric property="PersistenceEnabled"
-                 displayName="Persistence Enabled"
-                 description="whether this server is using persistence and store data"
-                 dataType="trait" displayType="summary"/>
-            <metric property="CreateBindingsDir"
-                 displayName="Create Bindings Dir"
-                 description="whether the bindings directory is created on this server startup"
-                 dataType="trait" displayType="summary"/>
-            <metric property="CreateJournalDir"
-                 displayName="Create Journal Dir"
-                 description="whether the journal directory is created on this server startup"
-                 dataType="trait" displayType="summary"/>
-            <metric property="MessageCounterEnabled"
-                 displayName="Message Counter Enabled"
-                 description="whether message counter is enabled for this server"
-                 dataType="trait" displayType="summary" category="availability"/>
-            <metric property="MessageCounterMaxDayCount"
-                 displayName="Message Counter Max Day Count"
-                 description="the maximum number of days kept in memory for message counter"
-                 dataType="trait" displayType="summary"/>
-            <metric property="MessageCounterSamplePeriod"
-                 displayName="Message Counter Sample Period"
-                 description="the sample period (in milliseconds) to take message counter snapshot"
-                 dataType="trait" displayType="summary"/>
-            <metric property="Backup"
-                 displayName="Backup"
-                 description="if this server is a backup"
-                 dataType="trait" displayType="summary"/>
-            <metric property="SharedStore"
-                 displayName="Shared Store"
-                 description="whether this server shares its data store with a corresponding live or backup server"
-                 dataType="trait" displayType="summary"/>
-            <metric property="PagingDirectory"
-                 displayName="Paging Directory"
-                 description="the file system directory used to store paging files"
-                 dataType="trait" displayType="summary"/>
-            <metric property="PersistDeliveryCountBeforeDelivery"
-                 displayName="Persist Delivery Count Before Delivery"
-                 description="whether delivery count is persisted before messages are delivered to the consumers"
-                 dataType="trait" displayType="summary"/>
-            <metric property="ConnectionTTLOverride"
-                 displayName="Connection TTL Override"
-                 description="This value overrides the connection time to live sent by the client"
-                 dataType="trait" displayType="summary"/>
-            <metric property="ManagementAddress"
-                 displayName="Management Address"
-                 description="the management address of this server"
-                 dataType="trait" displayType="summary"/>
-            <metric property="ManagementNotificationAddress"
-                 displayName="Management Notification Address"
-                 description="the management notification address of this server"
-                 dataType="trait" displayType="summary"/>
-            <metric property="IDCacheSize"
-                 displayName="ID Cache Size"
-                 description="the size of the cache for pre-creating message IDs"
-                 dataType="trait" displayType="summary"/>
-            <metric property="PersistIDCache"
-                 displayName="Persist ID Cache"
-                 description="whether message ID cache is persisted"
-                 dataType="trait" displayType="summary"/>
-            <metric property="LargeMessagesDirectory"
-                 displayName="Large Messages Directory"
-                 description="the file system directory used to store large messages"
-                 dataType="trait" displayType="summary"/>
-            <metric property="WildcardRoutingEnabled"
-                 displayName="Wildcard Routing Enabled"
-                 description="whether wildcard routing is supported by this server"
-                 dataType="trait" displayType="summary"/>
-            <metric property="TransactionTimeout"
-                 displayName="Transaction Timeout"
-                 description="the timeout (in milliseconds) after which transactions are removed"
-                 dataType="trait" displayType="summary"/>
-            <metric property="TransactionTimeoutScanPeriod"
-                 displayName="Transaction Timeout Scan Period"
-                 description="the frequency (in milliseconds) to scan transactions to detect which transactions have timed out"
-                 dataType="trait" displayType="summary"/>
-            <metric property="MessageExpiryScanPeriod"
-                 displayName="Message Expiry Scan Period"
-                 description="he frequency (in milliseconds)  to scan messages to detect which messages have expired"
-                 dataType="trait" displayType="summary"/>
-            <metric property="MessageExpiryThreadPriority"
-                 displayName="Message Expiry Thread Priority"
-                 description="the priority of the thread used to scan message expiration"
-                 dataType="trait" displayType="summary"/>
-            <metric property="AsyncConnectionExecutionEnabled"
-                 displayName="Async Connection Execution Enabled"
-                 description="whether code coming from connection is executed asynchronously or not"
-                 dataType="trait" displayType="summary"/>
-            <metric property="Connectors"
-                 displayName="Connectors"
-                 description="the connectors configured for this server"
-                 dataType="trait" displayType="summary"/>
-            <metric property="AddressNames"
-                 displayName="Address Names"
-                 description="the addresses created on this server"
-                 dataType="trait" displayType="summary"/>
-            <metric property="QueueNames"
-                 displayName="Queue Names"
-                 description="he names of the queues created on this server"
-                 dataType="trait" displayType="summary"/>
-         </service>
-         <service name="Acceptors"
-                  discovery="HornetQDiscoveryComponent"
-                  subCategory="Core"
-                  class="HornetQComponent">
-            <plugin-configuration>
-                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=Acceptor"/>
-                <c:simple-property name="resourceNameProperty" default="name"/>
-                <c:simple-property name="searchString" default="name=*"/>
-            </plugin-configuration>
-            &hornetqcomponentOperations;
-            &hornetqcomponentMetrics;
-            <metric property="Name"
-                 displayName="Name"
-                 description="the name of the acceptor created on this server"
-                 dataType="trait" displayType="summary"/>
-            <metric property="FactoryClassName"
-                 displayName="Factory Class Name"
-                 description="the name of the factory used to create this acceptor"
-                 dataType="trait" displayType="summary"/>
-            <metric property="Parameters"
-                 displayName="Parameters"
-                 description="this Acceptor's parameters"
-                 dataType="trait" displayType="summary"/>
-         </service>
-         <service name="Addresses"
-                  discovery="HornetQDiscoveryComponent"
-                  subCategory="Core"
-                  class="HornetQComponent">
-            <plugin-configuration>
-                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=Address"/>
-                <c:simple-property name="resourceNameProperty" default="name"/>
-                <c:simple-property name="searchString" default="name=*"/>
-            </plugin-configuration>
-            <metric property="Address"
-                 displayName="Address"
-                 description="the address"
-                 dataType="trait" displayType="summary"/>
-            <metric property="Roles,result=roles"
-                 displayName="Roles"
-                 description="Returns the roles (name and permissions) associated to this address"
-                 dataType="trait" displayType="summary"/>
-            <metric property="QueueNames"
-                 displayName="Queue Names"
-                 description="Returns the names of the queues bound to this address"
-                 dataType="trait" displayType="summary"/>
-            <metric property="NumberOfPages"
-                 displayName="Number Of Pages"
-                 description="Returns the number of pages used by this address"
-                 dataType="measurement" displayType="summary"/>
-            <metric property="NumberOfBytesPerPage"
-                 displayName="Number Of Bytes Per Page"
-                 description="Returns the number of bytes used by each page for this address"
-                 dataType="trait" displayType="summary"/>
-         </service>
-         <service name="Bridges"
-                  discovery="HornetQDiscoveryComponent"
-                  subCategory="Core"
-                  class="HornetQComponent">
-            <plugin-configuration>
-                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=Bridge"/>
-                <c:simple-property name="resourceNameProperty" default="name"/>
-                <c:simple-property name="searchString" default="name=*"/>
-            </plugin-configuration>
-            &hornetqcomponentMetrics;
-            <metric property="Name"
-                 displayName="Name"
-                 description="name of this bridge"
-                 dataType="trait" displayType="summary"/>
-            <metric property="QueueName"
-                 displayName="QueueName"
-                 description="name of the queue this bridge is consuming messages from"
-                 dataType="trait" displayType="summary"/>
-            <metric property="ForwardingAddress"
-                 displayName="Forwarding Address"
-                 description="the address this bridge will forward messages to"
-                 dataType="trait" displayType="summary"/>
-            <metric property="FilterString"
-                 displayName="Filter String"
-                 description="the filter string associated to this bridge"
-                 dataType="trait" displayType="summary"/>
-            <metric property="TransformerClassName"
-                 displayName="Transformer Class Name"
-                 description="the name of the org.hornetq.core.server.cluster.Transformer implementation associated to this bridge"
-                 dataType="trait" displayType="summary"/>
-            <metric property="ConnectorPair"
-                 displayName="Connector Pair"
-                 description="the pair of connectors used by this bridge"
-                 dataType="trait" displayType="summary"/>
-            <metric property="DiscoveryGroupName"
-                 displayName="Discovery Group Name"
-                 description="the name of the discovery group used by this bridge"
-                 dataType="trait" displayType="summary"/>
-            <metric property="RetryInterval"
-                 displayName="Retry Interval"
-                 description="the retry interval used by this bridge"
-                 dataType="trait" displayType="summary"/>
-            <metric property="RetryIntervalMultiplier"
-                 displayName="Retry Interval Multiplier"
-                 description="the retry interval multiplier used by this bridge"
-                 dataType="trait" displayType="summary"/>
-            <metric property="ReconnectAttempts"
-                 displayName="Reconnect Attempts"
-                 description="the number of reconnection attempts used by this bridge"
-                 dataType="trait" displayType="summary"/>
-            <metric property="FailoverOnServerShutdown"
-                 displayName="Failover On Server Shutdown"
-                 description="whether the session used by this bridge will failover if the target server is normally shutdown."
-                 dataType="trait" displayType="summary"/>
-            <metric property="ReconnectAttempts"
-                 displayName="Reconnect Attempts"
-                 description="the number of reconnection attempts used by this bridge"
-                 dataType="trait" displayType="summary"/>
-            <metric property="UseDuplicateDetection"
-                 displayName="Use Duplicate Detection"
-                 description="whether this bridge is using duplicate detection"
-                 dataType="trait" displayType="summary"/>
-         </service>
-         <service name="Broadcast Groups"
-                  discovery="HornetQDiscoveryComponent"
-                  subCategory="Core"
-                  class="HornetQComponent">
-            <plugin-configuration>
-                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=BroadcastGroup"/>
-                <c:simple-property name="resourceNameProperty" default="name"/>
-                <c:simple-property name="searchString" default="name=*"/>
-            </plugin-configuration>
-            &hornetqcomponentMetrics;
-            <metric property="Name"
-                 displayName="Name"
-                 description="the configuration name of this broadcast group"
-                 dataType="trait" displayType="summary"/>
-            <metric property="LocalBindPort"
-                 displayName="Local Bind Port"
-                 description="the local port this broadcast group is bound to"
-                 dataType="trait" displayType="summary"/>
-            <metric property="GroupAddress"
-                 displayName="Group Address"
-                 description="the address this broadcast group is broadcasting to"
-                 dataType="trait" displayType="summary"/>
-            <metric property="GroupPort"
-                 displayName="Group Port"
-                 description="the port this broadcast group is broadcasting to"
-                 dataType="trait" displayType="summary"/>
-            <metric property="BroadcastPeriod"
-                 displayName="Broadcast Period"
-                 description="the period used by this broadcast group"
-                 dataType="trait" displayType="summary"/>
-            <metric property="ConnectorPairs,result=connectorpairs"
-                 displayName="Connector Pairs"
-                 description="the pairs of live-backup connectors that are broadcasted by this broadcast group"
-                 dataType="trait" displayType="summary"/>
-         </service>
-         <service name="Cluster Connections"
-                  discovery="HornetQDiscoveryComponent"
-                  subCategory="Core"
-                  class="HornetQComponent">
-            <plugin-configuration>
-                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=ClusterConnection"/>
-                <c:simple-property name="resourceNameProperty" default="name"/>
-                <c:simple-property name="searchString" default="name=*"/>
-            </plugin-configuration>
-            &hornetqcomponentMetrics;
-            <metric property="Name"
-                 displayName="Name"
-                 description="the configuration name of this cluster connection"
-                 dataType="trait" displayType="summary"/>
-            <metric property="Address"
-                 displayName="Address"
-                 description="the address used by this cluster connection"
-                 dataType="trait" displayType="summary"/>
-            <metric property="NodeID"
-                 displayName="Node ID"
-                 description="the node id name of this cluster connection"
-                 dataType="trait" displayType="summary"/>
-            <metric property="DuplicateDetection"
-                 displayName="Duplicate Detection"
-                 description="whether this cluster connection uses duplicate detection"
-                 dataType="trait" displayType="summary"/>
-            <metric property="ForwardWhenNoConsumers"
-                 displayName="Forward When No Consumers"
-                 description="whether this cluster connection forward messages when it has no local consumers"
-                 dataType="trait" displayType="summary"/>
-            <metric property="MaxHops"
-                 displayName="Max Hops"
-                 description="the maximum number of hops used by this cluster connection"
-                 dataType="trait" displayType="summary"/>
-            <metric property="StaticConnectorNamePairs,result=connectorpairs"
-                 displayName="Static Connector Name Pairs"
-                 description="the pairs of live-backup connectors used by this cluster connection"
-                 dataType="trait" displayType="summary"/>
-            <metric property="DiscoveryGroupName"
-                 displayName="Discovery Group Name"
-                 description="name of the discovery group used by this cluster connection"
-                 dataType="trait" displayType="summary"/>
-            <metric property="RetryInterval"
-                 displayName="Retry Interval"
-                 description="the connection retry interval used by this cluster connection"
-                 dataType="trait" displayType="summary"/>
-           <!-- <metric property="Nodes,result=clusternodes"
-                 displayName="Nodes"
-                 description="the nodes connected to this cluster connection"
-                 dataType="trait" displayType="summary"/>-->
-         </service>
-         <service name="Discovery Groups"
-                  discovery="HornetQDiscoveryComponent"
-                  subCategory="Core"
-                  class="HornetQComponent">
-            <plugin-configuration>
-                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=DiscoveryGroup"/>
-                <c:simple-property name="resourceNameProperty" default="name"/>
-                <c:simple-property name="searchString" default="name=*"/>
-            </plugin-configuration>
-            &hornetqcomponentMetrics;
-            <metric property="Name"
-                 displayName="Name"
-                 description="name of this discovery group"
-                 dataType="trait" displayType="summary"/>
-            <metric property="GroupAddress"
-                 displayName="Group Address"
-                 description="the address that this discovery group is listening to"
-                 dataType="trait" displayType="summary"/>
-            <metric property="GroupPort"
-                 displayName="Group Port"
-                 description="the port that this discovery group is listening to"
-                 dataType="trait" displayType="summary"/>
-            <metric property="RefreshTimeout"
-                 displayName="Refresh Timeout"
-                 description="the refresh timeout used by this discovery group"
-                 dataType="trait" displayType="summary"/>
-         </service>
-         <service name="Divert Groups"
-                  discovery="HornetQDiscoveryComponent"
-                  subCategory="Core"
-                  class="HornetQComponent">
-            <plugin-configuration>
-                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=Divert"/>
-                <c:simple-property name="resourceNameProperty" default="name"/>
-                <c:simple-property name="searchString" default="name=*"/>
-            </plugin-configuration>
-            <metric property="Filter"
-                 displayName="Filter"
-                 description="the filter used by this divert"
-                 dataType="trait" displayType="summary"/>
-            <metric property="Exclusive"
-                 displayName="Exclusive"
-                 description="if true messages will be exclusively diverted and will not be routed to the origin address"
-                 dataType="trait" displayType="summary"/>
-            <metric property="UniqueName"
-                 displayName="Unique Name"
-                 description="the cluster-wide unique name of this divert"
-                 dataType="trait" displayType="summary"/>
-            <metric property="RoutingName"
-                 displayName="Routing Name"
-                 description="the routing name of this divert"
-                 dataType="trait" displayType="summary"/>
-            <metric property="Address"
-                 displayName="Address"
-                 description="the origin address used by this divert"
-                 dataType="trait" displayType="summary"/>
-            <metric property="ForwardingAddress"
-                 displayName="Forwarding Address"
-                 description="the forwarding address used by this divert"
-                 dataType="trait" displayType="summary"/>
-            <metric property="TransformerClassName"
-                 displayName="Transformer Class Name"
-                 description="the name of the org.hornetq.core.server.cluster.Transformer implementation associated to this divert"
-                 dataType="trait" displayType="summary"/>
-         </service>
-         <service name="Queues(by address)"
-                  discovery="HornetQDiscoveryComponent"     
-                  subCategory="Core"
-                  class="HornetQComponent">
-            <plugin-configuration>
-                <c:simple-property name="objectName" default="org.hornetq:module=Core,type=Queue"/>
-                <c:simple-property name="resourceNameProperty" default="address"/>
-                <c:simple-property name="searchString" default="address=*,name=*"/>
-            </plugin-configuration>
-            <service name="Core Queues"
-                  discovery="HornetQDiscoveryComponent"
-                  class="HornetQComponent">
-                     <plugin-configuration>
-                        <c:simple-property name="useParentObjectName" type="boolean" default="true"/>
-                        <c:simple-property name="resourceNameProperty" default="name"/>
-                        <c:simple-property name="searchString" default="name=*"/>
-                     </plugin-configuration>
-               <operation name="listScheduledMessages,result=Message" displayName="List the messages scheduled for delivery" description="Lists all the messages scheduled for delivery for this queue.">
-                  <results>
-                      <c:list-property name="result">
-                          <c:map-property required="false" name="element">
-                             <c:simple-property type="long" name="messageID"/>
-                             <c:simple-property type="string" required="false" name="address"/>
-                             <c:simple-property type="integer" required="false" name="type"/>
-                             <c:simple-property type="boolean" required="false" name="durable"/>
-                             <c:simple-property type="long" name="expiration"/>
-                             <c:simple-property type="long" name="timestamp"/>
-                             <c:simple-property type="integer" name="priority"/>
-                          </c:map-property>
-                      </c:list-property>
-                  </results>
-               </operation>
-               <operation name="listMessages,result=Message" displayName="List all the messages in the queue matching the given filter" description="List all the messages in the queue matching the given filter.">
-                  <parameters>
-		               <c:simple-property required="false" name="filter" displayName="A message filter (can be empty)"/>
-		            </parameters>
-                  <results>
-                      <c:list-property name="result">
-                          <c:map-property required="false" name="element">
-                             <c:simple-property type="long" name="messageID"/>
-                             <c:simple-property type="string" required="false" name="address"/>
-                             <c:simple-property type="integer" required="false" name="type"/>
-                             <c:simple-property type="boolean" required="false" name="durable"/>
-                             <c:simple-property type="long" name="expiration"/>
-                             <c:simple-property type="long" name="timestamp"/>
-                             <c:simple-property type="integer" name="priority"/>
-                          </c:map-property>
-                      </c:list-property>
-                  </results>
-               </operation>
-               <operation name="countMessages" displayName="count all the messages" description="Returns the number of the messages in the queue matching the given filter.">
-                  <parameters>
-                     <c:simple-property required="false" name="filter" displayName="the filter"/>
-                 </parameters>
-                  <results>
-                      <c:simple-property name="operationResult" type="integer" description="Number of the messages in the queue matching the given filter."/>
-                  </results>
-               </operation>
-               <operation name="removeMessage" displayName="remove message" description="Remove the message corresponding to the given messageID.">
-                  <parameters>
-                     <c:simple-property required="true" type="long" name="long:messageID" displayName="The message ID"/>
-                 </parameters>
-                  <results>
-                      <c:simple-property name="operationResult" type="boolean" description="Was the message removed."/>
-                  </results>
-               </operation>
-               <operation name="removeMessages" displayName="Removes all the message corresponding to the specified filter" description="Remove the messages corresponding to the given filter (and returns the number of removed messages).">
-                  <parameters>
-                     <c:simple-property required="false" name="filter" displayName="the filter"/>
-                 </parameters>
-                  <results>
-                      <c:simple-property name="operationResult" type="integer" description="Number of the messages removed."/>
-                  </results>
-               </operation>
-               <operation name="expireMessages" displayName="expires all the message corresponding to the specified filter" description="Expires the messages corresponding to the given filter (and returns the number of removed messages).">
-                  <parameters>
-                     <c:simple-property required="false" name="filter" displayName="the filter"/>
-                 </parameters>
-                  <results>
-                      <c:simple-property name="operationResult" type="integer" description="Number of the messages removed."/>
-                  </results>
-               </operation>
-               <operation name="expireMessage" displayName="expire message" description="Expire the message corresponding to the given messageID.">
-                  <parameters>
-                     <c:simple-property required="true" type="long" name="long:messageID" displayName="The message ID"/>
-                 </parameters>
-                  <results>
-                      <c:simple-property name="operationResult" type="boolean" description="Was the message removed."/>
-                  </results>
-               </operation>
-               <operation name="moveMessage" displayName="move message" description="move the message corresponding to the given messageID.">
-                  <parameters>
-                     <c:simple-property required="true" type="long" name="long:messageID" displayName="The message ID"/>
-                     <c:simple-property required="true" name="otherQueueName" displayName="The name of the queue to move the message to"/>
-                 </parameters>
-                  <results>
-                      <c:simple-property name="operationResult" type="boolean" description="Was the message removed."/>
-                  </results>
-               </operation>
-               <operation name="moveMessages" displayName="move messages" description="move the message corresponding to the given filter.">
-                  <parameters>
-                     <c:simple-property required="false" name="filter" displayName="the filter"/>
-                     <c:simple-property required="true" name="otherQueueName" displayName="The name of the queue to move the message to"/>
-                 </parameters>
-                  <results>
-                      <c:simple-property name="operationResult" type="integer" description="Number of the messages moved."/>
-                  </results>
-               </operation>
-               <operation name="sendMessageToDeadLetterAddress" displayName="Send the message corresponding to the given messageID to this queue's Dead Letter Address" description="Send the message corresponding to the given messageID to this queue's Dead Letter Address.">
-                  <parameters>
-                     <c:simple-property required="true" type="long" name="long:messageID" displayName="The message ID"/>
-                 </parameters>
-                  <results>
-                      <c:simple-property name="operationResult" type="boolean" description="Was the message removed."/>
-                  </results>
-               </operation>
-               <operation name="sendMessagesToDeadLetterAddress" displayName="Send messages that match a filter to Dead Letter Address" description="Send the messages corresponding to the given filter to this queue's Dead Letter Address.">
-                  <parameters>
-                     <c:simple-property required="false" name="filter" displayName="the filter"/>
-                 </parameters>
-                  <results>
-                      <c:simple-property name="operationResult" type="integer" description="Number of the messages moved."/>
-                  </results>
-               </operation>
-               <operation name="changeMessagePriority" displayName="Change the priority of message" description="Change the priority of the message corresponding to the given messageID.">
-                  <parameters>
-                     <c:simple-property required="true" type="long" name="long:messageID" displayName="The message ID"/>
-                     <c:simple-property required="true" type="integer" name="int:newPriority" displayName="the new priority (between 0 and 9)"/>
-                 </parameters>
-                  <results>
-                      <c:simple-property name="operationResult" type="boolean" description="Was the message updated."/>
-                  </results>
-               </operation>
-               <operation name="changeMessagesPriority" displayName="Change the priority of messages" description="Change the priority of the message corresponding to the given messageID.">
-                  <parameters>
-                     <c:simple-property required="false" name="filter" displayName="the filter"/>
-                     <c:simple-property required="true" type="integer" name="int:newPriority" displayName="the new priority (between 0 and 9)"/>
-                 </parameters>
-                  <results>
-                      <c:simple-property name="operationResult" type="integer" description="Number of the messages updated."/>
-                  </results>
-               </operation>
-               <operation name="listMessageCounter" displayName="list message counter" description="List the message counters.">
-                  <results>
-                      <c:simple-property name="operationResult"  description="Message Counters."/>
-                  </results>
-               </operation>
-               <operation name="resetMessageCounter" displayName="reset message counters" description="Reset the message counters.">
-               </operation>    
-               <operation name="listMessageCounterAsHTML" displayName="list message counter in HTML" description="List the message counters in HTML.">
-                  <results>
-                      <c:simple-property name="operationResult"  description="Message Counters."/>
-                  </results>
-               </operation>
-               <operation name="listMessageCounterHistory" displayName="list message counter history" description="List the message counters history.">
-                  <results>
-                      <c:simple-property name="operationResult"  description="Message Counter history."/>
-                  </results>
-               </operation>
-               <operation name="listMessageCounterHistoryAsHTML" displayName="list message counter history in HTML" description="List the message counters history in HTML.">
-                  <results>
-                      <c:simple-property name="operationResult"  description="Message Counter history."/>
-                  </results>
-               </operation>
-               <operation name="pause" displayName="pause the queue" description="Pause the queue.">
-               </operation>
-               <operation name="resume" displayName="resume the queue" description="Resume the queue.">
-               </operation>
-               <metric property="Name"
-                 displayName="Name"
-                 description="name of this queue"
-                 dataType="trait" displayType="summary"/>
-               <metric property="Address"
-                    displayName="Address"
-                    description="the address this queue is bound to"
-                    dataType="trait" displayType="summary"/>
-               <metric property="ID"
-                    displayName="ID"
-                    description="this queue ID"
-                    dataType="trait" displayType="summary"/>
-               <metric property="Temporary"
-                    displayName="Temporary"
-                    description="whether this queue is temporary"
-                    dataType="trait" displayType="summary"/>
-               <metric property="Durable"
-                    displayName="Durable"
-                    description="whether this queue is durable"
-                    dataType="trait" displayType="summary"/>
-               <metric property="Filter"
-                    displayName="Filter"
-                    description="the filter used by this queue"
-                    dataType="trait" displayType="summary"/>
-               <metric property="MessageCount"
-                    displayName="Message Count"
-                    description="the number of messages currently in this queue"
-                    dataType="measurement" displayType="summary"/>
-               <metric property="ScheduledCount"
-                    displayName="Scheduled Count"
-                    description="the number of scheduled messages in this queue"
-                    dataType="measurement" displayType="summary"/>
-               <metric property="ConsumerCount"
-                    displayName="Consumer Count"
-                    description="the number of consumers consuming messages from this queue"
-                    dataType="measurement" displayType="summary"/>
-               <metric property="DeliveringCount"
-                    displayName="Delivering Count"
-                    description="the number of messages that this queue is currently delivering to its consumers"
-                    dataType="measurement" displayType="summary"/>
-               <metric property="MessagesAdded"
-                    displayName="Messages Added"
-                    description="the number of messages added to this queue since it was created"
-                    dataType="measurement" displayType="summary"/>
-               <resource-configuration>
-                  <c:group name="HornetQCustomProperties" displayName="Advanced">
-                     <c:simple-property name="ExpiryAddress" displayName="Expiry Address"/>
-                     <c:simple-property name="DeadLetterAddress" displayName="Dead Letter Address"/>
-                  </c:group>
-               </resource-configuration>
-            </service>
-         </service>
-         
-      </server>
-     <!-- -->
+   <service name="JMSHornetQueue"
+            discovery="JMSQueueDiscoveryComponent2"
+            class="JMSQueueComponent2">
+      <runs-inside>
+         <parent-resource-type name="JBossAS Server" plugin="JBossAS"/>
+         <parent-resource-type name="JBossAS Server" plugin="JBossAS5"/>
+         <parent-resource-type name="JBossAS Server" plugin="JBossAS6"/>
+      </runs-inside>
+   </service>
+
 </plugin>

Modified: branches/Branch_Hornet_Temporary_2/hornetq-int/src/resources/hornetq-deployers-jboss-beans.xml
===================================================================
--- branches/Branch_Hornet_Temporary_2/hornetq-int/src/resources/hornetq-deployers-jboss-beans.xml	2010-03-11 11:53:30 UTC (rev 102284)
+++ branches/Branch_Hornet_Temporary_2/hornetq-int/src/resources/hornetq-deployers-jboss-beans.xml	2010-03-11 12:19:15 UTC (rev 102285)
@@ -46,4 +46,8 @@
         <demand>HornetQDestinationCreator</demand>
 	</bean>
 
+   <bean name="JMSQueueManageMO" class="org.jboss.as.integration.hornetq.management.jms.QueueManageImplMO">
+      <constructor><parameter><inject bean="HornetQServer" /></parameter></constructor>
+      <demand>JMSServerManager</demand>
+   </bean>
 </deployment>
\ No newline at end of file




More information about the jboss-cvs-commits mailing list