[jboss-cvs] JBossAS SVN: r110727 - branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Feb 21 13:19:43 EST 2011


Author: ataylor
Date: 2011-02-21 13:19:43 -0500 (Mon, 21 Feb 2011)
New Revision: 110727

Modified:
   branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/ConnectionFactoryManageMO.java
   branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/JMSManageMO.java
   branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/JMSServerMO.java
   branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/QueueManageMO.java
   branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/TopicManageMO.java
Log:
https://issues.jboss.org/browse/JBPAPP-5962 - lazy initialize hw resources for backup servers

Modified: branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/ConnectionFactoryManageMO.java
===================================================================
--- branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/ConnectionFactoryManageMO.java	2011-02-21 16:42:56 UTC (rev 110726)
+++ branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/ConnectionFactoryManageMO.java	2011-02-21 18:19:43 UTC (rev 110727)
@@ -21,7 +21,6 @@
 */
 package org.jboss.as.integration.hornetq.management.jms;
 
-import org.hornetq.api.core.management.ResourceNames;
 import org.hornetq.api.jms.management.ConnectionFactoryControl;
 import org.hornetq.api.jms.management.JMSServerControl;
 import org.hornetq.core.server.HornetQServer;
@@ -40,25 +39,13 @@
    public ConnectionFactoryManageMO(HornetQServer server)
    {
       super(server);
-      this.server = server;
    }
 
-   private JMSServerControl jmsServerControl;
-
-   private ManagementService managementService;
-
-   private HornetQServer server;
-
-   public void start()
-   {
-      managementService = server.getManagementService();
-      jmsServerControl = (JMSServerControl) managementService.getResource(ResourceNames.JMS_SERVER);
-   }
-
    @ManagementOperation(name = "deleteConnectionFactory", description = "returns the JMS Connection Factory configuration",
        params = {@ManagementParameter(name = "name", description = "the connection factory name")})
    public void deleteConnectionFactory(String name) throws Exception
    {
+      JMSServerControl jmsServerControl = getJmsServerControl();
       jmsServerControl.destroyConnectionFactory(name);
    }
 
@@ -67,7 +54,7 @@
    @MetaMapping(value = ConnectionFactoryMapper.class)
    public ConnectionFactoryControl getConfiguration(String name)
    {
-      return (ConnectionFactoryControl) managementService.getResource("jms.connectionfactory." + name);
+      return (ConnectionFactoryControl) getManagementService().getResource("jms.connectionfactory." + name);
    }
 
    @ManagementOperation(name = "getMeasurements", description = "gets a connection factories",
@@ -76,6 +63,7 @@
            @ManagementParameter(name = "names", description = "the measurement names")})
    public String[] getMeasurements(String name, String[] names) throws Exception
    {
+      ManagementService managementService = getManagementService();
       ConnectionFactoryControl control = (ConnectionFactoryControl) managementService.getResource("jms.connectionfactory." + name);
       String[] val = new String[names.length];
       for (int i = 0, valLength = val.length; i < valLength; i++)
@@ -97,7 +85,15 @@
    @ManagementOperation(name = "getConnectionFactories", description = "returns the JMS Connection Factories")
    public String[] getJMSConnectionFactories()
    {
-      return jmsServerControl.getConnectionFactoryNames();
+      JMSServerControl jmsServerControl = getJmsServerControl();
+      if(jmsServerControl == null)
+      {
+         return new String[]{};
+      }
+      else
+      {
+         return jmsServerControl.getConnectionFactoryNames();
+      }
    }
 
    @ManagementOperation(name = "createConnectionFactory", description = "creates a connection factories",
@@ -170,8 +166,10 @@
                                         String connectionLoadBalancingPolicyClassName)
          throws Exception
    {
+      JMSServerControl jmsServerControl = getJmsServerControl();
       jmsServerControl.createConnectionFactory(name, ha, useDiscovery, cfType, connectorNames, bindings);
 
+      ManagementService managementService = getManagementService();
       ConnectionFactoryControl control = (ConnectionFactoryControl) managementService.getResource("jms.connectionfactory." + name);
       control.setClientID(clientId);
       control.setDupsOKBatchSize(dupsOkBatchSize);
@@ -263,6 +261,7 @@
                                         String connectionLoadBalancingPolicyClassName)
          throws Exception
    {
+      ManagementService managementService = getManagementService();
       ConnectionFactoryControl control = (ConnectionFactoryControl) managementService.getResource("jms.connectionfactory." + name);
       
       control.setClientID(clientId);

Modified: branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/JMSManageMO.java
===================================================================
--- branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/JMSManageMO.java	2011-02-21 16:42:56 UTC (rev 110726)
+++ branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/JMSManageMO.java	2011-02-21 18:19:43 UTC (rev 110727)
@@ -33,11 +33,11 @@
  */
 public class JMSManageMO
 {
-   protected JMSServerControl jmsServerControl;
+   private JMSServerControl jmsServerControl;
 
-   protected ManagementService managementService;
+   private ManagementService managementService;
 
-   protected HornetQServerControl hornetQServerControl;
+   private HornetQServerControl hornetQServerControl;
 
    private HornetQServer server;
 
@@ -47,13 +47,6 @@
       this.server = server;
    }
 
-   public void start()
-   {
-      managementService = server.getManagementService();
-      jmsServerControl = (JMSServerControl) managementService.getResource(ResourceNames.JMS_SERVER);
-      hornetQServerControl = (HornetQServerControl) managementService.getResource(ResourceNames.CORE_SERVER);
-   }
-
    protected String coomaSeparatedString(Object[] objects)
    {
       StringBuffer sb = new StringBuffer("");
@@ -127,4 +120,31 @@
       }
       return classes;
    }
+
+   public JMSServerControl getJmsServerControl()
+   {
+      if(jmsServerControl == null)
+      {
+         jmsServerControl = (JMSServerControl) managementService.getResource(ResourceNames.JMS_SERVER);
+      }
+      return jmsServerControl;
+   }
+
+   public ManagementService getManagementService()
+   {
+      if(managementService == null)
+      {
+         managementService = server.getManagementService();
+      }
+      return managementService;
+   }
+
+   public HornetQServerControl getHornetQServerControl()
+   {
+      if(hornetQServerControl == null)
+      {
+         hornetQServerControl = (HornetQServerControl) managementService.getResource(ResourceNames.CORE_SERVER);
+      }
+      return hornetQServerControl;
+   }
 }

