[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