[jboss-cvs] JBoss Messaging SVN: r6358 - in trunk: src/main/org/jboss/messaging/core/config/impl and 12 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Apr 8 07:50:04 EDT 2009
Author: jmesnil
Date: 2009-04-08 07:50:03 -0400 (Wed, 08 Apr 2009)
New Revision: 6358
Added:
trunk/src/main/org/jboss/messaging/core/management/ResourceNames.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlUsingCoreTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlUsingCoreTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlUsingCoreTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlUsingCoreTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/DiscoveryGroupControlUsingCoreTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/DivertControlUsingCoreTest.java
Modified:
trunk/src/main/org/jboss/messaging/core/client/management/impl/ManagementHelper.java
trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java
trunk/src/main/org/jboss/messaging/core/management/AcceptorControlMBean.java
trunk/src/main/org/jboss/messaging/core/management/ManagementService.java
trunk/src/main/org/jboss/messaging/core/management/ReplicationOperationInvoker.java
trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
trunk/src/main/org/jboss/messaging/core/management/impl/ReplicationOperationInvokerImpl.java
trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareAddressControlWrapper.java
trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareMessagingServerControlWrapper.java
trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareQueueControlWrapper.java
trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareStandardMBeanWrapper.java
trunk/src/main/org/jboss/messaging/core/server/cluster/impl/BridgeImpl.java
trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementHelper.java
trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.java
trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareConnectionFactoryControlWrapper.java
trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSQueueControlWrapper.java
trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSServerControlWrapper.java
trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareTopicControlWrapper.java
trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java
trunk/tests/joram-tests/src/org/jboss/test/jms/JBossMessagingAdmin.java
trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailoverManagementTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/jms/bridge/BridgeTestBase.java
trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSMessagingProxy.java
trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSQueueControlUsingJMSTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSServerControlUsingJMSTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/TopicControlUsingJMSTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/AddressControlUsingCoreTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/CoreMessagingProxy.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/DiscoveryGroupControlTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/DivertControlTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlUsingCoreTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/QueueControlUsingCoreTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/SecurityManagementTestBase.java
Log:
JBMESSAGING-1593: Simple naming convention to manage server resources using messages
* when managing JBM resources using messages, the resource name is no longer the ObjectName but a simple name (e.g. core.queue.${name})
Modified: trunk/src/main/org/jboss/messaging/core/client/management/impl/ManagementHelper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/management/impl/ManagementHelper.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/client/management/impl/ManagementHelper.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -31,8 +31,6 @@
import java.util.List;
import java.util.Set;
-import javax.management.ObjectName;
-
import org.jboss.messaging.core.message.Message;
import org.jboss.messaging.utils.SimpleString;
@@ -46,17 +44,17 @@
// Constants -----------------------------------------------------
- public static final SimpleString HDR_JMX_OBJECTNAME = new SimpleString("_JBM_JMX_ObjectName");
+ public static final SimpleString HDR_RESOURCE_NAME = new SimpleString("_JBM_ResourceName");
- public static final SimpleString HDR_JMX_ATTRIBUTE = new SimpleString("_JBM_JMXAttribute");
+ public static final SimpleString HDR_ATTRIBUTE = new SimpleString("_JBM_Attribute");
- public static final SimpleString HDR_JMX_OPERATION_PREFIX = new SimpleString("_JBM_JMXOperation$");
+ public static final SimpleString HDR_OPERATION_PREFIX = new SimpleString("_JBM_Operation$");
- public static final SimpleString HDR_JMX_OPERATION_NAME = new SimpleString(HDR_JMX_OPERATION_PREFIX + "name");
+ public static final SimpleString HDR_OPERATION_NAME = new SimpleString(HDR_OPERATION_PREFIX + "name");
- public static final SimpleString HDR_JMX_OPERATION_SUCCEEDED = new SimpleString("_JBM_JMXOperationSucceeded");
+ public static final SimpleString HDR_OPERATION_SUCCEEDED = new SimpleString("_JBM_OperationSucceeded");
- public static final SimpleString HDR_JMX_OPERATION_EXCEPTION = new SimpleString("_JBM_JMXOperationException");
+ public static final SimpleString HDR_OPERATION_EXCEPTION = new SimpleString("_JBM_OperationException");
public static final SimpleString HDR_NOTIFICATION_TYPE = new SimpleString("_JBM_NotifType");
@@ -88,27 +86,27 @@
// Static --------------------------------------------------------
- public static void putAttribute(final Message message, final ObjectName objectName, final String attribute)
+ public static void putAttribute(final Message message, final String resourceName, final String attribute)
{
- message.putStringProperty(HDR_JMX_OBJECTNAME, new SimpleString(objectName.toString()));
- message.putStringProperty(HDR_JMX_ATTRIBUTE, new SimpleString(attribute));
+ message.putStringProperty(HDR_RESOURCE_NAME, new SimpleString(resourceName));
+ message.putStringProperty(HDR_ATTRIBUTE, new SimpleString(attribute));
}
public static void putOperationInvocation(final Message message,
- final ObjectName objectName,
+ final String resourceName,
final String operationName,
final Object... parameters)
{
// store the name of the operation...
- message.putStringProperty(HDR_JMX_OBJECTNAME, new SimpleString(objectName.toString()));
- message.putStringProperty(HDR_JMX_OPERATION_NAME, new SimpleString(operationName));
+ message.putStringProperty(HDR_RESOURCE_NAME, new SimpleString(resourceName));
+ message.putStringProperty(HDR_OPERATION_NAME, new SimpleString(operationName));
// ... and all the parameters (preserving their types)
for (int i = 0; i < parameters.length; i++)
{
Object parameter = parameters[i];
// use a zero-filled 2-padded index:
// if there is more than 10 parameters, order is preserved (e.g. 02 will be before 10)
- SimpleString key = new SimpleString(String.format("%s%02d", HDR_JMX_OPERATION_PREFIX, i));
+ SimpleString key = new SimpleString(String.format("%s%02d", HDR_OPERATION_PREFIX, i));
storeTypedProperty(message, key, parameter);
}
}
@@ -123,7 +121,7 @@
Collections.sort(propsNames);
for (SimpleString propertyName : propsNames)
{
- if (propertyName.startsWith(ManagementHelper.HDR_JMX_OPERATION_PREFIX))
+ if (propertyName.startsWith(ManagementHelper.HDR_OPERATION_PREFIX))
{
String s = propertyName.toString();
// split by the dot
@@ -153,7 +151,7 @@
public static boolean isOperationResult(final Message message)
{
- return message.containsProperty(HDR_JMX_OPERATION_SUCCEEDED);
+ return message.containsProperty(HDR_OPERATION_SUCCEEDED);
}
public static boolean isAttributesResult(final Message message)
@@ -192,18 +190,18 @@
{
return false;
}
- if (message.containsProperty(HDR_JMX_OPERATION_SUCCEEDED))
+ if (message.containsProperty(HDR_OPERATION_SUCCEEDED))
{
- return (Boolean)message.getProperty(HDR_JMX_OPERATION_SUCCEEDED);
+ return (Boolean)message.getProperty(HDR_OPERATION_SUCCEEDED);
}
return false;
}
public static String getOperationExceptionMessage(final Message message)
{
- if (message.containsProperty(HDR_JMX_OPERATION_EXCEPTION))
+ if (message.containsProperty(HDR_OPERATION_EXCEPTION))
{
- return ((SimpleString)message.getProperty(HDR_JMX_OPERATION_EXCEPTION)).toString();
+ return ((SimpleString)message.getProperty(HDR_OPERATION_EXCEPTION)).toString();
}
return null;
}
Modified: trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -772,16 +772,14 @@
NodeList children = dvNode.getChildNodes();
+ name = dvNode.getAttribute("name");
+
for (int j = 0; j < children.getLength(); j++)
{
Node child = children.item(j);
- if (child.getNodeName().equals("name"))
+ if (child.getNodeName().equals("routing-name"))
{
- name = child.getTextContent().trim();
- }
- else if (child.getNodeName().equals("routing-name"))
- {
routingName = child.getTextContent().trim();
}
else if (child.getNodeName().equals("address"))
Modified: trunk/src/main/org/jboss/messaging/core/management/AcceptorControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/AcceptorControlMBean.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/AcceptorControlMBean.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -32,9 +32,9 @@
*/
public interface AcceptorControlMBean extends MessagingComponentControlMBean
{
- void pause();
+ void pause() throws Exception;
- void resume();
+ void resume() throws Exception;
String getName();
Modified: trunk/src/main/org/jboss/messaging/core/management/ManagementService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/ManagementService.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/ManagementService.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -99,8 +99,12 @@
void registerInJMX(ObjectName objectName, Object managedResource) throws Exception;
- void registerInRegistry(ObjectName objectName, Object managedResource);
+ void unregisterFromJMX(final ObjectName objectName) throws Exception;
+
+ void registerInRegistry(String resourceName, Object managedResource);
+ void unregisterFromRegistry(final String resourceName);
+
void registerAddress(SimpleString address) throws Exception;
void unregisterAddress(SimpleString address) throws Exception;
@@ -133,11 +137,7 @@
void unregisterCluster(String name) throws Exception;
- void registerResource(ObjectName objectName, Object resource) throws Exception;
+ Object getResource(String resourceName);
- void unregisterResource(ObjectName objectName) throws Exception;
-
- Object getResource(ObjectName objectName);
-
ServerMessage handleMessage(ServerMessage message);
}
Modified: trunk/src/main/org/jboss/messaging/core/management/ReplicationOperationInvoker.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/ReplicationOperationInvoker.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/ReplicationOperationInvoker.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -22,7 +22,6 @@
package org.jboss.messaging.core.management;
-import javax.management.ObjectName;
/**
* A ReplicationOperationInvoker
@@ -32,7 +31,7 @@
public interface ReplicationOperationInvoker
{
- Object invoke(ObjectName objectName, String operationName, Object... parameters) throws Exception;
+ Object invoke(String resourceName, String operationName, Object... parameters) throws Exception;
void stop();
}
\ No newline at end of file
Added: trunk/src/main/org/jboss/messaging/core/management/ResourceNames.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/ResourceNames.java (rev 0)
+++ trunk/src/main/org/jboss/messaging/core/management/ResourceNames.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -0,0 +1,81 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+
+package org.jboss.messaging.core.management;
+
+/**
+ * A ResourceNames
+ *
+ * @author jmesnil
+ *
+ *
+ */
+public class ResourceNames
+{
+
+ // Constants -----------------------------------------------------
+
+ public static final String CORE_SERVER = "core.server";
+
+ public static final String CORE_QUEUE = "core.queue.";
+
+ public static final String CORE_ADDRESS = "core.address.";
+
+ public static final String CORE_BRIDGE = "core.bridge.";
+
+ public static final String CORE_ACCEPTOR = "core.acceptor.";
+
+ public static final String CORE_DIVERT = "core.divert.";
+
+ public static final String CORE_CLUSTER_CONNECTION = "core.clusterconnection.";
+
+ public static final String CORE_BROADCAST_GROUP = "core.broadcastgroup.";
+
+ public static final String CORE_DISCOVERY_GROUP = "core.discovery.";
+
+ public static final String JMS_SERVER = "jms.server";
+
+ public static final String JMS_QUEUE = "jms.queue.";
+
+ public static final String JMS_TOPIC = "jms.address.";
+
+ public static final String JMS_CONNECTION_FACTORY = "jms.connectionfactory.";
+
+
+ // Attributes ----------------------------------------------------
+
+ // Static --------------------------------------------------------
+
+ // Constructors --------------------------------------------------
+
+ // Public --------------------------------------------------------
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
+
+}
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -62,6 +62,7 @@
import org.jboss.messaging.core.management.NotificationListener;
import org.jboss.messaging.core.management.ObjectNames;
import org.jboss.messaging.core.management.ReplicationOperationInvoker;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.management.jmx.impl.ReplicationAwareAddressControlWrapper;
import org.jboss.messaging.core.management.jmx.impl.ReplicationAwareMessagingServerControlWrapper;
import org.jboss.messaging.core.management.jmx.impl.ReplicationAwareQueueControlWrapper;
@@ -105,7 +106,7 @@
private final boolean jmxManagementEnabled;
- private final Map<ObjectName, Object> registry;
+ private final Map<String, Object> registry;
private final NotificationBroadcasterSupport broadcaster;
@@ -143,7 +144,7 @@
{
this.mbeanServer = mbeanServer;
this.jmxManagementEnabled = jmxManagementEnabled;
- registry = new HashMap<ObjectName, Object>();
+ registry = new HashMap<String, Object>();
broadcaster = new NotificationBroadcasterSupport();
noticationsEnabled = true;
}
@@ -183,30 +184,29 @@
broadcaster,
queueFactory);
ObjectName objectName = ObjectNames.getMessagingServerObjectName();
- registerInJMX(objectName, new ReplicationAwareMessagingServerControlWrapper(objectName,
- managedServer,
+ registerInJMX(objectName, new ReplicationAwareMessagingServerControlWrapper(managedServer,
replicationInvoker));
- registerInRegistry(objectName, managedServer);
+ registerInRegistry(ResourceNames.CORE_SERVER, managedServer);
return managedServer;
}
- public void unregisterServer() throws Exception
+ public synchronized void unregisterServer() throws Exception
{
ObjectName objectName = ObjectNames.getMessagingServerObjectName();
- unregisterResource(objectName);
+ unregisterFromJMX(objectName);
+ unregisterFromRegistry(ResourceNames.CORE_SERVER);
}
- public void registerAddress(final SimpleString address) throws Exception
+ public synchronized void registerAddress(final SimpleString address) throws Exception
{
ObjectName objectName = ObjectNames.getAddressObjectName(address);
AddressControl addressControl = new AddressControl(address, postOffice, securityRepository);
- registerInJMX(objectName, new ReplicationAwareAddressControlWrapper(objectName,
- addressControl,
+ registerInJMX(objectName, new ReplicationAwareAddressControlWrapper(addressControl,
replicationInvoker));
- registerInRegistry(objectName, addressControl);
+ registerInRegistry(ResourceNames.CORE_ADDRESS + address, addressControl);
if (log.isDebugEnabled())
{
@@ -214,14 +214,15 @@
}
}
- public void unregisterAddress(final SimpleString address) throws Exception
+ public synchronized void unregisterAddress(final SimpleString address) throws Exception
{
ObjectName objectName = ObjectNames.getAddressObjectName(address);
- unregisterResource(objectName);
+ unregisterFromJMX(objectName);
+ unregisterFromRegistry(ResourceNames.CORE_ADDRESS + address);
}
- public void registerQueue(final Queue queue, final SimpleString address, final StorageManager storageManager) throws Exception
+ public synchronized void registerQueue(final Queue queue, final SimpleString address, final StorageManager storageManager) throws Exception
{
MessageCounter counter = new MessageCounter(queue.getName().toString(),
null,
@@ -232,8 +233,8 @@
messageCounterManager.registerMessageCounter(queue.getName().toString(), counter);
ObjectName objectName = ObjectNames.getQueueObjectName(address, queue.getName());
QueueControl queueControl = new QueueControl(queue, address.toString(), postOffice, addressSettingsRepository, counter);
- registerInJMX(objectName, new ReplicationAwareQueueControlWrapper(objectName, queueControl, replicationInvoker));
- registerInRegistry(objectName, queueControl);
+ registerInJMX(objectName, new ReplicationAwareQueueControlWrapper(queueControl, replicationInvoker));
+ registerInRegistry(ResourceNames.CORE_QUEUE + queue.getName(), queueControl);
if (log.isDebugEnabled())
{
@@ -241,19 +242,20 @@
}
}
- public void unregisterQueue(final SimpleString name, final SimpleString address) throws Exception
+ public synchronized void unregisterQueue(final SimpleString name, final SimpleString address) throws Exception
{
ObjectName objectName = ObjectNames.getQueueObjectName(address, name);
- unregisterResource(objectName);
+ unregisterFromJMX(objectName);
+ unregisterFromRegistry(ResourceNames.CORE_QUEUE + name);
messageCounterManager.unregisterMessageCounter(name.toString());
}
- public void registerDivert(Divert divert, DivertConfiguration config) throws Exception
+ public synchronized void registerDivert(Divert divert, DivertConfiguration config) throws Exception
{
ObjectName objectName = ObjectNames.getDivertObjectName(divert.getUniqueName());
DivertControlMBean divertControl = new DivertControl(divert, config);
registerInJMX(objectName, new StandardMBean(divertControl, DivertControlMBean.class));
- registerInRegistry(objectName, divertControl);
+ registerInRegistry(ResourceNames.CORE_DIVERT + config.getName(), divertControl);
if (log.isDebugEnabled())
{
@@ -261,80 +263,86 @@
}
}
- public void unregisterDivert(final SimpleString name) throws Exception
+ public synchronized void unregisterDivert(final SimpleString name) throws Exception
{
ObjectName objectName = ObjectNames.getDivertObjectName(name);
- unregisterResource(objectName);
+ unregisterFromJMX(objectName);
+ unregisterFromRegistry(ResourceNames.CORE_DIVERT + name);
}
- public void registerAcceptor(final Acceptor acceptor, final TransportConfiguration configuration) throws Exception
+ public synchronized void registerAcceptor(final Acceptor acceptor, final TransportConfiguration configuration) throws Exception
{
ObjectName objectName = ObjectNames.getAcceptorObjectName(configuration.getName());
AcceptorControlMBean control = new AcceptorControl(acceptor, configuration);
registerInJMX(objectName, new StandardMBean(control, AcceptorControlMBean.class));
- registerInRegistry(objectName, control);
+ registerInRegistry(ResourceNames.CORE_ACCEPTOR + configuration.getName(), control);
}
- public void unregisterAcceptor(final String name) throws Exception
+ public synchronized void unregisterAcceptor(final String name) throws Exception
{
ObjectName objectName = ObjectNames.getAcceptorObjectName(name);
- unregisterResource(objectName);
+ unregisterFromJMX(objectName);
+ unregisterFromRegistry(ResourceNames.CORE_ACCEPTOR + name);
}
- public void registerBroadcastGroup(BroadcastGroup broadcastGroup, BroadcastGroupConfiguration configuration) throws Exception
+ public synchronized void registerBroadcastGroup(BroadcastGroup broadcastGroup, BroadcastGroupConfiguration configuration) throws Exception
{
ObjectName objectName = ObjectNames.getBroadcastGroupObjectName(configuration.getName());
BroadcastGroupControlMBean control = new BroadcastGroupControl(broadcastGroup, configuration);
registerInJMX(objectName, new StandardMBean(control, BroadcastGroupControlMBean.class));
- registerInRegistry(objectName, control);
+ registerInRegistry(ResourceNames.CORE_BROADCAST_GROUP + configuration.getName(), control);
}
- public void unregisterBroadcastGroup(String name) throws Exception
+ public synchronized void unregisterBroadcastGroup(String name) throws Exception
{
ObjectName objectName = ObjectNames.getBroadcastGroupObjectName(name);
- unregisterResource(objectName);
+ unregisterFromJMX(objectName);
+ unregisterFromRegistry(ResourceNames.CORE_BROADCAST_GROUP + name);
}
- public void registerDiscoveryGroup(DiscoveryGroup discoveryGroup, DiscoveryGroupConfiguration configuration) throws Exception
+ public synchronized void registerDiscoveryGroup(DiscoveryGroup discoveryGroup, DiscoveryGroupConfiguration configuration) throws Exception
{
ObjectName objectName = ObjectNames.getDiscoveryGroupObjectName(configuration.getName());
DiscoveryGroupControlMBean control = new DiscoveryGroupControl(discoveryGroup, configuration);
registerInJMX(objectName, new StandardMBean(control, DiscoveryGroupControlMBean.class));
- registerInRegistry(objectName, control);
+ registerInRegistry(ResourceNames.CORE_DISCOVERY_GROUP + configuration.getName(), control);
}
- public void unregisterDiscoveryGroup(String name) throws Exception
+ public synchronized void unregisterDiscoveryGroup(String name) throws Exception
{
ObjectName objectName = ObjectNames.getDiscoveryGroupObjectName(name);
- unregisterResource(objectName);
+ unregisterFromJMX(objectName);
+ unregisterFromRegistry(ResourceNames.CORE_DISCOVERY_GROUP + name);
}
- public void registerBridge(Bridge bridge, BridgeConfiguration configuration) throws Exception
+ public synchronized void registerBridge(Bridge bridge, BridgeConfiguration configuration) throws Exception
{
ObjectName objectName = ObjectNames.getBridgeObjectName(configuration.getName());
BridgeControlMBean control = new BridgeControl(bridge, configuration);
registerInJMX(objectName, new StandardMBean(control, BridgeControlMBean.class));
- registerInRegistry(objectName, control);
+ registerInRegistry(ResourceNames.CORE_BRIDGE + configuration.getName(), control);
}
- public void unregisterBridge(String name) throws Exception
+ public synchronized void unregisterBridge(String name) throws Exception
{
ObjectName objectName = ObjectNames.getBridgeObjectName(name);
- unregisterResource(objectName);
+ unregisterFromJMX(objectName);
+ unregisterFromRegistry(ResourceNames.CORE_BRIDGE + name);
}
- public void registerCluster(final ClusterConnection cluster, final ClusterConnectionConfiguration configuration) throws Exception
+ public synchronized void registerCluster(final ClusterConnection cluster, final ClusterConnectionConfiguration configuration) throws Exception
{
ObjectName objectName = ObjectNames.getClusterConnectionObjectName(configuration.getName());
ClusterConnectionControlMBean control = new ClusterConnectionControl(cluster, configuration);
registerInJMX(objectName, new StandardMBean(control, ClusterConnectionControlMBean.class));
- registerInRegistry(objectName, control);
+ registerInRegistry(ResourceNames.CORE_CLUSTER_CONNECTION + configuration.getName(), control);
}
- public void unregisterCluster(final String name) throws Exception
+ public synchronized void unregisterCluster(final String name) throws Exception
{
ObjectName objectName = ObjectNames.getClusterConnectionObjectName(name);
- unregisterResource(objectName);
+ unregisterFromJMX(objectName);
+ unregisterFromRegistry(ResourceNames.CORE_CLUSTER_CONNECTION + name);
}
public ServerMessage handleMessage(final ServerMessage message)
@@ -345,10 +353,10 @@
ServerMessageImpl reply = new ServerMessageImpl(message);
reply.setType(MessageImpl.OBJECT_TYPE);
- SimpleString objectName = (SimpleString)message.getProperty(ManagementHelper.HDR_JMX_OBJECTNAME);
+ SimpleString resourceName = (SimpleString)message.getProperty(ManagementHelper.HDR_RESOURCE_NAME);
if (log.isDebugEnabled())
{
- log.debug("handling management message for " + objectName);
+ log.debug("handling management message for " + resourceName);
}
Set<SimpleString> propertyNames = message.getPropertyNames();
// use an array with all the property names to avoid a
@@ -357,23 +365,23 @@
// properties to the message)
List<SimpleString> propNames = new ArrayList<SimpleString>(propertyNames);
- if (propNames.contains(ManagementHelper.HDR_JMX_OPERATION_NAME))
+ if (propNames.contains(ManagementHelper.HDR_OPERATION_NAME))
{
- SimpleString operation = (SimpleString)message.getProperty(ManagementHelper.HDR_JMX_OPERATION_NAME);
+ SimpleString operation = (SimpleString)message.getProperty(ManagementHelper.HDR_OPERATION_NAME);
List<Object> operationParameters = ManagementHelper.retrieveOperationParameters(message);
if (operation != null)
{
try
{
- Object result = invokeOperation(objectName.toString(), operation.toString(), operationParameters);
- reply.putBooleanProperty(ManagementHelper.HDR_JMX_OPERATION_SUCCEEDED, true);
+ Object result = invokeOperation(resourceName.toString(), operation.toString(), operationParameters);
+ reply.putBooleanProperty(ManagementHelper.HDR_OPERATION_SUCCEEDED, true);
ManagementHelper.storeResult(reply, result);
}
catch (Exception e)
{
- log.warn("exception while invoking " + operation + " on " + objectName, e);
- reply.putBooleanProperty(ManagementHelper.HDR_JMX_OPERATION_SUCCEEDED, false);
+ log.warn("exception while invoking " + operation + " on " + resourceName, e);
+ reply.putBooleanProperty(ManagementHelper.HDR_OPERATION_SUCCEEDED, false);
String exceptionMessage = e.getMessage();
if (e instanceof InvocationTargetException)
{
@@ -381,7 +389,7 @@
}
if (e != null)
{
- reply.putStringProperty(ManagementHelper.HDR_JMX_OPERATION_EXCEPTION,
+ reply.putStringProperty(ManagementHelper.HDR_OPERATION_EXCEPTION,
new SimpleString(exceptionMessage));
}
}
@@ -391,10 +399,10 @@
{
for (SimpleString propertyName : propNames)
{
- if (propertyName.equals(ManagementHelper.HDR_JMX_ATTRIBUTE))
+ if (propertyName.equals(ManagementHelper.HDR_ATTRIBUTE))
{
SimpleString attribute = (SimpleString)message.getProperty(propertyName);
- Object result = getAttribute(objectName.toString(), attribute.toString());
+ Object result = getAttribute(resourceName.toString(), attribute.toString());
ManagementHelper.storeResult(reply, result);
}
}
@@ -403,23 +411,11 @@
return reply;
}
- public void registerResource(final ObjectName objectName, final Object resource) throws Exception
+ public Object getResource(final String resourceName)
{
- registerInRegistry(objectName, resource);
- registerInJMX(objectName, resource);
+ return registry.get(resourceName);
}
- public void unregisterResource(final ObjectName objectName) throws Exception
- {
- unregisterFromRegistry(objectName);
- unregisterFromJMX(objectName);
- }
-
- public Object getResource(final ObjectName objectName)
- {
- return registry.get(objectName);
- }
-
public void registerInJMX(final ObjectName objectName, final Object managedResource) throws Exception
{
if (!jmxManagementEnabled)
@@ -433,12 +429,35 @@
}
}
- public void registerInRegistry(final ObjectName objectName, final Object managedResource)
+ public synchronized void registerInRegistry(final String resourceName, final Object managedResource)
{
- unregisterFromRegistry(objectName);
- registry.put(objectName, managedResource);
+ unregisterFromRegistry(resourceName);
+ registry.put(resourceName, managedResource);
}
+ public void unregisterFromRegistry(final String resourceName)
+ {
+ registry.remove(resourceName);
+ }
+
+ // the JMX unregistration is synchronized to avoid race conditions if 2 clients tries to
+ // unregister the same resource (e.g. a queue) at the same time since unregisterMBean()
+ // will throw an exception if the MBean has already been unregistered
+ public void unregisterFromJMX(final ObjectName objectName) throws Exception
+ {
+ if (!jmxManagementEnabled)
+ {
+ return;
+ }
+ synchronized (mbeanServer)
+ {
+ if (mbeanServer.isRegistered(objectName))
+ {
+ mbeanServer.unregisterMBean(objectName);
+ }
+ }
+ }
+
public void addNotificationListener(final NotificationListener listener)
{
listeners.add(listener);
@@ -506,11 +525,11 @@
public synchronized void stop() throws Exception
{
- Set<ObjectName> objectNames = new HashSet<ObjectName>(registry.keySet());
+ Set<String> resourceNames = new HashSet<String>(registry.keySet());
- for (ObjectName objectName : objectNames)
+ for (String resourceName : resourceNames)
{
- unregisterResource(objectName);
+ unregisterFromRegistry(resourceName);
}
replicationInvoker.stop();
@@ -528,29 +547,6 @@
// Protected -----------------------------------------------------
// Private -------------------------------------------------------
-
- private void unregisterFromRegistry(final ObjectName objectName)
- {
- registry.remove(objectName);
- }
-
- // the JMX unregistration is synchronized to avoid race conditions if 2 clients tries to
- // unregister the same resource (e.g. a queue) at the same time since unregisterMBean()
- // will throw an exception if the MBean has already been unregistered
- private void unregisterFromJMX(final ObjectName objectName) throws Exception
- {
- if (!jmxManagementEnabled)
- {
- return;
- }
- synchronized (mbeanServer)
- {
- if (mbeanServer.isRegistered(objectName))
- {
- mbeanServer.unregisterMBean(objectName);
- }
- }
- }
public void sendNotification(final Notification notification) throws Exception
{
@@ -615,12 +611,11 @@
noticationsEnabled = enabled;
}
- public Object getAttribute(final String objectNameStr, final String attribute)
+ public Object getAttribute(final String resourceName, final String attribute)
{
try
{
- ObjectName objectName = ObjectName.getInstance(objectNameStr);
- Object resource = registry.get(objectName);
+ Object resource = registry.get(resourceName);
Method method = null;
try
@@ -646,10 +641,9 @@
}
}
- private Object invokeOperation(final String objectNameStr, final String operation, final List<Object> params) throws Exception
+ private Object invokeOperation(final String resourceName, final String operation, final List<Object> params) throws Exception
{
- ObjectName objectName = ObjectName.getInstance(objectNameStr);
- Object resource = registry.get(objectName);
+ Object resource = registry.get(resourceName);
Method method = null;
Method[] methods = resource.getClass().getMethods();
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/ReplicationOperationInvokerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/ReplicationOperationInvokerImpl.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/ReplicationOperationInvokerImpl.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -82,7 +82,7 @@
// Public --------------------------------------------------------
- public synchronized Object invoke(final ObjectName objectName,
+ public synchronized Object invoke(final String resourceName,
final String operationName,
final Object... parameters) throws Exception
{
@@ -94,7 +94,7 @@
clientSession.start();
}
ClientMessage mngmntMessage = clientSession.createClientMessage(false);
- ManagementHelper.putOperationInvocation(mngmntMessage, objectName, operationName, parameters);
+ ManagementHelper.putOperationInvocation(mngmntMessage, resourceName, operationName, parameters);
ClientMessage reply = requestor.request(mngmntMessage, timeout);
if (reply == null)
Modified: trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareAddressControlWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareAddressControlWrapper.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareAddressControlWrapper.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -22,15 +22,15 @@
package org.jboss.messaging.core.management.jmx.impl;
+import javax.management.MBeanInfo;
+import javax.management.openmbean.TabularData;
+
import org.jboss.messaging.core.management.AddressControlMBean;
import org.jboss.messaging.core.management.ReplicationOperationInvoker;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.management.impl.AddressControl;
import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
-import javax.management.MBeanInfo;
-import javax.management.ObjectName;
-import javax.management.openmbean.TabularData;
-
/**
* A ReplicationAwareAddressControlWrapper
*
@@ -50,11 +50,10 @@
// Constructors --------------------------------------------------
- public ReplicationAwareAddressControlWrapper(final ObjectName objectName,
- final AddressControl localAddressControl,
+ public ReplicationAwareAddressControlWrapper(final AddressControl localAddressControl,
final ReplicationOperationInvoker replicationInvoker) throws Exception
{
- super(objectName, AddressControlMBean.class, replicationInvoker);
+ super(ResourceNames.CORE_ADDRESS + localAddressControl.getAddress(), AddressControlMBean.class, replicationInvoker);
this.localAddressControl = localAddressControl;
}
Modified: trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareMessagingServerControlWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareMessagingServerControlWrapper.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareMessagingServerControlWrapper.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -25,12 +25,12 @@
import java.util.List;
import javax.management.MBeanInfo;
-import javax.management.ObjectName;
import javax.management.openmbean.TabularData;
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.management.MessagingServerControlMBean;
import org.jboss.messaging.core.management.ReplicationOperationInvoker;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
import org.jboss.messaging.core.management.impl.MessagingServerControl;
@@ -54,11 +54,10 @@
// Constructors --------------------------------------------------
- public ReplicationAwareMessagingServerControlWrapper(final ObjectName objectName,
- final MessagingServerControl localControl,
+ public ReplicationAwareMessagingServerControlWrapper(final MessagingServerControl localControl,
final ReplicationOperationInvoker replicationInvoker) throws Exception
{
- super(objectName, MessagingServerControlMBean.class, replicationInvoker);
+ super(ResourceNames.CORE_SERVER, MessagingServerControlMBean.class, replicationInvoker);
this.localControl = localControl;
}
Modified: trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareQueueControlWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareQueueControlWrapper.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareQueueControlWrapper.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -23,12 +23,12 @@
package org.jboss.messaging.core.management.jmx.impl;
import javax.management.MBeanInfo;
-import javax.management.ObjectName;
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.TabularData;
import org.jboss.messaging.core.management.QueueControlMBean;
import org.jboss.messaging.core.management.ReplicationOperationInvoker;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
import org.jboss.messaging.core.management.impl.QueueControl;
@@ -51,11 +51,10 @@
// Constructors --------------------------------------------------
- public ReplicationAwareQueueControlWrapper(final ObjectName objectName,
- final QueueControl localControl,
+ public ReplicationAwareQueueControlWrapper(final QueueControl localControl,
final ReplicationOperationInvoker replicationInvoker) throws Exception
{
- super(objectName, QueueControlMBean.class, replicationInvoker);
+ super(ResourceNames.CORE_QUEUE + localControl.getName(), QueueControlMBean.class, replicationInvoker);
this.localQueueControl = localControl;
}
Modified: trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareStandardMBeanWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareStandardMBeanWrapper.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareStandardMBeanWrapper.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -22,7 +22,6 @@
package org.jboss.messaging.core.management.jmx.impl;
-import javax.management.ObjectName;
import javax.management.StandardMBean;
import org.jboss.messaging.core.management.ReplicationOperationInvoker;
@@ -43,7 +42,7 @@
// Attributes ----------------------------------------------------
- private final ObjectName objectName;
+ private final String resourceName;
private final ReplicationOperationInvoker replicationInvoker;
@@ -51,13 +50,13 @@
// Constructors --------------------------------------------------
- protected ReplicationAwareStandardMBeanWrapper(final ObjectName objectName,
+ protected ReplicationAwareStandardMBeanWrapper(final String resourceName,
final Class mbeanInterface,
final ReplicationOperationInvoker replicationInvoker) throws Exception
{
super(mbeanInterface);
- this.objectName = objectName;
+ this.resourceName = resourceName;
this.replicationInvoker = replicationInvoker;
}
@@ -69,7 +68,7 @@
protected Object replicationAwareInvoke(final String operationName, final Object... parameters) throws Exception
{
- return replicationInvoker.invoke(objectName, operationName, parameters);
+ return replicationInvoker.invoke(resourceName, operationName, parameters);
}
// Private -------------------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/server/cluster/impl/BridgeImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/cluster/impl/BridgeImpl.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/server/cluster/impl/BridgeImpl.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -61,7 +61,7 @@
import org.jboss.messaging.core.filter.impl.FilterImpl;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.management.NotificationType;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.message.Message;
import org.jboss.messaging.core.message.impl.MessageImpl;
import org.jboss.messaging.core.persistence.StorageManager;
@@ -691,7 +691,7 @@
ClientMessage message = session.createClientMessage(false);
ManagementHelper.putOperationInvocation(message,
- ObjectNames.getMessagingServerObjectName(),
+ ResourceNames.CORE_SERVER,
"sendQueueInfoToQueue",
notifQueueName.toString(),
flowRecord.getAddress());
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementHelper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementHelper.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementHelper.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -21,16 +21,15 @@
package org.jboss.messaging.jms.server.management.impl;
-import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_JMX_ATTRIBUTE;
-import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_JMX_OBJECTNAME;
-import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_JMX_OPERATION_EXCEPTION;
-import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_JMX_OPERATION_NAME;
-import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_JMX_OPERATION_PREFIX;
-import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_JMX_OPERATION_SUCCEEDED;
+import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_ATTRIBUTE;
+import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_RESOURCE_NAME;
+import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_OPERATION_EXCEPTION;
+import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_OPERATION_NAME;
+import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_OPERATION_PREFIX;
+import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_OPERATION_SUCCEEDED;
import javax.jms.JMSException;
import javax.jms.Message;
-import javax.management.ObjectName;
/*
* @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
@@ -46,34 +45,34 @@
// Static --------------------------------------------------------
- public static void putAttribute(final Message message, final ObjectName objectName, final String attribute) throws JMSException
+ public static void putAttribute(final Message message, final String resourceName, final String attribute) throws JMSException
{
- message.setStringProperty(HDR_JMX_OBJECTNAME.toString(), objectName.toString());
- message.setStringProperty(HDR_JMX_ATTRIBUTE.toString(), attribute);
+ message.setStringProperty(HDR_RESOURCE_NAME.toString(), resourceName);
+ message.setStringProperty(HDR_ATTRIBUTE.toString(), attribute);
}
public static void putOperationInvocation(final Message message,
- final ObjectName objectName,
+ final String resourceName,
final String operationName,
final Object... parameters) throws JMSException
{
// store the name of the operation...
- message.setStringProperty(HDR_JMX_OBJECTNAME.toString(), objectName.toString());
- message.setStringProperty(HDR_JMX_OPERATION_NAME.toString(), operationName);
+ message.setStringProperty(HDR_RESOURCE_NAME.toString(), resourceName);
+ message.setStringProperty(HDR_OPERATION_NAME.toString(), operationName);
// ... and all the parameters (preserving their types)
for (int i = 0; i < parameters.length; i++)
{
Object parameter = parameters[i];
// use a zero-filled 2-padded index:
// if there is more than 10 parameters, order is preserved (e.g. 02 will be before 10)
- String key = String.format("%s%02d", HDR_JMX_OPERATION_PREFIX, i);
+ String key = String.format("%s%02d", HDR_OPERATION_PREFIX, i);
storeTypedProperty(message, key, parameter);
}
}
public static boolean isOperationResult(final Message message) throws JMSException
{
- return message.propertyExists(HDR_JMX_OPERATION_SUCCEEDED.toString());
+ return message.propertyExists(HDR_OPERATION_SUCCEEDED.toString());
}
public static boolean isAttributesResult(final Message message) throws JMSException
@@ -87,18 +86,18 @@
{
return false;
}
- if (message.propertyExists(HDR_JMX_OPERATION_SUCCEEDED.toString()))
+ if (message.propertyExists(HDR_OPERATION_SUCCEEDED.toString()))
{
- return message.getBooleanProperty(HDR_JMX_OPERATION_SUCCEEDED.toString());
+ return message.getBooleanProperty(HDR_OPERATION_SUCCEEDED.toString());
}
return false;
}
public static String getOperationExceptionMessage(final Message message) throws JMSException
{
- if (message.propertyExists(HDR_JMX_OPERATION_EXCEPTION.toString()))
+ if (message.propertyExists(HDR_OPERATION_EXCEPTION.toString()))
{
- return message.getStringProperty(HDR_JMX_OPERATION_EXCEPTION.toString());
+ return message.getStringProperty(HDR_OPERATION_EXCEPTION.toString());
}
return null;
}
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -29,6 +29,7 @@
import org.jboss.messaging.core.management.ManagementService;
import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.messagecounter.MessageCounter;
import org.jboss.messaging.core.messagecounter.MessageCounterManager;
import org.jboss.messaging.core.persistence.StorageManager;
@@ -71,24 +72,24 @@
// JMSManagementRegistration implementation ----------------------
- public void registerJMSServer(final JMSServerManager server) throws Exception
+ public synchronized void registerJMSServer(final JMSServerManager server) throws Exception
{
ObjectName objectName = ObjectNames.getJMSServerObjectName();
JMSServerControl control = new JMSServerControl(server);
managementService.registerInJMX(objectName,
- new ReplicationAwareJMSServerControlWrapper(objectName,
- control,
+ new ReplicationAwareJMSServerControlWrapper(control,
managementService.getReplicationOperationInvoker()));
- managementService.registerInRegistry(objectName, control);
+ managementService.registerInRegistry(ResourceNames.JMS_SERVER, control);
}
- public void unregisterJMSServer() throws Exception
+ public synchronized void unregisterJMSServer() throws Exception
{
ObjectName objectName = ObjectNames.getJMSServerObjectName();
- managementService.unregisterResource(objectName);
+ managementService.unregisterFromJMX(objectName);
+ managementService.unregisterFromRegistry(ResourceNames.JMS_SERVER);
}
- public void registerQueue(final JBossQueue queue,
+ public synchronized void registerQueue(final JBossQueue queue,
final Queue coreQueue,
final String jndiBinding,
final PostOffice postOffice,
@@ -111,19 +112,19 @@
addressSettingsRepository,
counter);
managementService.registerInJMX(objectName,
- new ReplicationAwareJMSQueueControlWrapper(objectName,
- control,
+ new ReplicationAwareJMSQueueControlWrapper(control,
managementService.getReplicationOperationInvoker()));
- managementService.registerInRegistry(objectName, control);
+ managementService.registerInRegistry(ResourceNames.JMS_QUEUE + queue.getQueueName(), control);
}
- public void unregisterQueue(final String name) throws Exception
+ public synchronized void unregisterQueue(final String name) throws Exception
{
ObjectName objectName = ObjectNames.getJMSQueueObjectName(name);
- managementService.unregisterResource(objectName);
+ managementService.unregisterFromJMX(objectName);
+ managementService.unregisterFromRegistry(ResourceNames.JMS_QUEUE + name);
}
- public void registerTopic(final JBossTopic topic,
+ public synchronized void registerTopic(final JBossTopic topic,
final String jndiBinding,
final PostOffice postOffice,
final StorageManager storageManager,
@@ -131,35 +132,35 @@
{
ObjectName objectName = ObjectNames.getJMSTopicObjectName(topic.getTopicName());
TopicControl control = new TopicControl(topic, jndiBinding, postOffice);
- managementService.registerInJMX(objectName, new ReplicationAwareTopicControlWrapper(objectName,
- control,
+ managementService.registerInJMX(objectName, new ReplicationAwareTopicControlWrapper(control,
managementService.getReplicationOperationInvoker()));
- managementService.registerInRegistry(objectName, control);
+ managementService.registerInRegistry(ResourceNames.JMS_TOPIC + topic.getTopicName(), control);
}
- public void unregisterTopic(final String name) throws Exception
+ public synchronized void unregisterTopic(final String name) throws Exception
{
ObjectName objectName = ObjectNames.getJMSTopicObjectName(name);
- managementService.unregisterResource(objectName);
+ managementService.unregisterFromJMX(objectName);
+ managementService.unregisterFromRegistry(ResourceNames.JMS_TOPIC + name);
}
- public void registerConnectionFactory(final String name,
+ public synchronized void registerConnectionFactory(final String name,
final JBossConnectionFactory connectionFactory,
final List<String> bindings) throws Exception
{
ObjectName objectName = ObjectNames.getConnectionFactoryObjectName(name);
ConnectionFactoryControl control = new ConnectionFactoryControl(connectionFactory, name, bindings);
managementService.registerInJMX(objectName,
- new ReplicationAwareConnectionFactoryControlWrapper(objectName,
- control,
+ new ReplicationAwareConnectionFactoryControlWrapper(control,
managementService.getReplicationOperationInvoker()));
- managementService.registerInRegistry(objectName, control);
+ managementService.registerInRegistry(ResourceNames.JMS_CONNECTION_FACTORY + name, control);
}
- public void unregisterConnectionFactory(final String name) throws Exception
+ public synchronized void unregisterConnectionFactory(final String name) throws Exception
{
ObjectName objectName = ObjectNames.getConnectionFactoryObjectName(name);
- managementService.unregisterResource(objectName);
+ managementService.unregisterFromJMX(objectName);
+ managementService.unregisterFromRegistry(ResourceNames.JMS_CONNECTION_FACTORY + name);
}
// Package protected ---------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareConnectionFactoryControlWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareConnectionFactoryControlWrapper.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareConnectionFactoryControlWrapper.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -25,9 +25,9 @@
import java.util.List;
import javax.management.MBeanInfo;
-import javax.management.ObjectName;
import org.jboss.messaging.core.management.ReplicationOperationInvoker;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
import org.jboss.messaging.core.management.jmx.impl.ReplicationAwareStandardMBeanWrapper;
import org.jboss.messaging.jms.server.management.ConnectionFactoryControlMBean;
@@ -52,11 +52,10 @@
// Constructors --------------------------------------------------
- public ReplicationAwareConnectionFactoryControlWrapper(final ObjectName objectName,
- final ConnectionFactoryControl localControl,
+ public ReplicationAwareConnectionFactoryControlWrapper(final ConnectionFactoryControl localControl,
final ReplicationOperationInvoker replicationInvoker) throws Exception
{
- super(objectName, ConnectionFactoryControlMBean.class, replicationInvoker);
+ super(ResourceNames.JMS_CONNECTION_FACTORY + localControl.getName(), ConnectionFactoryControlMBean.class, replicationInvoker);
this.localControl = localControl;
}
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSQueueControlWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSQueueControlWrapper.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSQueueControlWrapper.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -23,11 +23,11 @@
package org.jboss.messaging.jms.server.management.jmx.impl;
import javax.management.MBeanInfo;
-import javax.management.ObjectName;
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.TabularData;
import org.jboss.messaging.core.management.ReplicationOperationInvoker;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
import org.jboss.messaging.core.management.jmx.impl.ReplicationAwareStandardMBeanWrapper;
import org.jboss.messaging.jms.server.management.JMSQueueControlMBean;
@@ -52,11 +52,10 @@
// Constructors --------------------------------------------------
- public ReplicationAwareJMSQueueControlWrapper(final ObjectName objectName,
- final JMSQueueControl localControl,
+ public ReplicationAwareJMSQueueControlWrapper(final JMSQueueControl localControl,
final ReplicationOperationInvoker replicationInvoker) throws Exception
{
- super(objectName, JMSQueueControlMBean.class, replicationInvoker);
+ super(ResourceNames.JMS_QUEUE + localControl.getName(), JMSQueueControlMBean.class, replicationInvoker);
this.localControl = localControl;
}
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSServerControlWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSServerControlWrapper.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSServerControlWrapper.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -25,10 +25,10 @@
import java.util.List;
import javax.management.MBeanInfo;
-import javax.management.ObjectName;
import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.management.ReplicationOperationInvoker;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
import org.jboss.messaging.core.management.jmx.impl.ReplicationAwareStandardMBeanWrapper;
import org.jboss.messaging.jms.server.management.JMSServerControlMBean;
@@ -54,11 +54,10 @@
// Constructors --------------------------------------------------
- public ReplicationAwareJMSServerControlWrapper(final ObjectName objectName,
- final JMSServerControl localControl,
+ public ReplicationAwareJMSServerControlWrapper(final JMSServerControl localControl,
final ReplicationOperationInvoker replicationInvoker) throws Exception
{
- super(objectName, JMSServerControlMBean.class, replicationInvoker);
+ super(ResourceNames.JMS_SERVER, JMSServerControlMBean.class, replicationInvoker);
this.localControl = localControl;
}
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareTopicControlWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareTopicControlWrapper.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareTopicControlWrapper.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -23,10 +23,10 @@
package org.jboss.messaging.jms.server.management.jmx.impl;
import javax.management.MBeanInfo;
-import javax.management.ObjectName;
import javax.management.openmbean.TabularData;
import org.jboss.messaging.core.management.ReplicationOperationInvoker;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
import org.jboss.messaging.core.management.jmx.impl.ReplicationAwareStandardMBeanWrapper;
import org.jboss.messaging.jms.server.management.TopicControlMBean;
@@ -51,11 +51,10 @@
// Constructors --------------------------------------------------
- public ReplicationAwareTopicControlWrapper(final ObjectName objectName,
- final TopicControl localControl,
+ public ReplicationAwareTopicControlWrapper(final TopicControl localControl,
final ReplicationOperationInvoker replicationInvoker) throws Exception
{
- super(objectName, TopicControlMBean.class, replicationInvoker);
+ super(ResourceNames.JMS_TOPIC + localControl.getName(), TopicControlMBean.class, replicationInvoker);
this.localControl = localControl;
}
Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -22,8 +22,8 @@
package org.jboss.test.messaging.tools.container;
import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_CONNECTION_TTL;
+import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_FAILOVER_ON_SERVER_SHUTDOWN;
import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_RECONNECT_ATTEMPTS;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_FAILOVER_ON_SERVER_SHUTDOWN;
import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_RETRY_INTERVAL;
import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_RETRY_INTERVAL_MULTIPLIER;
@@ -47,6 +47,7 @@
import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.postoffice.Binding;
import org.jboss.messaging.core.postoffice.BindingType;
import org.jboss.messaging.core.security.Role;
@@ -402,9 +403,8 @@
public Integer getMessageCountForQueue(String queueName) throws Exception
{
- ObjectName objectName = ObjectNames.getJMSQueueObjectName(queueName);
JMSQueueControlMBean queue = (JMSQueueControlMBean)getMessagingServer().getManagementService()
- .getResource(objectName);
+ .getResource(ResourceNames.JMS_QUEUE + queueName);
if (queue != null)
{
return queue.getMessageCount();
Modified: trunk/tests/joram-tests/src/org/jboss/test/jms/JBossMessagingAdmin.java
===================================================================
--- trunk/tests/joram-tests/src/org/jboss/test/jms/JBossMessagingAdmin.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/joram-tests/src/org/jboss/test/jms/JBossMessagingAdmin.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -22,7 +22,17 @@
package org.jboss.test.jms;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.util.Hashtable;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
import junit.framework.Assert;
+
import org.jboss.messaging.core.client.ClientMessage;
import org.jboss.messaging.core.client.ClientRequestor;
import org.jboss.messaging.core.client.ClientSession;
@@ -30,21 +40,12 @@
import org.jboss.messaging.core.client.management.impl.ManagementHelper;
import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.security.impl.SecurityStoreImpl;
import org.jboss.messaging.integration.transports.netty.NettyConnectorFactory;
import org.jboss.messaging.tests.util.SpawnedVMSupport;
import org.objectweb.jtests.jms.admin.Admin;
-import javax.management.ObjectName;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.util.Hashtable;
-
/**
* A JBossMessagingAdmin
*
@@ -101,7 +102,7 @@
{
try
{
- invokeSyncOperation(ObjectNames.getJMSServerObjectName(),
+ invokeSyncOperation(ResourceNames.JMS_SERVER,
"createConnectionFactory",
name,
NettyConnectorFactory.class.getName(),
@@ -128,7 +129,7 @@
Boolean result;
try
{
- result = (Boolean)invokeSyncOperation(ObjectNames.getJMSServerObjectName(), "createQueue", name, name);
+ result = (Boolean)invokeSyncOperation(ResourceNames.JMS_SERVER, "createQueue", name, name);
Assert.assertEquals(true, result.booleanValue());
}
catch (Exception e)
@@ -147,7 +148,7 @@
Boolean result;
try
{
- result = (Boolean)invokeSyncOperation(ObjectNames.getJMSServerObjectName(), "createTopic", name, name);
+ result = (Boolean)invokeSyncOperation(ResourceNames.JMS_SERVER, "createTopic", name, name);
Assert.assertEquals(true, result.booleanValue());
}
catch (Exception e)
@@ -165,7 +166,7 @@
{
try
{
- invokeSyncOperation(ObjectNames.getJMSServerObjectName(), "destroyConnectionFactory", name);
+ invokeSyncOperation(ResourceNames.JMS_SERVER, "destroyConnectionFactory", name);
}
catch (Exception e)
{
@@ -178,7 +179,7 @@
Boolean result;
try
{
- result = (Boolean)invokeSyncOperation(ObjectNames.getJMSServerObjectName(), "destroyQueue", name);
+ result = (Boolean)invokeSyncOperation(ResourceNames.JMS_SERVER, "destroyQueue", name);
Assert.assertEquals(true, result.booleanValue());
}
catch (Exception e)
@@ -197,7 +198,7 @@
Boolean result;
try
{
- result = (Boolean)invokeSyncOperation(ObjectNames.getJMSServerObjectName(), "destroyTopic", name);
+ result = (Boolean)invokeSyncOperation(ResourceNames.JMS_SERVER, "destroyTopic", name);
Assert.assertEquals(true, result.booleanValue());
}
catch (Exception e)
@@ -290,10 +291,10 @@
// Private -------------------------------------------------------
- private Object invokeSyncOperation(ObjectName objectName, String operationName, Object... parameters)
+ private Object invokeSyncOperation(String resourceName, String operationName, Object... parameters)
{
ClientMessage message = clientSession.createClientMessage(false);
- ManagementHelper.putOperationInvocation(message, objectName, operationName, parameters);
+ ManagementHelper.putOperationInvocation(message, resourceName, operationName, parameters);
ClientMessage reply;
try
{
@@ -301,17 +302,17 @@
}
catch (Exception e)
{
- throw new IllegalStateException("Exception while invoking " + operationName + " on " + objectName, e);
+ throw new IllegalStateException("Exception while invoking " + operationName + " on " + resourceName, e);
}
if (reply == null)
{
- throw new IllegalStateException("no reply received when invoking " + operationName + " on " + objectName);
+ throw new IllegalStateException("no reply received when invoking " + operationName + " on " + resourceName);
}
if (!ManagementHelper.hasOperationSucceeded(reply))
{
throw new IllegalStateException("operation failed when invoking " + operationName +
" on " +
- objectName +
+ resourceName +
": " +
ManagementHelper.getOperationExceptionMessage(reply));
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailoverManagementTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailoverManagementTest.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailoverManagementTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -41,7 +41,7 @@
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.remoting.RemotingConnection;
import org.jboss.messaging.core.remoting.impl.invm.InVMRegistry;
import org.jboss.messaging.core.remoting.impl.invm.TransportConstants;
@@ -114,7 +114,7 @@
ClientMessage managementMessage = session1.createClientMessage(false);
ManagementHelper.putAttribute(managementMessage,
- ObjectNames.getQueueObjectName(ADDRESS, ADDRESS),
+ ResourceNames.CORE_QUEUE + ADDRESS,
"MessageCount");
managementMessage.putStringProperty(ClientMessageImpl.REPLYTO_HEADER_NAME, replyTo);
@@ -133,7 +133,7 @@
ClientMessage managementMessage = session1.createClientMessage(false);
ManagementHelper.putAttribute(managementMessage,
- ObjectNames.getQueueObjectName(ADDRESS, ADDRESS),
+ ResourceNames.CORE_QUEUE + ADDRESS,
"MessageCount");
managementMessage.putStringProperty(ClientMessageImpl.REPLYTO_HEADER_NAME, replyTo);
@@ -203,7 +203,7 @@
ClientMessage managementMessage = session1.createClientMessage(false);
ManagementHelper.putAttribute(managementMessage,
- ObjectNames.getQueueObjectName(ADDRESS, ADDRESS),
+ ResourceNames.CORE_QUEUE + ADDRESS,
"MessageCount");
managementMessage.putStringProperty(ClientMessageImpl.REPLYTO_HEADER_NAME, replyTo);
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/bridge/BridgeTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/bridge/BridgeTestBase.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/bridge/BridgeTestBase.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -51,7 +51,6 @@
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.jms.Topic;
-import javax.management.ObjectName;
import javax.transaction.TransactionManager;
import com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple;
@@ -61,7 +60,7 @@
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.management.ManagementService;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
import org.jboss.messaging.core.remoting.impl.invm.TransportConstants;
import org.jboss.messaging.core.server.Messaging;
@@ -456,8 +455,7 @@
{
managementService = server1.getManagementService();
}
- ObjectName objectName = ObjectNames.getJMSQueueObjectName(queue.getQueueName());
- JMSQueueControlMBean queueControl = (JMSQueueControlMBean)managementService.getResource(objectName);
+ JMSQueueControlMBean queueControl = (JMSQueueControlMBean)managementService.getResource(ResourceNames.JMS_QUEUE + queue.getQueueName());
Integer messageCount = queueControl.getMessageCount();
@@ -475,8 +473,7 @@
{
managementService = server1.getManagementService();
}
- ObjectName objectName = ObjectNames.getJMSTopicObjectName(topic.getTopicName());
- TopicControlMBean topicControl = (TopicControlMBean)managementService.getResource(objectName);
+ TopicControlMBean topicControl = (TopicControlMBean)managementService.getResource(ResourceNames.JMS_TOPIC + topic.getTopicName());
assertEquals(0, topicControl.getSubcriptionsCount());
}
@@ -488,8 +485,7 @@
{
managementService = server1.getManagementService();
}
- ObjectName objectName = ObjectNames.getJMSQueueObjectName(queueName);
- JMSQueueControlMBean queueControl = (JMSQueueControlMBean)managementService.getResource(objectName);
+ JMSQueueControlMBean queueControl = (JMSQueueControlMBean)managementService.getResource(ResourceNames.JMS_QUEUE + queueName);
queueControl.removeAllMessages();
}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSMessagingProxy.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSMessagingProxy.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSMessagingProxy.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -28,7 +28,6 @@
import javax.jms.QueueRequestor;
import javax.jms.QueueSession;
import javax.jms.Session;
-import javax.management.ObjectName;
import org.jboss.messaging.jms.server.management.impl.JMSManagementHelper;
@@ -46,7 +45,7 @@
// Attributes ----------------------------------------------------
- private final ObjectName on;
+ private final String resourceName;
private Session session;
@@ -56,11 +55,11 @@
// Constructors --------------------------------------------------
- public JMSMessagingProxy(QueueSession session, Queue managementQueue, ObjectName objectName) throws Exception
+ public JMSMessagingProxy(QueueSession session, Queue managementQueue, String resourceName) throws Exception
{
this.session = session;
- this.on = objectName;
+ this.resourceName = resourceName;
this.requestor = new QueueRequestor(session, managementQueue);
}
@@ -76,7 +75,7 @@
try
{
Message m = session.createMessage();
- JMSManagementHelper.putAttribute(m, on, attributeName);
+ JMSManagementHelper.putAttribute(m, resourceName, attributeName);
ObjectMessage reply = (ObjectMessage)requestor.request(m);
return reply.getObject();
}
@@ -89,7 +88,7 @@
public Object invokeOperation(String operationName, Object... args) throws Exception
{
Message m = session.createMessage();
- JMSManagementHelper.putOperationInvocation(m, on, operationName, args);
+ JMSManagementHelper.putOperationInvocation(m, resourceName, operationName, args);
ObjectMessage reply = (ObjectMessage)requestor.request(m);
if (JMSManagementHelper.hasOperationSucceeded(reply))
{
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSQueueControlUsingJMSTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSQueueControlUsingJMSTest.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSQueueControlUsingJMSTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -31,7 +31,7 @@
import javax.management.openmbean.TabularData;
import org.jboss.messaging.core.config.TransportConfiguration;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
import org.jboss.messaging.jms.JBossQueue;
import org.jboss.messaging.jms.client.JBossConnectionFactory;
@@ -85,7 +85,7 @@
DEFAULT_MANAGEMENT_ADDRESS.toString());
final JMSMessagingProxy proxy = new JMSMessagingProxy(session,
managementQueue,
- ObjectNames.getJMSQueueObjectName(queue.getQueueName()));
+ ResourceNames.JMS_QUEUE + queue.getQueueName());
return new JMSQueueControlMBean()
{
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSServerControlUsingJMSTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSServerControlUsingJMSTest.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSServerControlUsingJMSTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -31,7 +31,7 @@
import javax.jms.Session;
import org.jboss.messaging.core.config.TransportConfiguration;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
import org.jboss.messaging.jms.JBossQueue;
import org.jboss.messaging.jms.client.JBossConnectionFactory;
@@ -91,8 +91,8 @@
DEFAULT_MANAGEMENT_ADDRESS.toString());
final JMSMessagingProxy proxy = new JMSMessagingProxy(session,
managementQueue,
- ObjectNames.getJMSServerObjectName());
-
+ ResourceNames.JMS_SERVER);
+
return new JMSServerControlMBean()
{
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/TopicControlUsingJMSTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/TopicControlUsingJMSTest.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/TopicControlUsingJMSTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -27,15 +27,13 @@
import javax.jms.QueueConnection;
import javax.jms.QueueSession;
import javax.jms.Session;
-import javax.management.openmbean.CompositeData;
import javax.management.openmbean.TabularData;
import org.jboss.messaging.core.config.TransportConfiguration;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
import org.jboss.messaging.jms.JBossQueue;
import org.jboss.messaging.jms.client.JBossConnectionFactory;
-import org.jboss.messaging.jms.server.management.JMSQueueControlMBean;
import org.jboss.messaging.jms.server.management.TopicControlMBean;
/**
@@ -86,7 +84,7 @@
DEFAULT_MANAGEMENT_ADDRESS.toString());
final JMSMessagingProxy proxy = new JMSMessagingProxy(session,
managementQueue,
- ObjectNames.getJMSTopicObjectName(topic.getTopicName()));
+ ResourceNames.JMS_TOPIC + topic.getTopicName());
return new TopicControlMBean()
{
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlTest.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -22,7 +22,6 @@
package org.jboss.messaging.tests.integration.management;
-import static org.jboss.messaging.tests.integration.management.ManagementControlHelper.createAcceptorControl;
import static org.jboss.messaging.tests.util.RandomUtil.randomString;
import java.util.HashMap;
@@ -36,10 +35,9 @@
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.management.AcceptorControlMBean;
import org.jboss.messaging.core.remoting.impl.invm.InVMAcceptorFactory;
+import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
import org.jboss.messaging.core.server.Messaging;
import org.jboss.messaging.core.server.MessagingServer;
-import org.jboss.messaging.integration.transports.netty.NettyAcceptorFactory;
-import org.jboss.messaging.integration.transports.netty.NettyConnectorFactory;
/**
* A AcceptorControlTest
@@ -81,7 +79,7 @@
service = Messaging.newNullStorageMessagingServer(conf, mbeanServer);
service.start();
- AcceptorControlMBean acceptorControl = createAcceptorControl(acceptorConfig.getName(), mbeanServer);
+ AcceptorControlMBean acceptorControl = createManagementControl(acceptorConfig.getName());
assertEquals(acceptorConfig.getName(), acceptorControl.getName());
assertEquals(acceptorConfig.getFactoryClassName(), acceptorControl.getFactoryClassName());
@@ -89,7 +87,7 @@
public void testStartStop() throws Exception
{
- TransportConfiguration acceptorConfig = new TransportConfiguration(NettyAcceptorFactory.class.getName(),
+ TransportConfiguration acceptorConfig = new TransportConfiguration(InVMAcceptorFactory.class.getName(),
new HashMap<String, Object>(),
randomString());
Configuration conf = new ConfigurationImpl();
@@ -99,12 +97,12 @@
service = Messaging.newNullStorageMessagingServer(conf, mbeanServer);
service.start();
- AcceptorControlMBean acceptorControl = createAcceptorControl(acceptorConfig.getName(), mbeanServer);
+ AcceptorControlMBean acceptorControl = createManagementControl(acceptorConfig.getName());
// started by the server
assertTrue(acceptorControl.isStarted());
- ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(NettyConnectorFactory.class.getName()));
+ ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(InVMConnectorFactory.class.getName()));
ClientSession session = sf.createSession(false, true, true);
assertNotNull(session);
session.close();
@@ -203,6 +201,11 @@
super.tearDown();
}
+ protected AcceptorControlMBean createManagementControl(String name) throws Exception
+ {
+ return ManagementControlHelper.createAcceptorControl(name, mbeanServer);
+ }
+
// Private -------------------------------------------------------
// Inner classes -------------------------------------------------
Added: trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlUsingCoreTest.java (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlUsingCoreTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -0,0 +1,141 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.messaging.tests.integration.management;
+
+import javax.management.openmbean.TabularData;
+
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
+import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.management.AcceptorControlMBean;
+import org.jboss.messaging.core.management.ResourceNames;
+import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
+
+/**
+ * A AcceptorControlUsingCoreTest
+ *
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ *
+ */
+public class AcceptorControlUsingCoreTest extends AcceptorControlTest
+{
+
+ // Constants -----------------------------------------------------
+
+ // Attributes ----------------------------------------------------
+
+ // Static --------------------------------------------------------
+
+ // Constructors --------------------------------------------------
+
+ // AcceptorControlTest overrides --------------------------------
+
+ private ClientSession session;
+
+ @Override
+ protected AcceptorControlMBean createManagementControl(final String name) throws Exception
+ {
+ ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+ session = sf.createSession(false, true, true);
+ session.start();
+
+ return new AcceptorControlMBean()
+ {
+
+ private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
+ ResourceNames.CORE_ACCEPTOR + name);
+
+ public String getFactoryClassName()
+ {
+ return (String)proxy.retrieveAttributeValue("FactoryClassName");
+ }
+
+ public String getName()
+ {
+ return (String)proxy.retrieveAttributeValue("Name");
+ }
+
+ public TabularData getParameters()
+ {
+ return (TabularData)proxy.retrieveAttributeValue("Parameters");
+ }
+
+ public void pause() throws Exception
+ {
+ proxy.invokeOperation("pause");
+ }
+
+ public void resume() throws Exception
+ {
+ proxy.invokeOperation("resume");
+ }
+
+ public boolean isStarted()
+ {
+ return (Boolean)proxy.retrieveAttributeValue("Started");
+ }
+
+ public void start() throws Exception
+ {
+ proxy.invokeOperation("start");
+ }
+
+ public void stop() throws Exception
+ {
+ proxy.invokeOperation("stop");
+ }
+
+ };
+ }
+
+ // Public --------------------------------------------------------
+
+ @Override
+ public void testStartStop() throws Exception
+ {
+ // this test does not make sense when using core messages:
+ // the acceptor must be started to receive the management messages
+ }
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ if (session != null)
+ {
+ session.close();
+ }
+
+ super.tearDown();
+ }
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
+
+}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/AddressControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/AddressControlUsingCoreTest.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/AddressControlUsingCoreTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -22,14 +22,12 @@
package org.jboss.messaging.tests.integration.management;
+import javax.management.openmbean.TabularData;
+
import org.jboss.messaging.core.management.AddressControlMBean;
-import org.jboss.messaging.core.management.ObjectNames;
-import org.jboss.messaging.core.management.Operation;
-import org.jboss.messaging.core.management.Parameter;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.utils.SimpleString;
-import javax.management.openmbean.TabularData;
-
/**
* A JMXQueueControlTest
*
@@ -55,13 +53,26 @@
{
return new AddressControlMBean()
{
- private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
- ObjectNames.getAddressObjectName(address));
+ private final CoreMessagingProxy proxy = new CoreMessagingProxy(session, ResourceNames.CORE_ADDRESS + address);
- @Operation(desc = "Add a Role to this address")
- public void addRole(@Parameter(name = "name", desc = "Name of the role to add")String name, @Parameter(name = "send", desc = "Can the user send to an address?")boolean send, @Parameter(name = "consume", desc = "Can the user consume from this address?")boolean consume, @Parameter(name = "createDurableQueue", desc = "Can the user create a durable queue?")boolean createDurableQueue, @Parameter(name = "deleteDurableQueue", desc = "Can the user delete a durable queue?")boolean deleteDurableQueue, @Parameter(name = "createNonDurableQueue", desc = "Can the user create a temp queue?")boolean createNonDurableQueue, @Parameter(name = "deleteNonDurableQueue", desc = "Can the user delete a temp queue?")boolean deleteNonDurableQueue, @Parameter(name = "manage", desc = "Can the user send management messages?")boolean manage) throws Exception
+ public void addRole(String name,
+ boolean send,
+ boolean consume,
+ boolean createDurableQueue,
+ boolean deleteDurableQueue,
+ boolean createNonDurableQueue,
+ boolean deleteNonDurableQueue,
+ boolean manage) throws Exception
{
- proxy.invokeOperation("addRole", name, send, consume, createDurableQueue, deleteDurableQueue, createNonDurableQueue, deleteNonDurableQueue, manage);
+ proxy.invokeOperation("addRole",
+ name,
+ send,
+ consume,
+ createDurableQueue,
+ deleteDurableQueue,
+ createNonDurableQueue,
+ deleteNonDurableQueue,
+ manage);
}
public String getAddress()
@@ -85,7 +96,6 @@
}
};
}
-
// Public --------------------------------------------------------
// Package protected ---------------------------------------------
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlTest.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -47,7 +47,6 @@
import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
import org.jboss.messaging.core.server.Messaging;
import org.jboss.messaging.core.server.MessagingServer;
-import org.jboss.messaging.core.server.impl.MessagingServerImpl;
import org.jboss.messaging.utils.Pair;
/**
Added: trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlUsingCoreTest.java (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlUsingCoreTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -0,0 +1,168 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.messaging.tests.integration.management;
+
+import javax.management.MBeanServer;
+import javax.management.openmbean.CompositeData;
+
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
+import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.management.BridgeControlMBean;
+import org.jboss.messaging.core.management.ResourceNames;
+import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
+
+/**
+ * A BridgeControlUsingCoreTest
+ *
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ *
+ */
+public class BridgeControlUsingCoreTest extends BridgeControlTest
+{
+
+ // Constants -----------------------------------------------------
+
+ // Attributes ----------------------------------------------------
+
+ private ClientSession session;
+
+ // Static --------------------------------------------------------
+
+ // Constructors --------------------------------------------------
+
+ // BridgeControlTest overrides --------------------------------
+
+ @Override
+ protected BridgeControlMBean createBridgeControl(final String name, MBeanServer mbeanServer) throws Exception
+ {
+ ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+ session = sf.createSession(false, true, true);
+ session.start();
+
+ return new BridgeControlMBean()
+ {
+ private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
+ ResourceNames.CORE_BRIDGE + name);
+
+ public CompositeData getConnectorPair() throws Exception
+ {
+ return (CompositeData)proxy.retrieveAttributeValue("ConnectorPair");
+ }
+
+ public String getDiscoveryGroupName()
+ {
+ return (String)proxy.retrieveAttributeValue("DiscoveryGroupName");
+ }
+
+ public String getFilterString()
+ {
+ return (String)proxy.retrieveAttributeValue("FilterString");
+ }
+
+ public String getForwardingAddress()
+ {
+ return (String)proxy.retrieveAttributeValue("ForwardingAddress");
+ }
+
+ public String getName()
+ {
+ return (String)proxy.retrieveAttributeValue("Name");
+ }
+
+ public String getQueueName()
+ {
+ return (String)proxy.retrieveAttributeValue("QueueName");
+ }
+
+ public int getReconnectAttempts()
+ {
+ return (Integer)proxy.retrieveAttributeValue("ReconnectAttempts");
+ }
+
+ public long getRetryInterval()
+ {
+ return (Long)proxy.retrieveAttributeValue("RetryInterval");
+ }
+
+ public double getRetryIntervalMultiplier()
+ {
+ return (Double)proxy.retrieveAttributeValue("RetryIntervalMultiplier");
+ }
+
+ public String getTransformerClassName()
+ {
+ return (String)proxy.retrieveAttributeValue("TransformerClassName");
+ }
+
+ public boolean isFailoverOnServerShutdown()
+ {
+ return (Boolean)proxy.retrieveAttributeValue("FailoverOnServerShutdown");
+ }
+
+ public boolean isUseDuplicateDetection()
+ {
+ return (Boolean)proxy.retrieveAttributeValue("UseDuplicateDetection");
+ }
+
+ public boolean isStarted()
+ {
+ return (Boolean)proxy.retrieveAttributeValue("Started");
+ }
+
+ public void start() throws Exception
+ {
+ proxy.invokeOperation("start");
+ }
+
+ public void stop() throws Exception
+ {
+ proxy.invokeOperation("stop");
+ }
+ };
+ }
+
+ // Public --------------------------------------------------------
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ if (session != null)
+ {
+ session.close();
+ }
+
+ super.tearDown();
+ }
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
+
+}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlTest.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -22,8 +22,6 @@
package org.jboss.messaging.tests.integration.management;
-import static org.jboss.messaging.tests.integration.management.ManagementControlHelper.createBroadcastGroupControl;
-import static org.jboss.messaging.tests.util.RandomUtil.randomPort;
import static org.jboss.messaging.tests.util.RandomUtil.randomPositiveInt;
import static org.jboss.messaging.tests.util.RandomUtil.randomString;
@@ -98,7 +96,7 @@
service = Messaging.newNullStorageMessagingServer(conf, mbeanServer);
service.start();
- BroadcastGroupControlMBean broadcastGroupControl = createBroadcastGroupControl(broadcastGroupConfig.getName(), mbeanServer);
+ BroadcastGroupControlMBean broadcastGroupControl = createManagementControl(broadcastGroupConfig.getName());
assertEquals(broadcastGroupConfig.getName(), broadcastGroupControl.getName());
assertEquals(broadcastGroupConfig.getGroupAddress(), broadcastGroupControl.getGroupAddress());
@@ -131,7 +129,7 @@
service = Messaging.newNullStorageMessagingServer(conf, mbeanServer);
service.start();
- BroadcastGroupControlMBean broadcastGroupControl = createBroadcastGroupControl(broadcastGroupConfig.getName(), mbeanServer);
+ BroadcastGroupControlMBean broadcastGroupControl = createManagementControl(broadcastGroupConfig.getName());
// started by the server
assertTrue(broadcastGroupControl.isStarted());
@@ -157,6 +155,11 @@
super.tearDown();
}
+
+ protected BroadcastGroupControlMBean createManagementControl(String name) throws Exception
+ {
+ return ManagementControlHelper.createBroadcastGroupControl(name, mbeanServer);
+ }
// Private -------------------------------------------------------
// Inner classes -------------------------------------------------
Added: trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlUsingCoreTest.java (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlUsingCoreTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -0,0 +1,137 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.messaging.tests.integration.management;
+
+import javax.management.openmbean.TabularData;
+
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
+import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.management.BroadcastGroupControlMBean;
+import org.jboss.messaging.core.management.ResourceNames;
+import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
+
+/**
+ * A BroadcastGroupControlUsingCoreTest
+ *
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ *
+ */
+public class BroadcastGroupControlUsingCoreTest extends BroadcastGroupControlTest
+{
+
+ // Constants -----------------------------------------------------
+
+ // Attributes ----------------------------------------------------
+
+ private ClientSession session;
+
+ // Static --------------------------------------------------------
+
+ // Constructors --------------------------------------------------
+
+ // BroadcastGroupControlTest overrides --------------------------------
+
+ @Override
+ protected BroadcastGroupControlMBean createManagementControl(final String name) throws Exception
+ {
+ ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+ session = sf.createSession(false, true, true);
+ session.start();
+
+ return new BroadcastGroupControlMBean()
+ {
+ private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
+ ResourceNames.CORE_BROADCAST_GROUP + name);
+
+ public long getBroadcastPeriod()
+ {
+ return (Long)proxy.retrieveAttributeValue("BroadcastPeriod");
+ }
+
+ public TabularData getConnectorPairs()
+ {
+ return (TabularData)proxy.retrieveAttributeValue("ConnectorPairs");
+ }
+
+ public String getGroupAddress()
+ {
+ return (String)proxy.retrieveAttributeValue("GroupAddress");
+ }
+
+ public int getGroupPort()
+ {
+ return (Integer)proxy.retrieveAttributeValue("GroupPort");
+ }
+
+ public int getLocalBindPort()
+ {
+ return (Integer)proxy.retrieveAttributeValue("LocalBindPort");
+ }
+
+ public String getName()
+ {
+ return (String)proxy.retrieveAttributeValue("Name");
+ }
+
+ public boolean isStarted()
+ {
+ return (Boolean)proxy.retrieveAttributeValue("Started");
+ }
+
+ public void start() throws Exception
+ {
+ proxy.invokeOperation("start");
+ }
+
+ public void stop() throws Exception
+ {
+ proxy.invokeOperation("stop");
+ }
+ };
+ }
+
+ // Public --------------------------------------------------------
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ if (session != null)
+ {
+ session.close();
+ }
+
+ super.tearDown();
+ }
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
+
+}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlTest.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -24,7 +24,6 @@
import static org.jboss.messaging.core.remoting.impl.invm.TransportConstants.SERVER_ID_PROP_NAME;
import static org.jboss.messaging.tests.util.RandomUtil.randomBoolean;
-import static org.jboss.messaging.tests.util.RandomUtil.randomDouble;
import static org.jboss.messaging.tests.util.RandomUtil.randomPositiveInt;
import static org.jboss.messaging.tests.util.RandomUtil.randomPositiveLong;
import static org.jboss.messaging.tests.util.RandomUtil.randomString;
@@ -49,7 +48,6 @@
import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
import org.jboss.messaging.core.server.Messaging;
import org.jboss.messaging.core.server.MessagingServer;
-import org.jboss.messaging.core.server.impl.MessagingServerImpl;
import org.jboss.messaging.utils.Pair;
/**
@@ -80,9 +78,9 @@
public void testAttributes() throws Exception
{
checkResource(ObjectNames.getClusterConnectionObjectName(clusterConnectionConfig.getName()));
- ClusterConnectionControlMBean clusterConnectionControl = ManagementControlHelper.createClusterConnectionControl(clusterConnectionConfig.getName(),
- mbeanServer);
+ ClusterConnectionControlMBean clusterConnectionControl = createManagementControl(clusterConnectionConfig.getName());
+
assertEquals(clusterConnectionConfig.getName(), clusterConnectionControl.getName());
assertEquals(clusterConnectionConfig.getAddress(), clusterConnectionControl.getAddress());
assertEquals(clusterConnectionConfig.getDiscoveryGroupName(), clusterConnectionControl.getDiscoveryGroupName());
@@ -104,8 +102,7 @@
public void testStartStop() throws Exception
{
checkResource(ObjectNames.getClusterConnectionObjectName(clusterConnectionConfig.getName()));
- ClusterConnectionControlMBean clusterConnectionControl = ManagementControlHelper.createClusterConnectionControl(clusterConnectionConfig.getName(),
- mbeanServer);
+ ClusterConnectionControlMBean clusterConnectionControl = createManagementControl(clusterConnectionConfig.getName());
// started by the server
assertTrue(clusterConnectionControl.isStarted());
@@ -180,6 +177,11 @@
super.tearDown();
}
+
+ protected ClusterConnectionControlMBean createManagementControl(String name) throws Exception
+ {
+ return ManagementControlHelper.createClusterConnectionControl(name, mbeanServer);
+ }
// Private -------------------------------------------------------
Added: trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlUsingCoreTest.java (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlUsingCoreTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -0,0 +1,148 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.messaging.tests.integration.management;
+
+import javax.management.openmbean.TabularData;
+
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
+import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.management.ClusterConnectionControlMBean;
+import org.jboss.messaging.core.management.ResourceNames;
+import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
+
+/**
+ * A ClusterConnectionControlUsingCoreTest
+ *
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ *
+ */
+public class ClusterConnectionControlUsingCoreTest extends ClusterConnectionControlTest
+{
+
+ // Constants -----------------------------------------------------
+
+ // Attributes ----------------------------------------------------
+
+ private ClientSession session;
+
+ // Static --------------------------------------------------------
+
+ // Constructors --------------------------------------------------
+
+ // ClusterConnectionControlTest overrides --------------------------------
+
+ @Override
+ protected ClusterConnectionControlMBean createManagementControl(final String name) throws Exception
+ {
+ ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+ session = sf.createSession(false, true, true);
+ session.start();
+
+ return new ClusterConnectionControlMBean()
+ {
+ private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
+ ResourceNames.CORE_CLUSTER_CONNECTION + name);
+
+ public String getAddress()
+ {
+ return (String)proxy.retrieveAttributeValue("Address");
+ }
+
+ public String getDiscoveryGroupName()
+ {
+ return (String)proxy.retrieveAttributeValue("DiscoveryGroupName");
+ }
+
+ public int getMaxHops()
+ {
+ return (Integer)proxy.retrieveAttributeValue("MaxHops");
+ }
+
+ public long getRetryInterval()
+ {
+ return (Long)proxy.retrieveAttributeValue("RetryInterval");
+ }
+
+ public TabularData getStaticConnectorNamePairs()
+ {
+ return (TabularData)proxy.retrieveAttributeValue("StaticConnectorNamePairs");
+ }
+
+ public boolean isDuplicateDetection()
+ {
+ return (Boolean)proxy.retrieveAttributeValue("DuplicateDetection");
+ }
+
+ public boolean isForwardWhenNoConsumers()
+ {
+ return (Boolean)proxy.retrieveAttributeValue("ForwardWhenNoConsumers");
+ }
+
+ public String getName()
+ {
+ return (String)proxy.retrieveAttributeValue("Name");
+ }
+
+ public boolean isStarted()
+ {
+ return (Boolean)proxy.retrieveAttributeValue("Started");
+ }
+
+ public void start() throws Exception
+ {
+ proxy.invokeOperation("start");
+ }
+
+ public void stop() throws Exception
+ {
+ proxy.invokeOperation("stop");
+ }
+
+ };
+ }
+
+ // Public --------------------------------------------------------
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ if (session != null)
+ {
+ session.close();
+ }
+
+ super.tearDown();
+ }
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
+
+}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/CoreMessagingProxy.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/CoreMessagingProxy.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/CoreMessagingProxy.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -24,8 +24,6 @@
import static org.jboss.messaging.core.config.impl.ConfigurationImpl.DEFAULT_MANAGEMENT_ADDRESS;
-import javax.management.ObjectName;
-
import org.jboss.messaging.core.client.ClientMessage;
import org.jboss.messaging.core.client.ClientRequestor;
import org.jboss.messaging.core.client.ClientSession;
@@ -45,7 +43,7 @@
// Attributes ----------------------------------------------------
- private final ObjectName on;
+ private final String resourceName;
private ClientSession session;
@@ -55,11 +53,11 @@
// Constructors --------------------------------------------------
- public CoreMessagingProxy(ClientSession session, ObjectName objectName) throws Exception
+ public CoreMessagingProxy(ClientSession session, String resourceName) throws Exception
{
this.session = session;
- this.on = objectName;
+ this.resourceName = resourceName;
this.requestor = new ClientRequestor(session, DEFAULT_MANAGEMENT_ADDRESS);
@@ -74,7 +72,7 @@
public Object retrieveAttributeValue(String attributeName)
{
ClientMessage m = session.createClientMessage(false);
- ManagementHelper.putAttribute(m, on, attributeName);
+ ManagementHelper.putAttribute(m, resourceName, attributeName);
ClientMessage reply;
try
{
@@ -90,7 +88,7 @@
public Object invokeOperation(String operationName, Object... args) throws Exception
{
ClientMessage m = session.createClientMessage(false);
- ManagementHelper.putOperationInvocation(m, on, operationName, args);
+ ManagementHelper.putOperationInvocation(m, resourceName, operationName, args);
ClientMessage reply = requestor.request(m);
if (ManagementHelper.hasOperationSucceeded(reply))
{
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/DiscoveryGroupControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/DiscoveryGroupControlTest.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/DiscoveryGroupControlTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -26,16 +26,12 @@
import static org.jboss.messaging.tests.util.RandomUtil.randomPositiveLong;
import static org.jboss.messaging.tests.util.RandomUtil.randomString;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.config.cluster.DiscoveryGroupConfiguration;
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.management.DiscoveryGroupControlMBean;
import org.jboss.messaging.core.server.Messaging;
import org.jboss.messaging.core.server.MessagingServer;
-import org.jboss.messaging.tests.util.UnitTestCase;
/**
* A AcceptorControlTest
@@ -73,7 +69,7 @@
service = Messaging.newNullStorageMessagingServer(conf, mbeanServer);
service.start();
- DiscoveryGroupControlMBean discoveryGroupControl = createDiscoveryGroupControl(discoveryGroupConfig.getName(), mbeanServer);
+ DiscoveryGroupControlMBean discoveryGroupControl = createManagementControl(discoveryGroupConfig.getName());
assertEquals(discoveryGroupConfig.getName(), discoveryGroupControl.getName());
assertEquals(discoveryGroupConfig.getGroupAddress(), discoveryGroupControl.getGroupAddress());
@@ -93,7 +89,7 @@
service = Messaging.newNullStorageMessagingServer(conf, mbeanServer);
service.start();
- DiscoveryGroupControlMBean discoveryGroupControl = createDiscoveryGroupControl(discoveryGroupConfig.getName(), mbeanServer);
+ DiscoveryGroupControlMBean discoveryGroupControl = createManagementControl(discoveryGroupConfig.getName());
// started by the server
assertTrue(discoveryGroupControl.isStarted());
@@ -120,6 +116,13 @@
super.tearDown();
}
+
+ protected DiscoveryGroupControlMBean createManagementControl(String name) throws Exception
+ {
+ return createDiscoveryGroupControl(name, mbeanServer);
+ }
+
+
// Private -------------------------------------------------------
// Inner classes -------------------------------------------------
Added: trunk/tests/src/org/jboss/messaging/tests/integration/management/DiscoveryGroupControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/DiscoveryGroupControlUsingCoreTest.java (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/DiscoveryGroupControlUsingCoreTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -0,0 +1,125 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.messaging.tests.integration.management;
+
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
+import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.management.DiscoveryGroupControlMBean;
+import org.jboss.messaging.core.management.ResourceNames;
+import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
+
+/**
+ * A DiscoveryGroupControlUsingCoreTest
+ *
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ *
+ */
+public class DiscoveryGroupControlUsingCoreTest extends DiscoveryGroupControlTest
+{
+
+ // Constants -----------------------------------------------------
+
+ // Attributes ----------------------------------------------------
+
+ private ClientSession session;
+
+ // Static --------------------------------------------------------
+
+ // Constructors --------------------------------------------------
+
+ // DiscoveryGroupControlTest overrides --------------------------------
+
+ @Override
+ protected DiscoveryGroupControlMBean createManagementControl(final String name) throws Exception
+ {
+ ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+ session = sf.createSession(false, true, true);
+ session.start();
+
+ return new DiscoveryGroupControlMBean()
+ {
+ private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
+ ResourceNames.CORE_DISCOVERY_GROUP + name);
+
+ public String getGroupAddress()
+ {
+ return (String)proxy.retrieveAttributeValue("GroupAddress");
+ }
+
+ public int getGroupPort()
+ {
+ return (Integer)proxy.retrieveAttributeValue("GroupPort");
+ }
+
+ public long getRefreshTimeout()
+ {
+ return (Long)proxy.retrieveAttributeValue("RefreshTimeout");
+ }
+
+ public String getName()
+ {
+ return (String)proxy.retrieveAttributeValue("Name");
+ }
+
+ public boolean isStarted()
+ {
+ return (Boolean)proxy.retrieveAttributeValue("Started");
+ }
+
+ public void start() throws Exception
+ {
+ proxy.invokeOperation("start");
+ }
+
+ public void stop() throws Exception
+ {
+ proxy.invokeOperation("stop");
+ }
+ };
+ }
+
+ // Public --------------------------------------------------------
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ if (session != null)
+ {
+ session.close();
+ }
+
+ super.tearDown();
+ }
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
+
+}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/DivertControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/DivertControlTest.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/DivertControlTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -63,8 +63,8 @@
public void testAttributes() throws Exception
{
checkResource(ObjectNames.getDivertObjectName(new SimpleString(divertConfig.getName())));
- DivertControlMBean divertControl = ManagementControlHelper.createDivertControl(divertConfig.getName(),
- mbeanServer);
+
+ DivertControlMBean divertControl = createManagementControl(divertConfig.getName());
assertEquals(divertConfig.getFilterString(), divertControl.getFilter());
@@ -109,7 +109,7 @@
conf.getQueueConfigurations().add(queueConfig);
conf.getQueueConfigurations().add(fowardQueueConfig);
conf.getDivertConfigurations().add(divertConfig);
-
+
conf.getConnectorConfigurations().put(connectorConfig.getName(), connectorConfig);
service = Messaging.newNullStorageMessagingServer(conf, mbeanServer);
@@ -122,10 +122,15 @@
service.stop();
checkNoResource(ObjectNames.getDivertObjectName(new SimpleString(divertConfig.getName())));
-
+
super.tearDown();
}
+ protected DivertControlMBean createManagementControl(String name) throws Exception
+ {
+ return ManagementControlHelper.createDivertControl(name, mbeanServer);
+ }
+
// Private -------------------------------------------------------
// Inner classes -------------------------------------------------
Added: trunk/tests/src/org/jboss/messaging/tests/integration/management/DivertControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/DivertControlUsingCoreTest.java (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/DivertControlUsingCoreTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -0,0 +1,126 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.messaging.tests.integration.management;
+
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
+import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.management.DivertControlMBean;
+import org.jboss.messaging.core.management.ResourceNames;
+import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
+
+/**
+ * A DivertControlUsingCoreTest
+ *
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ *
+ */
+public class DivertControlUsingCoreTest extends DivertControlTest
+{
+
+ // Constants -----------------------------------------------------
+
+ // Attributes ----------------------------------------------------
+
+ private ClientSession session;
+
+ // Static --------------------------------------------------------
+
+ // Constructors --------------------------------------------------
+
+ // DivertControlTest overrides --------------------------------
+
+ @Override
+ protected DivertControlMBean createManagementControl(final String name) throws Exception
+ {
+ ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+ session = sf.createSession(false, true, true);
+ session.start();
+
+ return new DivertControlMBean()
+ {
+ private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
+ ResourceNames.CORE_DIVERT + name);
+
+ public String getAddress()
+ {
+ return (String)proxy.retrieveAttributeValue("Address");
+ }
+
+ public String getFilter()
+ {
+ return (String)proxy.retrieveAttributeValue("Filter");
+ }
+
+ public String getForwardingAddress()
+ {
+ return (String)proxy.retrieveAttributeValue("ForwardingAddress");
+ }
+
+ public String getRoutingName()
+ {
+ return (String)proxy.retrieveAttributeValue("RoutingName");
+ }
+
+ public String getTransformerClassName()
+ {
+ return (String)proxy.retrieveAttributeValue("TransformerClassName");
+ }
+
+ public String getUniqueName()
+ {
+ return (String)proxy.retrieveAttributeValue("UniqueName");
+ }
+
+ public boolean isExclusive()
+ {
+ return (Boolean)proxy.retrieveAttributeValue("Exclusive");
+ }
+
+ };
+ }
+
+ // Public --------------------------------------------------------
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ if (session != null)
+ {
+ session.close();
+ }
+
+ super.tearDown();
+ }
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
+
+}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlUsingCoreTest.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlUsingCoreTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -32,7 +32,7 @@
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.management.MessagingServerControlMBean;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
/**
@@ -83,8 +83,8 @@
return new MessagingServerControlMBean()
{
private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
- ObjectNames.getMessagingServerObjectName());
-
+ ResourceNames.CORE_SERVER);
+
public boolean closeConnectionsForAddress(String ipAddress) throws Exception
{
return (Boolean)proxy.invokeOperation("closeConnectionsForAddress", ipAddress);
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/QueueControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/QueueControlUsingCoreTest.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/QueueControlUsingCoreTest.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -25,8 +25,8 @@
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.TabularData;
-import org.jboss.messaging.core.management.ObjectNames;
import org.jboss.messaging.core.management.QueueControlMBean;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.utils.SimpleString;
/**
@@ -57,8 +57,8 @@
{
private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
- ObjectNames.getQueueObjectName(address, queue));
-
+ ResourceNames.CORE_QUEUE + queue);
+
public boolean changeMessagePriority(long messageID, int newPriority) throws Exception
{
return (Boolean)proxy.invokeOperation("changeMessagePriority", messageID, newPriority);
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/SecurityManagementTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/SecurityManagementTestBase.java 2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/SecurityManagementTestBase.java 2009-04-08 11:50:03 UTC (rev 6358)
@@ -31,11 +31,10 @@
import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
import org.jboss.messaging.core.client.management.impl.ManagementHelper;
import org.jboss.messaging.core.config.TransportConfiguration;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
import org.jboss.messaging.core.server.MessagingServer;
import org.jboss.messaging.tests.util.UnitTestCase;
-import org.jboss.messaging.utils.SimpleString;
/**
* A SecurityManagementTest
@@ -99,7 +98,7 @@
ClientRequestor requestor = new ClientRequestor(session, DEFAULT_MANAGEMENT_ADDRESS);
ClientMessage mngmntMessage = session.createClientMessage(false);
- ManagementHelper.putAttribute(mngmntMessage, ObjectNames.getMessagingServerObjectName(), "Started");
+ ManagementHelper.putAttribute(mngmntMessage, ResourceNames.CORE_SERVER, "Started");
ClientMessage reply = requestor.request(mngmntMessage, 500);
if (expectSuccess)
{
More information about the jboss-cvs-commits
mailing list