Modified: branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/JMSServerMO.java
===================================================================
--- branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/JMSServerMO.java	2011-02-21 16:42:56 UTC (rev 110726)
+++ branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/JMSServerMO.java	2011-02-21 18:19:43 UTC (rev 110727)
@@ -21,6 +21,8 @@
  */
 package org.jboss.as.integration.hornetq.management.jms;
 
+import org.hornetq.api.core.management.HornetQServerControl;
+import org.hornetq.api.jms.management.JMSServerControl;
 import org.hornetq.core.server.HornetQServer;
 import org.jboss.managed.api.annotation.*;
 
@@ -42,13 +44,22 @@
    @ManagementOperation(name = "getVersion", description = "returns the servers version")
    public String getVersion()
    {
-      return jmsServerControl.getVersion();
+      JMSServerControl jmsServerControl = getJmsServerControl();
+      if(jmsServerControl == null)
+      {
+         return null;
+      }
+      else
+      {
+         return jmsServerControl.getVersion();
+      }
    }
 
    @ManagementOperation(name = "getVersion", description = "returns the servers status")
    public boolean isStarted()
    {
-      return jmsServerControl.isStarted();
+      JMSServerControl jmsServerControl = getJmsServerControl();
+      return jmsServerControl != null && jmsServerControl.isStarted();
    }
 
    @ManagementOperation(name = "invokeManagerOperation", description = "invokes a queues method",
@@ -62,11 +73,13 @@
       Method m = null;
       try
       {
+         JMSServerControl jmsServerControl = getJmsServerControl();
          m = jmsServerControl.getClass().getMethod(method, classes);
          return m.invoke(jmsServerControl, getParams(params, classes));
       }
       catch (NoSuchMethodException e)
       {
+         HornetQServerControl hornetQServerControl = getHornetQServerControl();
          m = hornetQServerControl.getClass().getMethod(method, classes);
          return m.invoke(hornetQServerControl, getParams(params, classes));
       }

Modified: branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/QueueManageMO.java
===================================================================
--- branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/QueueManageMO.java	2011-02-21 16:42:56 UTC (rev 110726)
+++ branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/QueueManageMO.java	2011-02-21 18:19:43 UTC (rev 110727)
@@ -22,9 +22,12 @@
 package org.jboss.as.integration.hornetq.management.jms;
 
 import org.hornetq.api.core.management.AddressSettingsInfo;
+import org.hornetq.api.core.management.HornetQServerControl;
 import org.hornetq.api.core.management.RoleInfo;
 import org.hornetq.api.jms.management.JMSQueueControl;
+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.config.JMSQueueConfiguration;
 import org.hornetq.jms.server.config.impl.JMSQueueConfigurationImpl;
 import org.jboss.managed.api.annotation.*;
@@ -84,19 +87,21 @@
    {
 
       //update the address settings
+      HornetQServerControl hornetQServerControl = getHornetQServerControl();
       hornetQServerControl.addAddressSettings("jms.queue." + name,
-          DLA,
-          expiryAddress,
-          lastValueQueue,
-          deliveryAttempts,
-          maxSizeBytes,
-          pageSizeBytes,
-          pageMaxCacheSize,
-          redeliveryDelay,
-          redistributionDelay,
-          sendToDLAOnNoRoute,
-          addressFullMessagePolicy);
+            DLA,
+            expiryAddress,
+            lastValueQueue,
+            deliveryAttempts,
+            maxSizeBytes,
+            pageSizeBytes,
+            pageMaxCacheSize,
+            redeliveryDelay,
+            redistributionDelay,
+            sendToDLAOnNoRoute,
+            addressFullMessagePolicy);
       //create the queue
+      JMSServerControl jmsServerControl = getJmsServerControl();
       jmsServerControl.createQueue(name, jndiName);
       //update security
       hornetQServerControl.addSecuritySettings("jms.queue." + name, sendRoles, consumeRoles, "", "", "", "", "");
@@ -106,7 +111,9 @@
        params = {@ManagementParameter(name = "name", description = "the queue name")})
    public void deleteQueue(String name) throws Exception
    {
+      JMSServerControl jmsServerControl = getJmsServerControl();
       jmsServerControl.destroyQueue(name.replace("jms.queue.", ""));
+      HornetQServerControl hornetQServerControl = getHornetQServerControl();
       hornetQServerControl.removeSecuritySettings(name);
       hornetQServerControl.removeAddressSettings(name);
    }
@@ -117,9 +124,11 @@
    public Object[] getQueueConfiguration(String name) throws Exception
    {
       Object[] config = new Object[3];
+      ManagementService managementService = getManagementService();
       JMSQueueControl control = (JMSQueueControl) managementService.getResource(name);
       JMSQueueConfiguration queueConfiguration = new JMSQueueConfigurationImpl(control.getName(), control.getSelector(), !control.isTemporary(), control.getJNDIBindings());
       config[0] = queueConfiguration;
+      HornetQServerControl hornetQServerControl = getHornetQServerControl();
       String addressSettingsAsJSON = hornetQServerControl.getAddressSettingsAsJSON(name);
       config[1] = AddressSettingsInfo.from(addressSettingsAsJSON);
       String rolesAsJSON = hornetQServerControl.getRolesAsJSON(name);
@@ -163,18 +172,19 @@
                                         String consumeRoles) throws Exception
    {
       //update the address settings
+      HornetQServerControl hornetQServerControl = getHornetQServerControl();
       hornetQServerControl.addAddressSettings(name,
-          dla,
-          expiryAddress,
-          lastValueQueue,
-          deliveryAttempts,
-          maxSizeBytes,
-          pageSizeBytes,
-          pageMaxCacheSize,
-          redeliveryDelay,
-          redistributionDelay,
-          sendToDLAOnNoRoute,
-          addressFullMessagePolicy);
+            dla,
+            expiryAddress,
+            lastValueQueue,
+            deliveryAttempts,
+            maxSizeBytes,
+            pageSizeBytes,
+            pageMaxCacheSize,
+            redeliveryDelay,
+            redistributionDelay,
+            sendToDLAOnNoRoute,
+            addressFullMessagePolicy);
       //update security
       hornetQServerControl.addSecuritySettings(name, sendRoles, consumeRoles, "", "", "", "", "");
    }
@@ -185,6 +195,7 @@
            @ManagementParameter(name = "names", description = "the measurement names")})
    public String[] getQueueMeasurements(String name, String[] names) throws Exception
    {
+      ManagementService managementService = getManagementService();
       JMSQueueControl control = (JMSQueueControl) managementService.getResource(name);
       String[] val = new String[names.length];
       for (int i = 0, valLength = val.length; i < valLength; i++)
@@ -209,6 +220,7 @@
            @ManagementParameter(name = "params", description = "the method params")})
    public Object invokeQueueOperation(String name, String method, String[] params, String[] type) throws Exception
    {
+      ManagementService managementService = getManagementService();
       JMSQueueControl control = (JMSQueueControl) managementService.getResource(name);
       Class[] classes = getClassTypes(type);
       Method m = control.getClass().getMethod(method, classes);
@@ -223,6 +235,7 @@
    @MetaMapping(value = MessageListMapper.class)
    public List invokeQueueOperationMessageType(String name, String method, String[] params, String[] type) throws Exception
    {
+      ManagementService managementService = getManagementService();
       JMSQueueControl control = (JMSQueueControl) managementService.getResource(name);
       Class[] classes = getClassTypes(type);
       Method m = control.getClass().getMethod(method, classes);
@@ -235,7 +248,15 @@
    @ManagementOperation(name = "getJMSQueues", description = "returns the JMS Queues")
    public String[] getJMSQueues()
    {
-      return jmsServerControl.getQueueNames();
+      JMSServerControl jmsServerControl = getJmsServerControl();
+      if(jmsServerControl == null)
+      {
+         return new String[]{};
+      }
+      else
+      {
+         return jmsServerControl.getQueueNames();
+      }
    }
    
    @ManagementOperation(name = "isPaused", description = "is the queue paused?",
@@ -244,7 +265,8 @@
    })
    public boolean isPaused(String name) throws Exception
    {
-	   JMSQueueControl control = (JMSQueueControl) managementService.getResource(name);
+      ManagementService managementService = getManagementService();
+      JMSQueueControl control = (JMSQueueControl) managementService.getResource(name);
 	   return control.isPaused();
    }
 }

Modified: branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/TopicManageMO.java
===================================================================
--- branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/TopicManageMO.java	2011-02-21 16:42:56 UTC (rev 110726)
+++ branches/JBPAPP_5_1_0_Final_HornetQ_2_2/hornetq-int/src/main/java/org/jboss/as/integration/hornetq/management/jms/TopicManageMO.java	2011-02-21 18:19:43 UTC (rev 110727)
@@ -22,10 +22,12 @@
 package org.jboss.as.integration.hornetq.management.jms;
 
 import org.hornetq.api.core.management.AddressSettingsInfo;
+import org.hornetq.api.core.management.HornetQServerControl;
 import org.hornetq.api.core.management.RoleInfo;
+import org.hornetq.api.jms.management.JMSServerControl;
 import org.hornetq.api.jms.management.TopicControl;
-import org.hornetq.core.security.Role;
 import org.hornetq.core.server.HornetQServer;
+import org.hornetq.core.server.management.ManagementService;
 import org.hornetq.jms.server.config.TopicConfiguration;
 import org.hornetq.jms.server.config.impl.TopicConfigurationImpl;
 import org.jboss.managed.api.annotation.*;
@@ -53,7 +55,9 @@
        params = {@ManagementParameter(name = "name", description = "the queue name")})
    public void deleteTopic(String name) throws Exception
    {
+      JMSServerControl jmsServerControl = getJmsServerControl();
       jmsServerControl.destroyTopic(name.replace("jms.topic.", ""));
+      HornetQServerControl hornetQServerControl = getHornetQServerControl();
       hornetQServerControl.removeSecuritySettings(name);
       hornetQServerControl.removeAddressSettings(name);
    }
@@ -64,9 +68,11 @@
    public Object[] getTopicConfiguration(String name) throws Exception 
    {
       Object[] config = new Object[3];
+      ManagementService managementService = getManagementService();
       TopicControl control = (TopicControl) managementService.getResource(name);
       TopicConfiguration topicConfiguration = new TopicConfigurationImpl(control.getName(), control.getJNDIBindings());
       config[0] = topicConfiguration;
+      HornetQServerControl hornetQServerControl = getHornetQServerControl();
       String jsonString = hornetQServerControl.getAddressSettingsAsJSON(name);
       config[1] = AddressSettingsInfo.from(jsonString);
       String rolesAsJSON = hornetQServerControl.getRolesAsJSON(name);
@@ -118,19 +124,21 @@
    {
 
       //update the address settings
+      HornetQServerControl hornetQServerControl = getHornetQServerControl();
       hornetQServerControl.addAddressSettings("jms.queue." + name,
-          DLA,
-          expiryAddress,
-          lastValueQueue,
-          deliveryAttempts,
-          maxSizeBytes,
-          pageSizeBytes,
-          pageMaxCacheSize,
-          redeliveryDelay,
-          redistributionDelay,
-          sendToDLAOnNoRoute,
-          addressFullMessagePolicy);
+            DLA,
+            expiryAddress,
+            lastValueQueue,
+            deliveryAttempts,
+            maxSizeBytes,
+            pageSizeBytes,
+            pageMaxCacheSize,
+            redeliveryDelay,
+            redistributionDelay,
+            sendToDLAOnNoRoute,
+            addressFullMessagePolicy);
       //create the queue
+      JMSServerControl jmsServerControl = getJmsServerControl();
       jmsServerControl.createTopic(name, jndiName);
       //update security
       hornetQServerControl.addSecuritySettings(name, sendRoles, consumeRoles, createDurableQueueRoles, deleteDurableQueueRoles, createTempQueueRoles, deleteTempQueueRoles, "");
@@ -179,18 +187,19 @@
                                          final String deleteTempQueueRoles) throws Exception
    {
       //update the address settings
+      HornetQServerControl hornetQServerControl = getHornetQServerControl();
       hornetQServerControl.addAddressSettings(name,
-          dla,
-          expiryAddress,
-          lastValueQueue,
-          deliveryAttempts,
-          maxSizeBytes,
-          pageSizeBytes,
-          pageMaxCacheSize,
-          redeliveryDelay,
-          redistributionDelay,
-          sendToDLAOnNoRoute,
-          addressFullMessagePolicy);
+            dla,
+            expiryAddress,
+            lastValueQueue,
+            deliveryAttempts,
+            maxSizeBytes,
+            pageSizeBytes,
+            pageMaxCacheSize,
+            redeliveryDelay,
+            redistributionDelay,
+            sendToDLAOnNoRoute,
+            addressFullMessagePolicy);
       //update security
       hornetQServerControl.addSecuritySettings(name, sendRoles, consumeRoles, createDurableQueueRoles, deleteDurableQueueRoles, createTempQueueRoles, deleteTempQueueRoles, "");
    }
@@ -201,7 +210,7 @@
            @ManagementParameter(name = "names", description = "the measurement names")})
    public String[] getTopicMeasurements(String name, String[] names) throws Exception
    {
-      TopicControl control = (TopicControl) managementService.getResource(name);
+      TopicControl control = (TopicControl) getManagementService().getResource(name);
       String[] val = new String[names.length];
       for (int i = 0, valLength = val.length; i < valLength; i++)
       {
@@ -225,7 +234,7 @@
            @ManagementParameter(name = "params", description = "the method params")})
    public Object invokeTopicOperation(String name, String method, String[] params, String[] type) throws Exception
    {
-      TopicControl control = (TopicControl) managementService.getResource(name);
+      TopicControl control = (TopicControl) getManagementService().getResource(name);
       Class[] classes = getClassTypes(type);
       Method m = control.getClass().getMethod(method, classes);
       return m.invoke(control, getParams(params, classes));
@@ -239,6 +248,7 @@
    @MetaMapping(value = MessageListMapper.class)
    public List invokeTopicOperationMessageType(String name, String method, String[] params, String[] type) throws Exception
    {
+      ManagementService managementService = getManagementService();
       TopicControl control = (TopicControl) managementService.getResource(name);
       Class[] classes = getClassTypes(type);
       Method m = control.getClass().getMethod(method, classes);
@@ -257,6 +267,7 @@
    @MetaMapping(value = SubscriptionInfoMapper.class)
    public Object[] invokeTopicOperationSubscriptionType(String name, String method, String[] params, String[] type) throws Exception
    {
+      ManagementService managementService = getManagementService();
       TopicControl control = (TopicControl) managementService.getResource(name);
       Class[] classes = getClassTypes(type);
       Method m = control.getClass().getMethod(method, classes);
@@ -268,6 +279,14 @@
    @ManagementOperation(name = "getJMSTopics", description = "returns the JMS Topics")
    public String[] getJMSTopics()
    {
-      return jmsServerControl.getTopicNames();
+      JMSServerControl jmsServerControl = getJmsServerControl();
+      if(jmsServerControl == null)
+      {
+         return new String[]{};
+      }
+      else
+      {
+         return jmsServerControl.getTopicNames();
+      }
    }
 }



More information about the jboss-cvs-commits mailing list