[jboss-cvs] JBoss Messaging SVN: r6659 - in trunk: src/main/org/jboss/messaging/core/management and 19 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue May 5 11:01:07 EDT 2009
Author: timfox
Date: 2009-05-05 11:01:07 -0400 (Tue, 05 May 2009)
New Revision: 6659
Removed:
trunk/src/main/org/jboss/messaging/core/management/MessageInfo.java
trunk/src/main/org/jboss/messaging/core/management/PairsInfo.java
trunk/src/main/org/jboss/messaging/core/management/PropertiesInfo.java
trunk/src/main/org/jboss/messaging/core/management/TransportConfigurationInfo.java
trunk/src/main/org/jboss/messaging/jms/server/management/JMSMessageInfo.java
trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/TopicControlUsingJMSTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlUsingCoreTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/QueueControlUsingCoreTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/management/MessageInfoTest.java
Modified:
trunk/src/main/org/jboss/messaging/core/client/management/impl/ManagementHelper.java
trunk/src/main/org/jboss/messaging/core/management/AcceptorControlMBean.java
trunk/src/main/org/jboss/messaging/core/management/AddressControlMBean.java
trunk/src/main/org/jboss/messaging/core/management/BridgeControlMBean.java
trunk/src/main/org/jboss/messaging/core/management/BroadcastGroupControlMBean.java
trunk/src/main/org/jboss/messaging/core/management/ClusterConnectionControlMBean.java
trunk/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java
trunk/src/main/org/jboss/messaging/core/management/ObjectNames.java
trunk/src/main/org/jboss/messaging/core/management/QueueControlMBean.java
trunk/src/main/org/jboss/messaging/core/management/RoleInfo.java
trunk/src/main/org/jboss/messaging/core/management/impl/AcceptorControl.java
trunk/src/main/org/jboss/messaging/core/management/impl/AddressControl.java
trunk/src/main/org/jboss/messaging/core/management/impl/BridgeControl.java
trunk/src/main/org/jboss/messaging/core/management/impl/BroadcastGroupControl.java
trunk/src/main/org/jboss/messaging/core/management/impl/ClusterConnectionControl.java
trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java
trunk/src/main/org/jboss/messaging/core/management/impl/QueueControl.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/message/Message.java
trunk/src/main/org/jboss/messaging/core/message/impl/MessageImpl.java
trunk/src/main/org/jboss/messaging/core/messagecounter/impl/MessageCounterHelper.java
trunk/src/main/org/jboss/messaging/jms/bridge/BridgeService.java
trunk/src/main/org/jboss/messaging/jms/client/JBossMessage.java
trunk/src/main/org/jboss/messaging/jms/server/management/JMSQueueControlMBean.java
trunk/src/main/org/jboss/messaging/jms/server/management/TopicControlMBean.java
trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSQueueControl.java
trunk/src/main/org/jboss/messaging/jms/server/management/impl/TopicControl.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/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/management/ReplicationAwareAddressControlWrapperTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/cluster/management/ReplicationAwareMessagingServerControlWrapperTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/cluster/management/ReplicationAwareQueueControlWrapperTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/jms/bridge/BridgeTestBase.java
trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSMessagingProxy.java
trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSQueueControlTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSQueueControlUsingJMSTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/TopicControlTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlUsingCoreTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/AddressControlTest.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/BroadcastGroupControlUsingCoreTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlUsingCoreTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/ManagementHelperTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlUsingCoreTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/management/QueueControlTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/QueueDeployerTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/postoffice/impl/BindingImplTest.java
Log:
management refactoring
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-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/client/management/impl/ManagementHelper.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -43,10 +43,9 @@
public class ManagementHelper
{
// Constants -----------------------------------------------------
-
+
private static final Logger log = Logger.getLogger(ManagementHelper.class);
-
public static final SimpleString HDR_RESOURCE_NAME = new SimpleString("_JBM_ResourceName");
public static final SimpleString HDR_ATTRIBUTE = new SimpleString("_JBM_Attribute");
@@ -126,11 +125,11 @@
private static JSONArray toJSONArray(final Object[] array) throws Exception
{
JSONArray jsonArray = new JSONArray();
-
+
for (int i = 0; i < array.length; i++)
{
Object parameter = array[i];
-
+
if (parameter instanceof Map)
{
Map<String, Object> map = (Map<String, Object>)parameter;
@@ -143,7 +142,17 @@
Object val = entry.getValue();
- checkType(val);
+ if (val != null)
+ {
+ if (val.getClass().isArray())
+ {
+ val = toJSONArray((Object[])val);
+ }
+ else
+ {
+ checkType(val);
+ }
+ }
jsonObject.put(key, val);
}
@@ -152,19 +161,26 @@
}
else
{
- Class clz = parameter.getClass();
-
- if (clz.isArray())
+ if (parameter != null)
{
- Object[] innerArray = (Object[])parameter;
-
- jsonArray.put(toJSONArray(innerArray));
+ Class clz = parameter.getClass();
+
+ if (clz.isArray())
+ {
+ Object[] innerArray = (Object[])parameter;
+
+ jsonArray.put(toJSONArray(innerArray));
+ }
+ else
+ {
+ checkType(parameter);
+
+ jsonArray.put(parameter);
+ }
}
else
{
- checkType(parameter);
-
- jsonArray.put(parameter);
+ jsonArray.put((Object)null);
}
}
}
@@ -183,7 +199,7 @@
if (val instanceof JSONArray)
{
Object[] inner = fromJSONArray((JSONArray)val);
-
+
array[i] = inner;
}
else if (val instanceof JSONObject)
@@ -193,12 +209,17 @@
Map<String, Object> map = new HashMap<String, Object>();
Iterator<String> iter = jsonObject.keys();
-
+
while (iter.hasNext())
{
String key = iter.next();
-
+
Object innerVal = jsonObject.get(key);
+
+ if (innerVal instanceof JSONArray)
+ {
+ innerVal = fromJSONArray(((JSONArray)innerVal));
+ }
map.put(key, innerVal);
}
@@ -219,9 +240,12 @@
if (param instanceof Integer == false && param instanceof Long == false &&
param instanceof Double == false &&
param instanceof String == false &&
- param instanceof Boolean == false)
+ param instanceof Boolean == false &&
+ param instanceof Byte == false &&
+ param instanceof Short == false)
{
- throw new IllegalArgumentException("Params for management operations must be of the following type: " + "int long double String boolean Map or array thereof");
+ throw new IllegalArgumentException("Params for management operations must be of the following type: " + "int long double String boolean Map or array thereof " +
+ " but found " + param.getClass().getName());
}
}
@@ -261,7 +285,7 @@
JSONArray jsonArray = toJSONArray(new Object[] { result });
- resultString = jsonArray.toString();
+ resultString = jsonArray.toString();
}
else
{
@@ -270,11 +294,11 @@
message.getBody().writeNullableString(resultString);
}
-
+
public static Object[] getResults(final Message message) throws Exception
- {
+ {
String jsonString = message.getBody().readNullableString();
-
+
if (jsonString != null)
{
JSONArray jsonArray = new JSONArray(jsonString);
@@ -292,7 +316,7 @@
public static Object getResult(final Message message) throws Exception
{
Object[] res = getResults(message);
-
+
if (res != null)
{
return res[0];
@@ -302,7 +326,7 @@
return null;
}
}
-
+
public static boolean hasOperationSucceeded(final Message message)
{
if (!isOperationResult(message))
Modified: trunk/src/main/org/jboss/messaging/core/management/AcceptorControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/AcceptorControlMBean.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/AcceptorControlMBean.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,7 +22,7 @@
package org.jboss.messaging.core.management;
-import javax.management.openmbean.TabularData;
+import java.util.Map;
/**
* A AcceptorMBean
@@ -40,5 +40,5 @@
String getFactoryClassName();
- TabularData getParameters();
+ Map<String, Object> getParameters();
}
Modified: trunk/src/main/org/jboss/messaging/core/management/AddressControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/AddressControlMBean.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/AddressControlMBean.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,7 +22,6 @@
package org.jboss.messaging.core.management;
-import javax.management.openmbean.TabularData;
/**
* @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
@@ -36,7 +35,7 @@
String getAddress();
- TabularData getRoles() throws Exception;
+ Object[] getRoles() throws Exception;
String[] getQueueNames() throws Exception;
Modified: trunk/src/main/org/jboss/messaging/core/management/BridgeControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/BridgeControlMBean.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/BridgeControlMBean.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,7 +22,6 @@
package org.jboss.messaging.core.management;
-import javax.management.openmbean.CompositeData;
/**
* A BridgeControlMBean
@@ -42,7 +41,7 @@
String getTransformerClassName();
- CompositeData getConnectorPair() throws Exception;
+ String[] getConnectorPair() throws Exception;
String getDiscoveryGroupName();
Modified: trunk/src/main/org/jboss/messaging/core/management/BroadcastGroupControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/BroadcastGroupControlMBean.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/BroadcastGroupControlMBean.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,7 +22,6 @@
package org.jboss.messaging.core.management;
-import javax.management.openmbean.TabularData;
/**
* A BroadcastGroupControlMBean
@@ -42,5 +41,5 @@
long getBroadcastPeriod();
- TabularData getConnectorPairs();
+ Object[] getConnectorPairs();
}
Modified: trunk/src/main/org/jboss/messaging/core/management/ClusterConnectionControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/ClusterConnectionControlMBean.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/ClusterConnectionControlMBean.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -42,7 +42,7 @@
int getMaxHops();
- TabularData getStaticConnectorNamePairs();
+ Object[] getStaticConnectorNamePairs();
String getDiscoveryGroupName();
Deleted: trunk/src/main/org/jboss/messaging/core/management/MessageInfo.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/MessageInfo.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/MessageInfo.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -1,325 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, 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;
-
-import static javax.management.openmbean.SimpleType.BOOLEAN;
-import static javax.management.openmbean.SimpleType.BYTE;
-import static javax.management.openmbean.SimpleType.INTEGER;
-import static javax.management.openmbean.SimpleType.LONG;
-import static javax.management.openmbean.SimpleType.STRING;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.CompositeDataSupport;
-import javax.management.openmbean.CompositeType;
-import javax.management.openmbean.OpenDataException;
-import javax.management.openmbean.OpenType;
-import javax.management.openmbean.TabularData;
-import javax.management.openmbean.TabularDataSupport;
-import javax.management.openmbean.TabularType;
-
-import org.jboss.messaging.core.logging.Logger;
-
-/**
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- *
- * @version <tt>$Revision$</tt>
- *
- */
-public class MessageInfo
-{
- // Constants -----------------------------------------------------
-
- private static final Logger log = Logger.getLogger(MessageInfo.class);
-
- public static final CompositeType TYPE;
-
- private static final String MESSAGE_TYPE_NAME = "MessageInfo";
-
- private static final String MESSAGE_TABULAR_TYPE_NAME = "MessageTabularInfo";
-
- private static final String[] ITEM_NAMES = new String[] { "id",
- "destination",
- "durable",
- "timestamp",
- "type",
- "size",
- "priority",
- "expired",
- "expiration",
- "properties" };
-
- private static final String[] ITEM_DESCRIPTIONS = new String[] { "Message ID",
- "destination of the message",
- "Is the message durable?",
- "Timestamp of the message",
- "Type of the message",
- "Size of the encoded messag",
- "Priority of the message",
- "Is the message expired?",
- "Expiration of the message",
- "Properties of the message" };
-
- private static final OpenType[] TYPES;
-
- private static final TabularType TABULAR_TYPE;
-
- static
- {
- try
- {
- TYPES = new OpenType[] { LONG,
- STRING,
- BOOLEAN,
- LONG,
- BYTE,
- INTEGER,
- BYTE,
- BOOLEAN,
- LONG,
- PropertiesInfo.TABULAR_TYPE };
- TYPE = new CompositeType(MESSAGE_TYPE_NAME, "Information for a Message", ITEM_NAMES, ITEM_DESCRIPTIONS, TYPES);
- TABULAR_TYPE = new TabularType(MESSAGE_TABULAR_TYPE_NAME,
- "Information for tabular MessageInfo",
- TYPE,
- new String[] { "id" });
- }
- catch (OpenDataException e)
- {
- throw new IllegalStateException(e);
- }
- }
-
- // Attributes ----------------------------------------------------
-
- private final long id;
-
- private final String destination;
-
- private final boolean durable;
-
- private final long timestamp;
-
- private final byte type;
-
- private final int size;
-
- private final byte priority;
-
- private final boolean expired;
-
- private final long expiration;
-
- private PropertiesInfo properties;
-
- // Static --------------------------------------------------------
-
- public static TabularData toTabularData(final MessageInfo[] infos) throws OpenDataException
- {
- TabularData data = new TabularDataSupport(TABULAR_TYPE);
- for (MessageInfo messageInfo : infos)
- {
- data.put(messageInfo.toCompositeData());
- }
- return data;
- }
-
- public static MessageInfo[] from(TabularData msgs)
- {
- Collection values = msgs.values();
- List<MessageInfo> infos = new ArrayList<MessageInfo>();
- for (Object object : values)
- {
- CompositeData compositeData = (CompositeData)object;
- long id = (Long)compositeData.get("id");
- String destination = (String)compositeData.get("destination");
- boolean durable = (Boolean)compositeData.get("durable");
- long timestamp = (Long)compositeData.get("timestamp");
- byte type = (Byte)compositeData.get("type");
- int size = (Integer)compositeData.get("size");
- byte priority = (Byte)compositeData.get("priority");
- boolean expired = (Boolean)compositeData.get("expired");
- long expiration = (Long)compositeData.get("expiration");
-
- TabularData properties = (TabularData)compositeData.get("properties");
- PropertiesInfo propertiesInfo = PropertiesInfo.from(properties);
- infos.add(new MessageInfo(id, destination, durable, timestamp, type, size, priority, expired, expiration, propertiesInfo));
- }
-
- return (MessageInfo[])infos.toArray(new MessageInfo[infos.size()]);
- }
-
- // Constructors --------------------------------------------------
-
- public MessageInfo(final long id,
- final String destination,
- final boolean durable,
- final long timestamp,
- final byte type,
- final int size,
- final byte priority,
- final boolean expired,
- final long expiration)
- {
- this.id = id;
- this.destination = destination;
- this.durable = durable;
- this.timestamp = timestamp;
- this.type = type;
- this.size = size;
- this.priority = priority;
- this.expired = expired;
- this.expiration = expiration;
- this.properties = new PropertiesInfo();
- }
-
- public MessageInfo(final long id,
- final String destination,
- final boolean durable,
- final long timestamp,
- final byte type,
- final int size,
- final byte priority,
- final boolean expired,
- final long expiration,
- final PropertiesInfo properties)
- {
- this.id = id;
- this.destination = destination;
- this.durable = durable;
- this.timestamp = timestamp;
- this.type = type;
- this.size = size;
- this.priority = priority;
- this.expired = expired;
- this.expiration = expiration;
- this.properties = properties;
- }
-
- // Public --------------------------------------------------------
-
- public long getID()
- {
- return id;
- }
-
- public String getDestination()
- {
- return destination;
- }
-
- public boolean isDurable()
- {
- return durable;
- }
-
- public long getTimestamp()
- {
- return timestamp;
- }
-
- public byte getType()
- {
- return type;
- }
-
- public int getSize()
- {
- return size;
- }
-
- public byte getPriority()
- {
- return priority;
- }
-
- public boolean isExpired()
- {
- return expired;
- }
-
- public long getExpiration()
- {
- return expiration;
- }
-
- public void putProperty(final String key, final String value)
- {
- properties.put(key, value);
- }
-
- public Map<String, String> getProperties()
- {
- return properties.entries();
- }
-
- public CompositeData toCompositeData()
- {
- try
- {
-
- return new CompositeDataSupport(TYPE, ITEM_NAMES, new Object[] { id,
- destination,
- durable,
- timestamp,
- type,
- size,
- priority,
- expired,
- expiration,
- properties.toTabularData() });
- }
- catch (OpenDataException e)
- {
- log.error("Exception when converting a message to a CompositeData", e);
- return null;
- }
- }
-
- @Override
- public String toString()
- {
- return "MessageInfo[id=" + id +
- ", destination=" +
- destination +
- ", durable=" +
- durable +
- ", timestamp=" +
- timestamp +
- ", type=" +
- type +
- ", size=" +
- size +
- ", priority=" +
- priority +
- ", expired=" +
- expired +
- ", expiration=" +
- expiration +
- "]";
- }
-}
Modified: trunk/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -25,10 +25,6 @@
import static javax.management.MBeanOperationInfo.ACTION;
import static javax.management.MBeanOperationInfo.INFO;
-import java.util.List;
-
-import javax.management.openmbean.TabularData;
-
import org.jboss.messaging.core.config.Configuration;
/**
@@ -46,7 +42,7 @@
boolean isStarted();
- List<String> getInterceptorClassNames();
+ String[] getInterceptorClassNames();
boolean isClustered();
@@ -167,7 +163,7 @@
String[] listSessions(@Parameter(desc = "a connection ID", name = "connectionID")
String connectionID) throws Exception;
- TabularData getConnectors() throws Exception;
+ Object[] getConnectors() throws Exception;
void sendQueueInfoToQueue(String queueName, String address) throws Exception;
Modified: trunk/src/main/org/jboss/messaging/core/management/ObjectNames.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/ObjectNames.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/ObjectNames.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -143,4 +143,6 @@
// Inner classes -------------------------------------------------
+
+
}
Deleted: trunk/src/main/org/jboss/messaging/core/management/PairsInfo.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/PairsInfo.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/PairsInfo.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -1,136 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, 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;
-
-import static javax.management.openmbean.SimpleType.STRING;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.CompositeDataSupport;
-import javax.management.openmbean.CompositeType;
-import javax.management.openmbean.OpenDataException;
-import javax.management.openmbean.OpenType;
-import javax.management.openmbean.TabularData;
-import javax.management.openmbean.TabularDataSupport;
-import javax.management.openmbean.TabularType;
-
-import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.utils.Pair;
-
-/**
- * Info for a Message property.
- *
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- *
- * @version <tt>$Revision$</tt>
- *
- */
-public class PairsInfo
-{
- // Constants -----------------------------------------------------
-
- private static final Logger log = Logger.getLogger(PairsInfo.class);
-
- public static final TabularType TABULAR_TYPE;
-
- private static CompositeType ROW_TYPE;
-
- static
- {
- try
- {
- ROW_TYPE = new CompositeType("Pair",
- "Pair",
- new String[] { "a", "b" },
- new String[] { "First item of the pair", "Second item of the pair" },
- new OpenType[] { STRING, STRING });
- TABULAR_TYPE = new TabularType("PairInfo", "Pair", ROW_TYPE, new String[] { "a" });
- }
- catch (OpenDataException e)
- {
- throw new IllegalStateException(e);
- }
- }
-
- public static List<Pair<String, String>> from(TabularData connectorInfos)
- {
- List<Pair<String, String>> pairs = new ArrayList<Pair<String, String>>();
- Collection values = connectorInfos.values();
- for (Object object : values)
- {
- CompositeData compositeData = (CompositeData)object;
- pairs.add(new Pair<String, String>((String)compositeData.get("a"), (String)compositeData.get("b")));
- }
- return pairs;
- }
-
- public static CompositeData toCompositeData(Pair<String, String> pair) throws OpenDataException
- {
- return new CompositeDataSupport(ROW_TYPE, new String[] { "a", "b" }, new Object[] { pair.a, pair.b });
- }
-
- public static TabularData toTabularData(List<Pair<String, String>> pairs)
- {
- PairsInfo info = new PairsInfo(pairs);
- return info.toTabularData();
- }
-
- // Attributes ----------------------------------------------------
-
- private final List<Pair<String, String>> pairs = new ArrayList<Pair<String, String>>();
-
- // Private -------------------------------------------------------
-
- private PairsInfo(List<Pair<String, String>> pairs)
- {
- if (pairs != null)
- {
- for (Pair<String, String> pair : pairs)
- {
- this.pairs.add(pair);
- }
- }
- }
-
- private TabularData toTabularData()
- {
- try
- {
- TabularDataSupport data = new TabularDataSupport(TABULAR_TYPE);
- for (Pair<String, String> pair : pairs)
- {
- data.put(toCompositeData(pair));
- }
- return data;
- }
- catch (OpenDataException e)
- {
- log.error("Exception when converting a collection of pairs to a TabularData", e);
- return null;
- }
- }
-
-}
\ No newline at end of file
Deleted: trunk/src/main/org/jboss/messaging/core/management/PropertiesInfo.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/PropertiesInfo.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/PropertiesInfo.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -1,134 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, 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;
-
-import static javax.management.openmbean.SimpleType.STRING;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.CompositeDataSupport;
-import javax.management.openmbean.CompositeType;
-import javax.management.openmbean.OpenDataException;
-import javax.management.openmbean.OpenType;
-import javax.management.openmbean.TabularData;
-import javax.management.openmbean.TabularDataSupport;
-import javax.management.openmbean.TabularType;
-
-import org.jboss.messaging.core.logging.Logger;
-
-/**
- * Info for a Message property.
- *
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- *
- * @version <tt>$Revision$</tt>
- *
- */
-public class PropertiesInfo
-{
- // Constants -----------------------------------------------------
-
- private static final Logger log = Logger.getLogger(PropertiesInfo.class);
-
- public static final TabularType TABULAR_TYPE;
- private static CompositeType ROW_TYPE;
-
- static
- {
- try
- {
- ROW_TYPE = new CompositeType("Property", "Property", new String[] {
- "key", "value" }, new String[] { "Key of the property",
- "Value of the property" }, new OpenType[] { STRING, STRING });
- TABULAR_TYPE = new TabularType("PropertyInfo",
- "Properties of the message", ROW_TYPE, new String[] { "key" });
- } catch (OpenDataException e)
- {
- throw new IllegalStateException(e);
- }
- }
-
- public static PropertiesInfo from(TabularData connectorInfos)
- {
- PropertiesInfo info = new PropertiesInfo();
- Collection values = connectorInfos.values();
- for (Object object : values)
- {
- CompositeData compositeData = (CompositeData)object;
- info.put((String)compositeData.get("key"), (String)compositeData.get("value"));
- }
- return info;
- }
-
- // Attributes ----------------------------------------------------
-
- private final Map<String, String> properties = new HashMap<String, String>();
-
- // Constructors --------------------------------------------------
-
- // Public --------------------------------------------------------
-
- public Map<String, String> entries()
- {
- return properties;
- }
-
- public void put(final String key, final String value)
- {
- properties.put(key, value);
- }
-
- public TabularData toTabularData()
- {
- try
- {
- TabularDataSupport data = new TabularDataSupport(TABULAR_TYPE);
- for (Entry<String, String> entry : properties.entrySet())
- {
- data
- .put(new CompositeDataSupport(ROW_TYPE, new String[] { "key",
- "value" }, new Object[] { entry.getKey(),
- entry.getValue() }));
- }
- return data;
- } catch (OpenDataException e)
- {
- log.error("Exception when converting a collection of properties to a TabularData", e);
- return null;
- }
- }
-
- public static TabularData toTabularData(Map<String, Object> params)
- {
- PropertiesInfo info = new PropertiesInfo();
- for (Entry<String, Object> entry : params.entrySet())
- {
- info.put(entry.getKey(), entry.getValue().toString());
- }
- return info.toTabularData();
- }
-}
\ No newline at end of file
Modified: trunk/src/main/org/jboss/messaging/core/management/QueueControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/QueueControlMBean.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/QueueControlMBean.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -25,8 +25,7 @@
import static javax.management.MBeanOperationInfo.ACTION;
import static javax.management.MBeanOperationInfo.INFO;
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.TabularData;
+import java.util.Map;
/**
* @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
@@ -41,7 +40,7 @@
String getName();
String getAddress();
-
+
long getPersistenceID();
boolean isTemporary();
@@ -59,104 +58,89 @@
int getDeliveringCount();
int getMessagesAdded();
-
+
String getExpiryAddress();
-
- void setExpiryAddress(@Parameter(name = "expiryAddress", desc = "Expiry address of the queue")
- String expiryAddres)
- throws Exception;
-
+
+ void setExpiryAddress(@Parameter(name = "expiryAddress", desc = "Expiry address of the queue")
+ String expiryAddres) throws Exception;
+
String getDeadLetterAddress();
-
- void setDeadLetterAddress(@Parameter(name = "deadLetterAddress", desc = "Dead-letter address of the queue")
- String deadLetterAddress)
- throws Exception;
+ void setDeadLetterAddress(@Parameter(name = "deadLetterAddress", desc = "Dead-letter address of the queue")
+ String deadLetterAddress) throws Exception;
+
boolean isBackup();
// Operations ----------------------------------------------------
@Operation(desc = "List the messages scheduled for delivery", impact = INFO)
- public TabularData listScheduledMessages() throws Exception;
+ Map<String, Object>[] listScheduledMessages() throws Exception;
@Operation(desc = "List all the messages in the queue", impact = INFO)
- TabularData listAllMessages() throws Exception;
+ Map<String, Object>[] listAllMessages() throws Exception;
@Operation(desc = "List all the messages in the queue matching the given filter", impact = INFO)
- TabularData listMessages(
- @Parameter(name = "filter", desc = "A message filter") String filter)
- throws Exception;
+ Map<String, Object>[] listMessages(@Parameter(name = "filter", desc = "A message filter")
+ String filter) throws Exception;
@Operation(desc = "Returns the number of the messages in the queue matching the given filter", impact = INFO)
- int countMessages(
- @Parameter(name = "filter", desc = "A message filter") String filter)
- throws Exception;
+ int countMessages(@Parameter(name = "filter", desc = "A message filter")
+ String filter) throws Exception;
@Operation(desc = "Remove all the messages from the queue", impact = ACTION)
int removeAllMessages() throws Exception;
@Operation(desc = "Remove the message corresponding to the given messageID", impact = ACTION)
- boolean removeMessage(
- @Parameter(name = "messageID", desc = "A message ID") long messageID)
- throws Exception;
+ boolean removeMessage(@Parameter(name = "messageID", desc = "A message ID")
+ long messageID) throws Exception;
@Operation(desc = "Remove the messages corresponding to the given filter (and returns the number of removed messages)", impact = ACTION)
- int removeMatchingMessages(
- @Parameter(name = "filter", desc = "A message filter") String filter)
- throws Exception;
+ int removeMatchingMessages(@Parameter(name = "filter", desc = "A message filter")
+ String filter) throws Exception;
@Operation(desc = "Remove the messages corresponding to the given filter (and returns the number of expired messages)", impact = ACTION)
- int expireMessages(
- @Parameter(name = "filter", desc = "A message filter") String filter)
- throws Exception;
+ int expireMessages(@Parameter(name = "filter", desc = "A message filter")
+ String filter) throws Exception;
@Operation(desc = "Remove the message corresponding to the given messageID", impact = ACTION)
- boolean expireMessage(
- @Parameter(name = "messageID", desc = "A message ID") long messageID)
- throws Exception;
+ boolean expireMessage(@Parameter(name = "messageID", desc = "A message ID")
+ long messageID) throws Exception;
@Operation(desc = "Move the message corresponding to the given messageID to another queue", impact = ACTION)
- boolean moveMessage(
- @Parameter(name = "messageID", desc = "A message ID") long messageID,
- @Parameter(name = "otherQueueName", desc = "The name of the queue to move the message to") String otherQueueName)
- throws Exception;
+ boolean moveMessage(@Parameter(name = "messageID", desc = "A message ID")
+ long messageID, @Parameter(name = "otherQueueName", desc = "The name of the queue to move the message to")
+ String otherQueueName) throws Exception;
@Operation(desc = "Move the messages corresponding to the given filter (and returns the number of moved messages)", impact = ACTION)
- int moveMatchingMessages(
- @Parameter(name = "filter", desc = "A message filter") String filter,
- @Parameter(name = "otherQueueName", desc = "The name of the queue to move the messages to") String otherQueueName)
- throws Exception;
+ int moveMatchingMessages(@Parameter(name = "filter", desc = "A message filter")
+ String filter, @Parameter(name = "otherQueueName", desc = "The name of the queue to move the messages to")
+ String otherQueueName) throws Exception;
@Operation(desc = "Move all the messages to another queue (and returns the number of moved messages)", impact = ACTION)
- int moveAllMessages(
- @Parameter(name = "otherQueueName", desc = "The name of the queue to move the messages to") String otherQueueName)
- throws Exception;
+ int moveAllMessages(@Parameter(name = "otherQueueName", desc = "The name of the queue to move the messages to")
+ String otherQueueName) throws Exception;
@Operation(desc = "Send the message corresponding to the given messageID to this queue's Dead Letter Address", impact = ACTION)
- boolean sendMessageToDeadLetterAddress(
- @Parameter(name = "messageID", desc = "A message ID") long messageID)
- throws Exception;
-
+ boolean sendMessageToDeadLetterAddress(@Parameter(name = "messageID", desc = "A message ID")
+ long messageID) throws Exception;
+
int sendMessagesToDeadLetterAddress(String filterStr) throws Exception;
@Operation(desc = "Change the priority of the message corresponding to the given messageID", impact = ACTION)
- boolean changeMessagePriority(
- @Parameter(name = "messageID", desc = "A message ID") long messageID,
- @Parameter(name = "newPriority", desc = "the new priority (between 0 and 9)") int newPriority)
- throws Exception;
+ boolean changeMessagePriority(@Parameter(name = "messageID", desc = "A message ID")
+ long messageID, @Parameter(name = "newPriority", desc = "the new priority (between 0 and 9)")
+ int newPriority) throws Exception;
int changeMessagesPriority(String filter, int newPriority) throws Exception;
- CompositeData listMessageCounter() throws Exception;
+ Object[] listMessageCounter() throws Exception;
void resetMessageCounter() throws Exception;
String listMessageCounterAsHTML() throws Exception;
- TabularData listMessageCounterHistory() throws Exception;
+ Object[] listMessageCounterHistory() throws Exception;
String listMessageCounterHistoryAsHTML() throws Exception;
-
-
}
Modified: trunk/src/main/org/jboss/messaging/core/management/RoleInfo.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/RoleInfo.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/RoleInfo.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,19 +22,22 @@
package org.jboss.messaging.core.management;
+import static javax.management.openmbean.SimpleType.BOOLEAN;
+import static javax.management.openmbean.SimpleType.STRING;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.CompositeDataSupport;
import javax.management.openmbean.CompositeType;
import javax.management.openmbean.OpenDataException;
import javax.management.openmbean.OpenType;
-import static javax.management.openmbean.SimpleType.BOOLEAN;
-import static javax.management.openmbean.SimpleType.STRING;
import javax.management.openmbean.TabularData;
import javax.management.openmbean.TabularDataSupport;
import javax.management.openmbean.TabularType;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
/**
* @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
@@ -128,6 +131,27 @@
return (RoleInfo[]) infos.toArray(new RoleInfo[infos.size()]);
}
+ public static RoleInfo[] from(Object[] roles)
+ {
+ //Collection values = roles.values();
+ List<RoleInfo> infos = new ArrayList<RoleInfo>();
+ for (Object object : roles)
+ {
+ Map<String, Object> compositeData = (Map<String, Object>) object;
+ String name = (String) compositeData.get("name");
+ boolean send = (Boolean) compositeData.get("send");
+ boolean consume = (Boolean) compositeData.get("consume");
+ boolean createDurableQueue = (Boolean) compositeData.get("createDurableQueue");
+ boolean deleteDurableQueue = (Boolean) compositeData.get("deleteDurableQueue");
+ boolean createNonDurableQueue = (Boolean) compositeData.get("createNonDurableQueue");
+ boolean deleteNonDurableQueue = (Boolean) compositeData.get("deleteNonDurableQueue");
+ boolean manage = (Boolean) compositeData.get("manage");
+ infos.add(new RoleInfo(name, send, consume, createDurableQueue, deleteDurableQueue, createNonDurableQueue, deleteNonDurableQueue, manage));
+ }
+
+ return (RoleInfo[]) infos.toArray(new RoleInfo[infos.size()]);
+ }
+
// Constructors --------------------------------------------------
Deleted: trunk/src/main/org/jboss/messaging/core/management/TransportConfigurationInfo.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/TransportConfigurationInfo.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/TransportConfigurationInfo.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -1,161 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, 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;
-
-import static javax.management.openmbean.SimpleType.STRING;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.CompositeDataSupport;
-import javax.management.openmbean.CompositeType;
-import javax.management.openmbean.OpenDataException;
-import javax.management.openmbean.OpenType;
-import javax.management.openmbean.TabularData;
-import javax.management.openmbean.TabularDataSupport;
-import javax.management.openmbean.TabularType;
-
-import org.jboss.messaging.core.config.TransportConfiguration;
-import org.jboss.messaging.core.logging.Logger;
-
-/**
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- *
- * @version <tt>$Revision$</tt>
- *
- */
-public class TransportConfigurationInfo
-{
- // Constants -----------------------------------------------------
-
- private static final Logger log = Logger.getLogger(TransportConfigurationInfo.class);
-
- public static final CompositeType TYPE;
-
- private static final String MESSAGE_TYPE_NAME = "TransportConfigurationInfo";
-
- private static final String MESSAGE_TABULAR_TYPE_NAME = "TransportConfigurationTabularInfo";
-
- private static final String[] ITEM_NAMES = new String[] { "name", "factoryClassName", "parameters" };
-
- private static final String[] ITEM_DESCRIPTIONS = new String[] { "Name of the connector",
- "Name of the Transport factory class",
- "Parameters" };
-
- private static final OpenType[] TYPES;
-
- private static final TabularType TABULAR_TYPE;
-
- static
- {
- try
- {
- TYPES = new OpenType[] { STRING, STRING, PropertiesInfo.TABULAR_TYPE };
- TYPE = new CompositeType(MESSAGE_TYPE_NAME,
- "Information for a TransportConfigurationInfo",
- ITEM_NAMES,
- ITEM_DESCRIPTIONS,
- TYPES);
- TABULAR_TYPE = new TabularType(MESSAGE_TABULAR_TYPE_NAME,
- "Information for tabular TransportConfigurationInfo",
- TYPE,
- new String[] { "name", "factoryClassName" });
- }
- catch (OpenDataException e)
- {
- throw new IllegalStateException(e);
- }
- }
-
- // Attributes ----------------------------------------------------
-
- private final TransportConfiguration config;
-
- // Static --------------------------------------------------------
-
- public static TabularData toTabularData(final Collection<TransportConfiguration> configs) throws OpenDataException
- {
- TabularData data = new TabularDataSupport(TABULAR_TYPE);
- for (TransportConfiguration config : configs)
- {
- data.put(new TransportConfigurationInfo(config).toCompositeData());
- }
- return data;
- }
-
- public static TransportConfiguration[] from(TabularData msgs)
- {
- Collection values = msgs.values();
- List<TransportConfiguration> infos = new ArrayList<TransportConfiguration>();
- for (Object object : values)
- {
- CompositeData compositeData = (CompositeData)object;
- String name = (String)compositeData.get("name");
- String factoryClassName = (String)compositeData.get("factoryClassName");
-
- TabularData connectorData = (TabularData)compositeData.get("parameters");
- PropertiesInfo params = PropertiesInfo.from(connectorData);
-
- Map<String, Object> p = new HashMap<String, Object>(params.entries());
- infos.add(new TransportConfiguration(factoryClassName, p, name));
- }
-
- return (TransportConfiguration[])infos.toArray(new TransportConfiguration[infos.size()]);
- }
-
- // Constructors --------------------------------------------------
-
- public TransportConfigurationInfo(final TransportConfiguration config)
- {
- this.config = config;
- }
-
- // Public --------------------------------------------------------
-
- public CompositeData toCompositeData()
- {
- try
- {
- return new CompositeDataSupport(TYPE,
- ITEM_NAMES,
- new Object[] { config.getName(),
- config.getFactoryClassName(),
- PropertiesInfo.toTabularData(config.getParams()) });
- }
- catch (OpenDataException e)
- {
- log.error("Exception when converting a TransportConfiguration to a CompositeData", e);
- return null;
- }
- }
-
- @Override
- public String toString()
- {
- return "BroadcastGroupConfigurationInfo[config=" + config.toString() + "]";
- }
-}
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/AcceptorControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/AcceptorControl.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/AcceptorControl.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,11 +22,10 @@
package org.jboss.messaging.core.management.impl;
-import javax.management.openmbean.TabularData;
+import java.util.Map;
import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.management.AcceptorControlMBean;
-import org.jboss.messaging.core.management.PropertiesInfo;
import org.jboss.messaging.core.remoting.spi.Acceptor;
/**
@@ -69,9 +68,9 @@
return configuration.getName();
}
- public TabularData getParameters()
+ public Map<String, Object> getParameters()
{
- return PropertiesInfo.toTabularData(configuration.getParams());
+ return configuration.getParams();
}
public boolean isStarted()
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/AddressControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/AddressControl.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/AddressControl.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,8 +22,11 @@
package org.jboss.messaging.core.management.impl;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.management.AddressControlMBean;
-import org.jboss.messaging.core.management.RoleInfo;
import org.jboss.messaging.core.postoffice.Binding;
import org.jboss.messaging.core.postoffice.Bindings;
import org.jboss.messaging.core.postoffice.PostOffice;
@@ -32,10 +35,6 @@
import org.jboss.messaging.core.settings.HierarchicalRepository;
import org.jboss.messaging.utils.SimpleString;
-import javax.management.openmbean.TabularData;
-import java.util.Iterator;
-import java.util.Set;
-
/**
* @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
*
@@ -47,6 +46,8 @@
// Constants -----------------------------------------------------
+ private static final Logger log = Logger.getLogger(AddressControl.class);
+
// Attributes ----------------------------------------------------
private final SimpleString address;
@@ -84,8 +85,8 @@
Bindings bindings = postOffice.getBindingsForAddress(address);
String[] queueNames = new String[bindings.getBindings().size()];
int i = 0;
- for (Binding binding: bindings.getBindings())
- {
+ for (Binding binding : bindings.getBindings())
+ {
queueNames[i++] = binding.getUniqueName().toString();
}
return queueNames;
@@ -96,23 +97,25 @@
}
}
- public TabularData getRoles() throws Exception
+ public Object[] getRoles() throws Exception
{
Set<Role> roles = securityRepository.getMatch(address.toString());
- RoleInfo[] roleInfos = new RoleInfo[roles.size()];
+
+ Object[] objRoles = new Object[roles.size()];
+
int i = 0;
for (Role role : roles)
{
- roleInfos[i++] = new RoleInfo(role.getName(),
+ objRoles[i++] = new Object[] { role.getName(),
CheckType.SEND.hasRole(role),
CheckType.CONSUME.hasRole(role),
CheckType.CREATE_DURABLE_QUEUE.hasRole(role),
CheckType.DELETE_DURABLE_QUEUE.hasRole(role),
CheckType.CREATE_NON_DURABLE_QUEUE.hasRole(role),
CheckType.DELETE_NON_DURABLE_QUEUE.hasRole(role),
- CheckType.MANAGE.hasRole(role));
+ CheckType.MANAGE.hasRole(role) };
}
- return RoleInfo.toTabularData(roleInfos);
+ return objRoles;
}
public synchronized void addRole(final String name,
@@ -125,7 +128,14 @@
final boolean manage) throws Exception
{
Set<Role> roles = securityRepository.getMatch(address.toString());
- Role newRole = new Role(name, send, consume, createDurableQueue, deleteDurableQueue, createNonDurableQueue, deleteNonDurableQueue, manage);
+ Role newRole = new Role(name,
+ send,
+ consume,
+ createDurableQueue,
+ deleteDurableQueue,
+ createNonDurableQueue,
+ deleteNonDurableQueue,
+ manage);
boolean added = roles.add(newRole);
if (!added)
{
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/BridgeControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/BridgeControl.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/BridgeControl.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,11 +22,8 @@
package org.jboss.messaging.core.management.impl;
-import javax.management.openmbean.CompositeData;
-
import org.jboss.messaging.core.config.cluster.BridgeConfiguration;
import org.jboss.messaging.core.management.BridgeControlMBean;
-import org.jboss.messaging.core.management.PairsInfo;
import org.jboss.messaging.core.server.cluster.Bridge;
/**
@@ -59,9 +56,14 @@
// BridgeControlMBean implementation ---------------------------
- public CompositeData getConnectorPair() throws Exception
+ public String[] getConnectorPair() throws Exception
{
- return PairsInfo.toCompositeData(configuration.getConnectorPair());
+ String[] pair = new String[2];
+
+ pair[0] = configuration.getConnectorPair().a;
+ pair[1] = configuration.getConnectorPair().b != null ? configuration.getConnectorPair().b : null;
+
+ return pair;
}
public String getForwardingAddress()
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/BroadcastGroupControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/BroadcastGroupControl.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/BroadcastGroupControl.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,12 +22,10 @@
package org.jboss.messaging.core.management.impl;
-import javax.management.openmbean.TabularData;
-
import org.jboss.messaging.core.config.cluster.BroadcastGroupConfiguration;
import org.jboss.messaging.core.management.BroadcastGroupControlMBean;
-import org.jboss.messaging.core.management.PairsInfo;
import org.jboss.messaging.core.server.cluster.BroadcastGroup;
+import org.jboss.messaging.utils.Pair;
/**
* A BroadcastGroupControl
@@ -69,9 +67,22 @@
return configuration.getBroadcastPeriod();
}
- public TabularData getConnectorPairs()
+ public Object[] getConnectorPairs()
{
- return PairsInfo.toTabularData(configuration.getConnectorInfos());
+ Object[] ret = new Object[configuration.getConnectorInfos().size()];
+
+ int i = 0;
+ for (Pair<String, String> pair: configuration.getConnectorInfos())
+ {
+ String[] opair = new String[2];
+
+ opair[0] = pair.a;
+ opair[1] = pair.b != null ? pair.b : null;
+
+ ret[i++] = opair;
+ }
+
+ return ret;
}
public String getGroupAddress()
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/ClusterConnectionControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/ClusterConnectionControl.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/ClusterConnectionControl.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,12 +22,10 @@
package org.jboss.messaging.core.management.impl;
-import javax.management.openmbean.TabularData;
-
import org.jboss.messaging.core.config.cluster.ClusterConnectionConfiguration;
import org.jboss.messaging.core.management.ClusterConnectionControlMBean;
-import org.jboss.messaging.core.management.PairsInfo;
import org.jboss.messaging.core.server.cluster.ClusterConnection;
+import org.jboss.messaging.utils.Pair;
/**
* A ClusterConnectionControl
@@ -83,9 +81,22 @@
return configuration.getRetryInterval();
}
- public TabularData getStaticConnectorNamePairs()
+ public Object[] getStaticConnectorNamePairs()
{
- return PairsInfo.toTabularData(configuration.getStaticConnectorNamePairs());
+ Object[] ret = new Object[configuration.getStaticConnectorNamePairs().size()];
+
+ int i = 0;
+ for (Pair<String, String> pair: configuration.getStaticConnectorNamePairs())
+ {
+ String[] opair = new String[2];
+
+ opair[0] = pair.a;
+ opair[1] = pair.b != null ? pair.b : null;
+
+ ret[i++] = opair;
+ }
+
+ return ret;
}
public boolean isDuplicateDetection()
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -26,10 +26,8 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -64,7 +62,6 @@
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;
-import org.jboss.messaging.core.message.impl.MessageImpl;
import org.jboss.messaging.core.messagecounter.MessageCounter;
import org.jboss.messaging.core.messagecounter.MessageCounterManager;
import org.jboss.messaging.core.messagecounter.impl.MessageCounterManagerImpl;
@@ -119,15 +116,15 @@
private MessagingServerControl messagingServerControl;
private final MessageCounterManager messageCounterManager;
-
+
private final SimpleString managementNotificationAddress;
-
+
private final SimpleString managementAddress;
-
+
private final String managementClusterPassword;
-
+
private final long managementRequestTimeout;
-
+
private boolean started = false;
private boolean messageCounterEnabled;
@@ -156,7 +153,7 @@
messageCounterManager = new MessageCounterManagerImpl();
messageCounterManager.setMaxDayCount(configuration.getMessageCounterMaxDayHistory());
messageCounterManager.reschedule(configuration.getMessageCounterSamplePeriod());
-
+
replicationInvoker = new ReplicationOperationInvokerImpl(managementClusterPassword,
managementAddress,
managementRequestTimeout);
@@ -187,13 +184,13 @@
this.securityRepository = securityRepository;
this.storageManager = storageManager;
- messagingServerControl = new MessagingServerControl(postOffice,
- configuration,
- resourceManager,
- remotingService,
- messagingServer,
- messageCounterManager,
- broadcaster);
+ messagingServerControl = new MessagingServerControl(postOffice,
+ configuration,
+ resourceManager,
+ remotingService,
+ messagingServer,
+ messageCounterManager,
+ broadcaster);
ObjectName objectName = ObjectNames.getMessagingServerObjectName();
registerInJMX(objectName, new ReplicationAwareMessagingServerControlWrapper(messagingServerControl,
replicationInvoker));
@@ -214,8 +211,7 @@
ObjectName objectName = ObjectNames.getAddressObjectName(address);
AddressControl addressControl = new AddressControl(address, postOffice, securityRepository);
- registerInJMX(objectName, new ReplicationAwareAddressControlWrapper(addressControl,
- replicationInvoker));
+ registerInJMX(objectName, new ReplicationAwareAddressControlWrapper(addressControl, replicationInvoker));
registerInRegistry(ResourceNames.CORE_ADDRESS + address, addressControl);
@@ -233,7 +229,9 @@
unregisterFromRegistry(ResourceNames.CORE_ADDRESS + address);
}
- public synchronized 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
{
QueueControl queueControl = new QueueControl(queue, address.toString(), postOffice, addressSettingsRepository);
MessageCounter counter = new MessageCounter(queue.getName().toString(),
@@ -297,7 +295,8 @@
unregisterFromRegistry(ResourceNames.CORE_ACCEPTOR + name);
}
- public synchronized 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);
@@ -312,7 +311,8 @@
unregisterFromRegistry(ResourceNames.CORE_BROADCAST_GROUP + name);
}
- public synchronized 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);
@@ -342,7 +342,8 @@
unregisterFromRegistry(ResourceNames.CORE_BRIDGE + name);
}
- public synchronized 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);
@@ -362,7 +363,7 @@
// a reply message is sent with the result stored in the message body.
// we set its type to MessageImpl.OBJECT_TYPE so that I can be received
// as an ObjectMessage when using JMS to send management message
- ServerMessageImpl reply = new ServerMessageImpl(storageManager.generateUniqueID());
+ ServerMessageImpl reply = new ServerMessageImpl(storageManager.generateUniqueID());
reply.setBody(ChannelBuffers.dynamicBuffer(1024));
SimpleString resourceName = (SimpleString)message.getProperty(ManagementHelper.HDR_RESOURCE_NAME);
@@ -372,19 +373,22 @@
}
SimpleString operation = (SimpleString)message.getProperty(ManagementHelper.HDR_OPERATION_NAME);
-
+
if (operation != null)
- {
+ {
Object[] params = ManagementHelper.retrieveOperationParameters(message);
-
+
+ if (params == null)
+ {
+ params = new Object[0];
+ }
+
try
{
Object result = invokeOperation(resourceName.toString(), operation.toString(), params);
-
- log.info("Result is " + result);
-
+
ManagementHelper.storeResult(reply, result);
-
+
reply.putBooleanProperty(ManagementHelper.HDR_OPERATION_SUCCEEDED, true);
}
catch (Exception e)
@@ -400,17 +404,18 @@
{
ManagementHelper.storeResult(message, exceptionMessage);
}
- }
+ }
}
else
{
SimpleString attribute = (SimpleString)message.getProperty(ManagementHelper.HDR_ATTRIBUTE);
-
+
if (attribute != null)
- {
+ {
try
{
Object result = getAttribute(resourceName.toString(), attribute.toString());
+
ManagementHelper.storeResult(reply, result);
}
catch (Exception e)
@@ -426,7 +431,7 @@
{
ManagementHelper.storeResult(message, exceptionMessage);
}
- }
+ }
}
}
@@ -444,7 +449,7 @@
{
return;
}
-
+
synchronized (mbeanServer)
{
unregisterFromJMX(objectName);
@@ -455,7 +460,7 @@
public synchronized void registerInRegistry(final String resourceName, final Object managedResource)
{
unregisterFromRegistry(resourceName);
-
+
registry.put(resourceName, managedResource);
}
@@ -525,7 +530,7 @@
{
messageCounterManager.start();
}
-
+
started = true;
}
@@ -535,9 +540,9 @@
for (String resourceName : resourceNames)
{
- unregisterFromRegistry(resourceName);
+ unregisterFromRegistry(resourceName);
}
-
+
if (jmxManagementEnabled)
{
Set<ObjectName> names = mbeanServer.queryNames(ObjectName.getInstance(ObjectNames.DOMAIN + ":*"), null);
@@ -546,17 +551,17 @@
mbeanServer.unregisterMBean(name);
}
}
-
+
messageCounterManager.stop();
-
+
messageCounterManager.resetAllCounters();
-
+
messageCounterManager.resetAllCounterHistories();
messageCounterManager.clear();
-
- // replicationInvoker.stop();
+ // replicationInvoker.stop();
+
started = false;
}
@@ -578,12 +583,12 @@
// This needs to be synchronized since we need to ensure notifications are processed in strict sequence
synchronized (this)
{
- //We also need to synchronize on the post office notification lock
- //otherwise we can get notifications arriving in wrong order / missing
- //if a notification occurs at same time as sendQueueInfoToQueue is processed
+ // We also need to synchronize on the post office notification lock
+ // otherwise we can get notifications arriving in wrong order / missing
+ // if a notification occurs at same time as sendQueueInfoToQueue is processed
synchronized (postOffice.getNotificationLock())
{
-
+
// First send to any local listeners
for (NotificationListener listener : listeners)
{
@@ -597,17 +602,18 @@
log.error("Failed to call listener", e);
}
}
-
+
// Now send message
-
+
ServerMessage notificationMessage = new ServerMessageImpl(storageManager.generateUniqueID());
-
+
notificationMessage.setBody(ChannelBuffers.EMPTY_BUFFER);
- // Notification messages are always durable so the user can choose whether to add a durable queue to consume
+ // Notification messages are always durable so the user can choose whether to add a durable queue to
+ // consume
// them in
notificationMessage.setDurable(true);
notificationMessage.setDestination(managementNotificationAddress);
-
+
TypedProperties notifProps;
if (notification.getProperties() != null)
{
@@ -617,19 +623,19 @@
{
notifProps = new TypedProperties();
}
-
+
notifProps.putStringProperty(ManagementHelper.HDR_NOTIFICATION_TYPE,
new SimpleString(notification.getType().toString()));
-
+
notifProps.putLongProperty(ManagementHelper.HDR_NOTIFICATION_TIMESTAMP, System.currentTimeMillis());
-
+
if (notification.getUID() != null)
{
notifProps.putStringProperty(new SimpleString("foobar"), new SimpleString(notification.getUID()));
}
-
+
notificationMessage.putTypedProperties(notifProps);
-
+
postOffice.route(notificationMessage, null);
}
}
@@ -646,12 +652,12 @@
try
{
Object resource = registry.get(resourceName);
-
+
if (resource == null)
{
throw new IllegalArgumentException("Cannot find resource with name " + resourceName);
}
-
+
Method method = null;
try
@@ -680,12 +686,12 @@
private Object invokeOperation(final String resourceName, final String operation, final Object[] params) throws Exception
{
Object resource = registry.get(resourceName);
-
+
if (resource == null)
{
throw new IllegalArgumentException("Cannot find resource with name " + resourceName);
}
-
+
Method method = null;
Method[] methods = resource.getClass().getMethods();
@@ -693,16 +699,29 @@
{
if (m.getName().equals(operation) && m.getParameterTypes().length == params.length)
{
+ Class<?>[] paramTypes = m.getParameterTypes();
+
+ for (int i = 0; i < paramTypes.length; i++)
+ {
+ if (params[i].getClass() != paramTypes[i])
+ {
+ continue;
+ }
+ }
+
method = m;
+
+ break;
}
}
+
if (method == null)
{
throw new IllegalArgumentException("no operation " + operation + "/" + params.length);
}
-
+
Object result = method.invoke(resource, params);
-
+
return result;
}
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -39,7 +39,6 @@
import javax.management.NotificationEmitter;
import javax.management.NotificationFilter;
import javax.management.NotificationListener;
-import javax.management.openmbean.TabularData;
import javax.transaction.xa.Xid;
import org.jboss.messaging.core.config.Configuration;
@@ -48,7 +47,6 @@
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.management.MessagingServerControlMBean;
import org.jboss.messaging.core.management.NotificationType;
-import org.jboss.messaging.core.management.TransportConfigurationInfo;
import org.jboss.messaging.core.messagecounter.MessageCounterManager;
import org.jboss.messaging.core.messagecounter.impl.MessageCounterManagerImpl;
import org.jboss.messaging.core.postoffice.PostOffice;
@@ -154,9 +152,9 @@
return configuration.getConnectionScanPeriod();
}
- public List<String> getInterceptorClassNames()
+ public String[] getInterceptorClassNames()
{
- return configuration.getInterceptorClassNames();
+ return configuration.getInterceptorClassNames().toArray(new String[configuration.getInterceptorClassNames().size()]);
}
public int getJournalBufferReuseSize()
@@ -464,10 +462,25 @@
return sessionIDs;
}
- public TabularData getConnectors() throws Exception
+ public Object[] getConnectors() throws Exception
{
Collection<TransportConfiguration> connectorConfigurations = configuration.getConnectorConfigurations().values();
- return TransportConfigurationInfo.toTabularData(connectorConfigurations);
+
+ Object[] ret = new Object[connectorConfigurations.size()];
+
+ int i = 0;
+ for (TransportConfiguration config: connectorConfigurations)
+ {
+ Object[] tc = new Object[3];
+
+ tc[0] = config.getName();
+ tc[1] = config.getFactoryClassName();
+ tc[2] = config.getParams();
+
+ ret[i++] = tc;
+ }
+
+ return ret;
}
public void sendQueueInfoToQueue(final String queueName, final String address) throws Exception
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/QueueControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/QueueControl.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/QueueControl.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -23,23 +23,19 @@
package org.jboss.messaging.core.management.impl;
import java.util.List;
+import java.util.Map;
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.TabularData;
-
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.filter.Filter;
import org.jboss.messaging.core.filter.impl.FilterImpl;
-import org.jboss.messaging.core.management.MessageCounterInfo;
-import org.jboss.messaging.core.management.MessageInfo;
import org.jboss.messaging.core.management.QueueControlMBean;
+import org.jboss.messaging.core.message.Message;
import org.jboss.messaging.core.messagecounter.MessageCounter;
import org.jboss.messaging.core.messagecounter.impl.MessageCounterHelper;
import org.jboss.messaging.core.postoffice.Binding;
import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.server.MessageReference;
import org.jboss.messaging.core.server.Queue;
-import org.jboss.messaging.core.server.ServerMessage;
import org.jboss.messaging.core.settings.HierarchicalRepository;
import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.utils.SimpleString;
@@ -60,7 +56,7 @@
private final Queue queue;
private final String address;
-
+
private final PostOffice postOffice;
private final HierarchicalRepository<AddressSettings> addressSettingsRepository;
@@ -88,7 +84,7 @@
{
this.counter = counter;
}
-
+
// QueueControlMBean implementation ------------------------------
public String getName()
@@ -100,7 +96,7 @@
{
return address;
}
-
+
public String getFilter()
{
Filter filter = queue.getFilter();
@@ -156,7 +152,7 @@
public String getDeadLetterAddress()
{
AddressSettings addressSettings = addressSettingsRepository.getMatch(address);
-
+
if (addressSettings != null && addressSettings.getDeadLetterAddress() != null)
{
return addressSettings.getDeadLetterAddress().toString();
@@ -180,7 +176,7 @@
public String getExpiryAddress()
{
AddressSettings addressSettings = addressSettingsRepository.getMatch(address);
-
+
if (addressSettings != null && addressSettings.getExpiryAddress() != null)
{
return addressSettings.getExpiryAddress().toString();
@@ -201,68 +197,38 @@
}
}
- public TabularData listAllMessages() throws Exception
+ public Map<String, Object>[] listAllMessages() throws Exception
{
return listMessages(null);
}
- public TabularData listScheduledMessages() throws Exception
+ public Map<String, Object>[] listScheduledMessages() throws Exception
{
List<MessageReference> refs = queue.getScheduledMessages();
- MessageInfo[] infos = new MessageInfo[refs.size()];
- for (int i = 0; i < refs.size(); i++)
+ Map<String, Object>[] messages = new Map[refs.size()];
+ int i = 0;
+ for (MessageReference ref : refs)
{
- MessageReference ref = refs.get(i);
- ServerMessage message = ref.getMessage();
- MessageInfo info = new MessageInfo(message.getMessageID(),
- message.getDestination().toString(),
- message.isDurable(),
- message.getTimestamp(),
- message.getType(),
- message.getEncodeSize(),
- message.getPriority(),
- message.isExpired(),
- message.getExpiration());
- for (SimpleString key : message.getPropertyNames())
- {
- Object value = message.getProperty(key);
- String valueStr = value == null ? null : value.toString();
- info.putProperty(key.toString(), valueStr);
- }
- infos[i] = info;
+ Message message = ref.getMessage();
+ messages[i++] = message.toMap();
}
- return MessageInfo.toTabularData(infos);
+ return messages;
}
- public TabularData listMessages(final String filterStr) throws Exception
+ public Map[] listMessages(final String filterStr) throws Exception
{
try
{
Filter filter = FilterImpl.createFilter(filterStr);
List<MessageReference> refs = queue.list(filter);
- MessageInfo[] infos = new MessageInfo[refs.size()];
- for (int i = 0; i < refs.size(); i++)
+ Map<String, Object>[] messages = new Map[refs.size()];
+ int i = 0;
+ for (MessageReference ref : refs)
{
- MessageReference ref = refs.get(i);
- ServerMessage message = ref.getMessage();
- MessageInfo info = new MessageInfo(message.getMessageID(),
- message.getDestination().toString(),
- message.isDurable(),
- message.getTimestamp(),
- message.getType(),
- message.getEncodeSize(),
- message.getPriority(),
- message.isExpired(),
- message.getExpiration());
- for (SimpleString key : message.getPropertyNames())
- {
- Object value = message.getProperty(key);
- String valueStr = value == null ? null : value.toString();
- info.putProperty(key.toString(), valueStr);
- }
- infos[i] = info;
+ Message message = ref.getMessage();
+ messages[i++] = message.toMap();
}
- return MessageInfo.toTabularData(infos);
+ return messages;
}
catch (MessagingException e)
{
@@ -304,7 +270,7 @@
public int removeMatchingMessages(final String filterStr) throws Exception
{
Filter filter = FilterImpl.createFilter(filterStr);
-
+
return queue.deleteMatchingReferences(filter);
}
@@ -318,7 +284,7 @@
try
{
Filter filter = FilterImpl.createFilter(filterStr);
-
+
return queue.expireReferences(filter);
}
catch (MessagingException e)
@@ -330,7 +296,7 @@
public boolean moveMessage(final long messageID, final String otherQueueName) throws Exception
{
Binding binding = postOffice.getBinding(new SimpleString(otherQueueName));
-
+
if (binding == null)
{
throw new IllegalArgumentException("No queue found for " + otherQueueName);
@@ -342,9 +308,9 @@
public int moveMatchingMessages(final String filterStr, final String otherQueueName) throws Exception
{
Filter filter = FilterImpl.createFilter(filterStr);
-
+
Binding binding = postOffice.getBinding(new SimpleString(otherQueueName));
-
+
if (binding == null)
{
throw new IllegalArgumentException("No queue found for " + otherQueueName);
@@ -358,15 +324,18 @@
return moveMatchingMessages(null, otherQueueName);
}
- public int sendMessagesToDeadLetterAddress(String filterStr) throws Exception
+ public int sendMessagesToDeadLetterAddress(final String filterStr) throws Exception
{
- TabularData messages = listMessages(filterStr);
- MessageInfo[] infos = MessageInfo.from(messages);
- for (MessageInfo messageInfo : infos)
+ Filter filter = filterStr == null ? null : new FilterImpl(new SimpleString(filterStr));
+
+ List<MessageReference> refs = queue.list(filter);
+
+ for (MessageReference ref : refs)
{
- sendMessageToDeadLetterAddress(messageInfo.getID());
+ sendMessageToDeadLetterAddress(ref.getMessage().getMessageID());
}
- return infos.length;
+
+ return refs.size();
}
public boolean sendMessageToDeadLetterAddress(final long messageID) throws Exception
@@ -374,15 +343,18 @@
return queue.sendMessageToDeadLetterAddress(messageID);
}
- public int changeMessagesPriority(String filter, int newPriority) throws Exception
+ public int changeMessagesPriority(String filterStr, int newPriority) throws Exception
{
- TabularData messages = listMessages(filter);
- MessageInfo[] infos = MessageInfo.from(messages);
- for (MessageInfo messageInfo : infos)
+ Filter filter = filterStr == null ? null : new FilterImpl(new SimpleString(filterStr));
+
+ List<MessageReference> refs = queue.list(filter);
+
+ for (MessageReference ref : refs)
{
- changeMessagePriority(messageInfo.getID(), newPriority);
+ changeMessagePriority(ref.getMessage().getMessageID(), newPriority);
}
- return infos.length;
+
+ return refs.size();
}
public boolean changeMessagePriority(final long messageID, final int newPriority) throws Exception
@@ -395,11 +367,20 @@
return queue.changeReferencePriority(messageID, (byte)newPriority);
}
- public CompositeData listMessageCounter()
+ public Object[] listMessageCounter()
{
- return MessageCounterInfo.toCompositeData(counter);
+ Object[] counterData = new Object[] { counter.getDestinationName(),
+ counter.getDestinationSubscription(),
+ counter.isDestinationDurable(),
+ counter.getCount(),
+ counter.getCountDelta(),
+ counter.getMessageCount(),
+ counter.getMessageCountDelta(),
+ counter.getLastAddedMessageTime(),
+ counter.getLastUpdate() };
+ return counterData;
}
-
+
public void resetMessageCounter()
{
counter.resetCounter();
@@ -410,7 +391,7 @@
return MessageCounterHelper.listMessageCounterAsHTML(new MessageCounter[] { counter });
}
- public TabularData listMessageCounterHistory() throws Exception
+ public Object[] listMessageCounterHistory() throws Exception
{
return MessageCounterHelper.listMessageCounterHistory(counter);
}
@@ -420,7 +401,6 @@
return MessageCounterHelper.listMessageCounterHistoryAsHTML(new MessageCounter[] { counter });
}
-
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
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-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareAddressControlWrapper.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -23,7 +23,6 @@
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;
@@ -37,7 +36,8 @@
* @author <a href="jmesnil at redhat.com">Jeff Mesnil</a>
*
*/
-public class ReplicationAwareAddressControlWrapper extends ReplicationAwareStandardMBeanWrapper implements AddressControlMBean
+public class ReplicationAwareAddressControlWrapper extends ReplicationAwareStandardMBeanWrapper implements
+ AddressControlMBean
{
// Constants -----------------------------------------------------
@@ -53,7 +53,9 @@
public ReplicationAwareAddressControlWrapper(final AddressControl localAddressControl,
final ReplicationOperationInvoker replicationInvoker) throws Exception
{
- super(ResourceNames.CORE_ADDRESS + localAddressControl.getAddress(), AddressControlMBean.class, replicationInvoker);
+ super(ResourceNames.CORE_ADDRESS + localAddressControl.getAddress(),
+ AddressControlMBean.class,
+ replicationInvoker);
this.localAddressControl = localAddressControl;
}
@@ -70,7 +72,7 @@
return localAddressControl.getQueueNames();
}
- public TabularData getRoles() throws Exception
+ public Object[] getRoles() throws Exception
{
return localAddressControl.getRoles();
}
@@ -81,15 +83,23 @@
}
public void addRole(final String name,
- final boolean send,
- final boolean consume,
- final boolean createDurableQueue,
- final boolean deleteDurableQueue,
- final boolean createNonDurableQueue,
- final boolean deleteNonDurableQueue,
- final boolean manage) throws Exception
+ final boolean send,
+ final boolean consume,
+ final boolean createDurableQueue,
+ final boolean deleteDurableQueue,
+ final boolean createNonDurableQueue,
+ final boolean deleteNonDurableQueue,
+ final boolean manage) throws Exception
{
- replicationAwareInvoke("addRole", name, send, consume, createDurableQueue, deleteDurableQueue, createNonDurableQueue, deleteNonDurableQueue, manage);
+ replicationAwareInvoke("addRole",
+ name,
+ send,
+ consume,
+ createDurableQueue,
+ deleteDurableQueue,
+ createNonDurableQueue,
+ deleteNonDurableQueue,
+ manage);
}
// StandardMBean overrides ---------------------------------------
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-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareMessagingServerControlWrapper.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,10 +22,7 @@
package org.jboss.messaging.core.management.jmx.impl;
-import java.util.List;
-
import javax.management.MBeanInfo;
-import javax.management.openmbean.TabularData;
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.management.MessagingServerControlMBean;
@@ -89,7 +86,7 @@
return localControl.getConnectionScanPeriod();
}
- public List<String> getInterceptorClassNames()
+ public String[] getInterceptorClassNames()
{
return localControl.getInterceptorClassNames();
}
@@ -148,7 +145,7 @@
{
return localControl.getScheduledThreadPoolMaxSize();
}
-
+
public int getThreadPoolMaxSize()
{
return localControl.getThreadPoolMaxSize();
@@ -234,7 +231,7 @@
return localControl.listSessions(connectionID);
}
- public TabularData getConnectors() throws Exception
+ public Object[] getConnectors() throws Exception
{
return localControl.getConnectors();
}
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-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareQueueControlWrapper.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,6 +22,8 @@
package org.jboss.messaging.core.management.jmx.impl;
+import java.util.Map;
+
import javax.management.MBeanInfo;
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.TabularData;
@@ -141,12 +143,12 @@
return localQueueControl.isTemporary();
}
- public TabularData listAllMessages() throws Exception
+ public Map<String, Object>[] listAllMessages() throws Exception
{
return localQueueControl.listAllMessages();
}
- public CompositeData listMessageCounter() throws Exception
+ public Object[] listMessageCounter() throws Exception
{
return localQueueControl.listMessageCounter();
}
@@ -161,7 +163,7 @@
return localQueueControl.listMessageCounterAsHTML();
}
- public TabularData listMessageCounterHistory() throws Exception
+ public Object[] listMessageCounterHistory() throws Exception
{
return localQueueControl.listMessageCounterHistory();
}
@@ -171,7 +173,7 @@
return localQueueControl.listMessageCounterHistoryAsHTML();
}
- public TabularData listMessages(final String filter) throws Exception
+ public Map<String, Object>[] listMessages(final String filter) throws Exception
{
return localQueueControl.listMessages(filter);
}
@@ -181,7 +183,7 @@
return localQueueControl.countMessages(filter);
}
- public TabularData listScheduledMessages() throws Exception
+ public Map<String, Object>[] listScheduledMessages() throws Exception
{
return localQueueControl.listScheduledMessages();
}
Modified: trunk/src/main/org/jboss/messaging/core/message/Message.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/message/Message.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/message/Message.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -23,6 +23,7 @@
package org.jboss.messaging.core.message;
import java.io.InputStream;
+import java.util.Map;
import java.util.Set;
import org.jboss.messaging.core.remoting.spi.MessagingBuffer;
@@ -137,6 +138,8 @@
Set<SimpleString> getPropertyNames();
+ Map<String, Object> toMap();
+
// Body
// ---------------------------------------------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/message/impl/MessageImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/message/impl/MessageImpl.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/message/impl/MessageImpl.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -28,6 +28,8 @@
import static org.jboss.messaging.utils.DataConstants.SIZE_LONG;
import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Set;
import org.jboss.messaging.core.buffers.ChannelBuffers;
@@ -98,8 +100,7 @@
/** Used on LargeMessages */
private InputStream bodyInputStream;
-
-
+
// Constructors --------------------------------------------------
protected MessageImpl()
@@ -342,7 +343,24 @@
this.bodyInputStream = bodyInputStream;
}
-
+ public Map<String, Object> toMap()
+ {
+ Map<String, Object> map = new HashMap<String, Object>();
+
+ map.put("MessageID", messageID);
+ map.put("Destination", destination);
+ map.put("Type", type);
+ map.put("Durable", durable);
+ map.put("Expiration", expiration);
+ map.put("Timestamp", timestamp);
+ map.put("Priority", priority);
+ for (SimpleString propName: properties.getPropertyNames())
+ {
+ map.put(propName.toString(), properties.getProperty(propName));
+ }
+ return map;
+ }
+
// Properties
// ---------------------------------------------------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/messagecounter/impl/MessageCounterHelper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/messagecounter/impl/MessageCounterHelper.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/core/messagecounter/impl/MessageCounterHelper.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -50,21 +50,25 @@
// Static --------------------------------------------------------
- public static TabularData listMessageCounterHistory(final MessageCounter counter) throws Exception
+ public static Object[] listMessageCounterHistory(final MessageCounter counter) throws Exception
{
- List<DayCounter> history = counter.getHistory();
- DayCounterInfo[] infos = new DayCounterInfo[history.size()];
- for (int i = 0; i < infos.length; i++)
- {
- DayCounter dayCounter = history.get(i);
- int[] counters = dayCounter.getCounters();
- GregorianCalendar date = dayCounter.getDate();
-
- DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT);
- String strData = dateFormat.format(date.getTime());
- infos[i] = new DayCounterInfo(strData, counters);
- }
- return DayCounterInfo.toTabularData(infos);
+// List<DayCounter> history = counter.getHistory();
+// DayCounterInfo[] infos = new DayCounterInfo[history.size()];
+// for (int i = 0; i < infos.length; i++)
+// {
+// DayCounter dayCounter = history.get(i);
+// int[] counters = dayCounter.getCounters();
+// GregorianCalendar date = dayCounter.getDate();
+//
+// DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT);
+// String strData = dateFormat.format(date.getTime());
+// infos[i] = new DayCounterInfo(strData, counters);
+// }
+// return DayCounterInfo.toTabularData(infos);
+
+ //TODO
+
+ return new Object[0];
}
public static String listMessageCounterAsHTML(MessageCounter[] counters)
Modified: trunk/src/main/org/jboss/messaging/jms/bridge/BridgeService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/bridge/BridgeService.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/jms/bridge/BridgeService.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -40,6 +40,7 @@
public class BridgeService implements BridgeMBean
{
private static final Logger log = Logger.getLogger(BridgeService.class);
+
private JMSBridge bridge;
private String sourceDestinationLookup;
Modified: trunk/src/main/org/jboss/messaging/jms/client/JBossMessage.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/client/JBossMessage.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/jms/client/JBossMessage.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -17,8 +17,10 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
@@ -89,7 +91,41 @@
public static final String JBOSS_MESSAGING_BRIDGE_MESSAGE_ID_LIST = "JBM_BRIDGE_MSG_ID_LIST";
public static final byte TYPE = 0;
+
+ public static Map<String, Object> coreMaptoJMSMap(final Map<String, Object> coreMessage)
+ {
+ Map<String, Object> jmsMessage = new HashMap<String, Object>();
+ String deliveryMode = (Boolean)coreMessage.get("Durable") ? "PERSISTENT" : "NON_PERSISTENT";
+ byte priority = (Byte)coreMessage.get("Priority");
+ long timestamp = (Long)coreMessage.get("Timestamp");
+ long expiration = (Long)coreMessage.get("Expiration");
+
+ jmsMessage.put("JMSPriority", priority);
+ jmsMessage.put("JMSTimestamp", timestamp);
+ jmsMessage.put("JMSExpiration", expiration);
+ jmsMessage.put("JMSDeliveryMode", deliveryMode);
+
+ for (Map.Entry<String, Object> entry : coreMessage.entrySet())
+ {
+ if (entry.getKey().equals("MessageID") || entry.getKey().equals("Destination") ||
+ entry.getKey().equals("Type") ||
+ entry.getKey().equals("Durable") ||
+ entry.getKey().equals("Expiration") ||
+ entry.getKey().equals("Timestamp") ||
+ entry.getKey().equals("Priority"))
+ {
+ // Ignore
+ }
+ else
+ {
+ jmsMessage.put(entry.getKey(), entry.getValue());
+ }
+ }
+
+ return jmsMessage;
+ }
+
// Static --------------------------------------------------------
private static final HashSet<String> reservedIdentifiers = new HashSet<String>();
Deleted: trunk/src/main/org/jboss/messaging/jms/server/management/JMSMessageInfo.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/JMSMessageInfo.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/JMSMessageInfo.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -1,321 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, 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.jms.server.management;
-
-import static javax.management.openmbean.SimpleType.INTEGER;
-import static javax.management.openmbean.SimpleType.LONG;
-import static javax.management.openmbean.SimpleType.STRING;
-
-import java.util.List;
-import java.util.Map;
-
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.CompositeDataSupport;
-import javax.management.openmbean.CompositeType;
-import javax.management.openmbean.OpenDataException;
-import javax.management.openmbean.OpenType;
-import javax.management.openmbean.TabularData;
-import javax.management.openmbean.TabularDataSupport;
-import javax.management.openmbean.TabularType;
-
-import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.management.MessageInfo;
-import org.jboss.messaging.core.management.PropertiesInfo;
-import org.jboss.messaging.core.server.ServerMessage;
-import org.jboss.messaging.jms.client.JBossMessage;
-import org.jboss.messaging.utils.SimpleString;
-
-/**
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- *
- * @version <tt>$Revision$</tt>
- *
- */
-public class JMSMessageInfo
-{
- // Constants -----------------------------------------------------
-
- private static final Logger log = Logger.getLogger(JMSMessageInfo.class);
-
- public static final CompositeType TYPE;
-
- private static final String MESSAGE_TYPE_NAME = "JMSMessageInfo";
-
- private static final String MESSAGE_TABULAR_TYPE_NAME = "JMSMessageTabularInfo";
-
- private static final String[] ITEM_NAMES = new String[] { "JMSMessageID",
- "JMSCorrelationID",
- "JMSDeliveryMode",
- "JMSPriority",
- "JMSReplyTo",
- "JMSTimestamp",
- "JMSType",
- "expiration",
- "properties" };
-
- private static final String[] ITEM_DESCRIPTIONS = new String[] { "Message ID",
- "Correlation ID",
- "Delivery Mode",
- "Priority",
- "Reply To",
- "Timestamp",
- "JMS Type",
- "Expiration",
- "Properties" };
-
- private static final OpenType[] TYPES;
-
- private static final TabularType TABULAR_TYPE;
-
- static
- {
- try
- {
- TYPES = new OpenType[] { STRING,
- STRING,
- STRING,
- INTEGER,
- STRING,
- LONG,
- STRING,
- LONG,
- PropertiesInfo.TABULAR_TYPE };
- TYPE = new CompositeType(MESSAGE_TYPE_NAME,
- "Information for a JMS Message",
- ITEM_NAMES,
- ITEM_DESCRIPTIONS,
- TYPES);
- TABULAR_TYPE = new TabularType(MESSAGE_TABULAR_TYPE_NAME,
- "Information for tabular JMSMessageInfo",
- TYPE,
- new String[] { "JMSMessageID" });
- }
- catch (OpenDataException e)
- {
- throw new IllegalStateException(e);
- }
- }
-
- // Attributes ----------------------------------------------------
-
- private final String messageID;
-
- private final String correlationID;
-
- private final String deliveryMode;
-
- private final int priority;
-
- private final String replyTo;
-
- private final long timestamp;
-
- private final long expiration;
-
- private final String jmsType;
-
- private PropertiesInfo properties;
-
- // Static --------------------------------------------------------
-
- public static TabularData toTabularData(JMSMessageInfo[] infos) throws OpenDataException
- {
- TabularData data = new TabularDataSupport(TABULAR_TYPE);
- for (JMSMessageInfo messageInfo : infos)
- {
- data.put(messageInfo.toCompositeData());
- }
- return data;
- }
-
- public static TabularData toTabularData(List<JMSMessageInfo> infos)
- {
- TabularData data = new TabularDataSupport(TABULAR_TYPE);
- for (JMSMessageInfo messageInfo : infos)
- {
- data.put(messageInfo.toCompositeData());
- }
- return data;
- }
-
- public static JMSMessageInfo fromServerMessage(ServerMessage message)
- {
- String messageID = message.getProperty(JBossMessage.JBM_MESSAGE_ID).toString();
- SimpleString simpleCorrelationID = (SimpleString)message.getProperty(JBossMessage.CORRELATIONID_HEADER_NAME);
- String correlationID = (simpleCorrelationID == null) ? null : simpleCorrelationID.toString();
- SimpleString simpleJMSType = (SimpleString)message.getProperty(JBossMessage.TYPE_HEADER_NAME);
- String jmsType = (simpleJMSType == null) ? null : simpleJMSType.toString();
- String deliveryMode = message.isDurable() ? "PERSISTENT" : "NON_PERSISTENT";
- int priority = message.getPriority();
- SimpleString replyAddress = (SimpleString)message.getProperty(JBossMessage.REPLYTO_HEADER_NAME);
- String replyTo = (replyAddress == null) ? null : replyAddress.toString();
- long timestamp = message.getTimestamp();
- long expiration = message.getExpiration();
-
- JMSMessageInfo info = new JMSMessageInfo(messageID,
- correlationID,
- deliveryMode,
- priority,
- replyTo,
- timestamp,
- expiration,
- jmsType);
- for (SimpleString key : message.getPropertyNames())
- {
- info.putProperty(key.toString(), message.getProperty(key).toString());
- }
- return info;
- }
-
- public static JMSMessageInfo fromCoreMessage(MessageInfo coreInfo)
- {
- String messageID = coreInfo.getProperties().get(JBossMessage.JBM_MESSAGE_ID.toString());
- String simpleCorrelationID = coreInfo.getProperties().get(JBossMessage.CORRELATIONID_HEADER_NAME.toString());
- String correlationID = (simpleCorrelationID == null) ? null : simpleCorrelationID.toString();
- String simpleJMSType = coreInfo.getProperties().get(JBossMessage.TYPE_HEADER_NAME.toString());
- String jmsType = (simpleJMSType == null) ? null : simpleJMSType.toString();
- String deliveryMode = coreInfo.isDurable() ? "PERSISTENT" : "NON_PERSISTENT";
- int priority = coreInfo.getPriority();
- String replyAddress = coreInfo.getProperties().get(JBossMessage.REPLYTO_HEADER_NAME.toString());
- String replyTo = (replyAddress == null) ? null : replyAddress.toString();
- long timestamp = coreInfo.getTimestamp();
- long expiration = coreInfo.getExpiration();
-
- JMSMessageInfo info = new JMSMessageInfo(messageID,
- correlationID,
- deliveryMode,
- priority,
- replyTo,
- timestamp,
- expiration,
- jmsType);
- for (String key : coreInfo.getProperties().keySet())
- {
- info.putProperty(key.toString(), coreInfo.getProperties().get(key));
- }
- return info;
- }
-
- // Constructors --------------------------------------------------
-
- public JMSMessageInfo(final String messageID,
- final String correlationID,
- final String deliveryMode,
- final int priority,
- final String replyTo,
- final long timestamp,
- final long expiration,
- final String jmsType)
- {
- this.messageID = messageID;
- this.correlationID = correlationID;
- this.deliveryMode = deliveryMode;
- this.priority = priority;
- this.replyTo = replyTo;
- this.timestamp = timestamp;
- this.expiration = expiration;
- this.jmsType = jmsType;
- this.properties = new PropertiesInfo();
- }
-
- // Public --------------------------------------------------------
-
- public String getJMSMessageID()
- {
- return messageID;
- }
-
- public String getJMSCorrelationID()
- {
- return correlationID;
- }
-
- public String getJMSDeliveryMode()
- {
- return deliveryMode;
- }
-
- public int getJMSPriority()
- {
- return priority;
- }
-
- public String getJMSReplyTo()
- {
- return replyTo;
- }
-
- public long getJMSTimestamp()
- {
- return timestamp;
- }
-
- public long getExpiration()
- {
- return expiration;
- }
-
- public String getJMSType()
- {
- return jmsType;
- }
-
- public void putProperty(final String key, final String value)
- {
- properties.put(key, value);
- }
-
- public Map<String, String> getProperties()
- {
- return properties.entries();
- }
-
- public CompositeData toCompositeData()
- {
- try
- {
- return new CompositeDataSupport(TYPE, ITEM_NAMES, new Object[] { messageID,
- correlationID,
- deliveryMode,
- priority,
- replyTo,
- timestamp,
- jmsType,
- expiration,
- properties.toTabularData() });
- }
- catch (OpenDataException e)
- {
- log.error("Exception when converting a JMS Message to a CompositeData", e);
- return null;
- }
- }
-
- // Package protected ---------------------------------------------
-
- // Protected -----------------------------------------------------
-
- // Private -------------------------------------------------------
-
- // Inner classes -------------------------------------------------
-}
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/JMSQueueControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/JMSQueueControlMBean.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/JMSQueueControlMBean.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -25,8 +25,7 @@
import static javax.management.MBeanOperationInfo.ACTION;
import static javax.management.MBeanOperationInfo.INFO;
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.TabularData;
+import java.util.Map;
import org.jboss.messaging.core.management.Operation;
import org.jboss.messaging.core.management.Parameter;
@@ -40,17 +39,19 @@
public interface JMSQueueControlMBean extends DestinationControlMBean
{
// Attributes ----------------------------------------------------
-
+
String getName();
-
+
String getExpiryAddress();
-
- void setExpiryAddress(@Parameter(name = "expiryAddress", desc = "Expiry address of the queue") String expiryAddress) throws Exception;
+ void setExpiryAddress(@Parameter(name = "expiryAddress", desc = "Expiry address of the queue")
+ String expiryAddress) throws Exception;
+
String getDeadLetterAddress();
-
- void setDeadLetterAddress(@Parameter(name = "deadLetterAddress", desc = "Dead-letter address of the queue") String deadLetterAddress) throws Exception;
+ void setDeadLetterAddress(@Parameter(name = "deadLetterAddress", desc = "Dead-letter address of the queue")
+ String deadLetterAddress) throws Exception;
+
int getMessagesAdded();
boolean isTemporary();
@@ -66,75 +67,63 @@
int getDeliveringCount();
// Operations ----------------------------------------------------
-
+
@Operation(desc = "List all messages in the queue", impact = INFO)
- TabularData listAllMessages() throws Exception;
+ Map<String, Object>[] listAllMessages() throws Exception;
@Operation(desc = "List all messages in the queue which matches the filter", impact = INFO)
- TabularData listMessages(
- @Parameter(name = "filter", desc = "A JMS Message filter") String filter)
- throws Exception;
+ Map<String, Object>[] listMessages(@Parameter(name = "filter", desc = "A JMS Message filter")
+ String filter) throws Exception;
@Operation(desc = "Returns the number of the messages in the queue matching the given filter", impact = INFO)
- int countMessages(
- @Parameter(name = "filter", desc = "A JMS message filter") String filter)
- throws Exception;
+ int countMessages(@Parameter(name = "filter", desc = "A JMS message filter")
+ String filter) throws Exception;
@Operation(desc = "Remove the message corresponding to the given messageID", impact = ACTION)
- boolean removeMessage(
- @Parameter(name = "messageID", desc = "A message ID") String messageID)
- throws Exception;
+ boolean removeMessage(@Parameter(name = "messageID", desc = "A message ID")
+ String messageID) throws Exception;
@Operation(desc = "Remove the messages corresponding to the given filter (and returns the number of removed messages)", impact = ACTION)
- int removeMatchingMessages(
- @Parameter(name = "filter", desc = "A message filter") String filter)
- throws Exception;
+ int removeMatchingMessages(@Parameter(name = "filter", desc = "A message filter")
+ String filter) throws Exception;
@Operation(desc = "Expire the messages corresponding to the given filter (and returns the number of expired messages)", impact = ACTION)
- int expireMessages(
- @Parameter(name = "filter", desc = "A message filter") String filter)
- throws Exception;
+ int expireMessages(@Parameter(name = "filter", desc = "A message filter")
+ String filter) throws Exception;
@Operation(desc = "Expire the message corresponding to the given messageID", impact = ACTION)
- boolean expireMessage(
- @Parameter(name = "messageID", desc = "A message ID") String messageID)
- throws Exception;
-
+ boolean expireMessage(@Parameter(name = "messageID", desc = "A message ID")
+ String messageID) throws Exception;
+
@Operation(desc = "Send the message corresponding to the given messageID to the queue's Dead Letter Queue", impact = ACTION)
- boolean sendMessageToDLQ(
- @Parameter(name = "messageID", desc = "A message ID") String messageID)
- throws Exception;
-
+ boolean sendMessageToDLQ(@Parameter(name = "messageID", desc = "A message ID")
+ String messageID) throws Exception;
+
@Operation(desc = "Change the priority of the message corresponding to the given messageID", impact = ACTION)
- boolean changeMessagePriority(
- @Parameter(name = "messageID", desc = "A message ID") String messageID,
- @Parameter(name = "newPriority", desc = "the new priority (between 0 and 9)") int newPriority)
- throws Exception;
+ boolean changeMessagePriority(@Parameter(name = "messageID", desc = "A message ID")
+ String messageID, @Parameter(name = "newPriority", desc = "the new priority (between 0 and 9)")
+ int newPriority) throws Exception;
@Operation(desc = "Move the message corresponding to the given messageID to another queue", impact = ACTION)
- boolean moveMessage(
- @Parameter(name = "messageID", desc = "A message ID") String messageID,
- @Parameter(name = "otherQueueName", desc = "The name of the queue to move the message to") String otherQueueName)
- throws Exception;
+ boolean moveMessage(@Parameter(name = "messageID", desc = "A message ID")
+ String messageID, @Parameter(name = "otherQueueName", desc = "The name of the queue to move the message to")
+ String otherQueueName) throws Exception;
@Operation(desc = "Move the messages corresponding to the given filter (and returns the number of moved messages)", impact = ACTION)
- int moveMatchingMessages(
- @Parameter(name = "filter", desc = "A message filter") String filter,
- @Parameter(name = "otherQueueName", desc = "The name of the queue to move the messages to") String otherQueueName)
- throws Exception;
+ int moveMatchingMessages(@Parameter(name = "filter", desc = "A message filter")
+ String filter, @Parameter(name = "otherQueueName", desc = "The name of the queue to move the messages to")
+ String otherQueueName) throws Exception;
@Operation(desc = "Move all the messages to another queue (and returns the number of moved messages)", impact = ACTION)
- int moveAllMessages(
- @Parameter(name = "otherQueueName", desc = "The name of the queue to move the messages to") String otherQueueName)
- throws Exception;
-
- CompositeData listMessageCounter() throws Exception;
+ int moveAllMessages(@Parameter(name = "otherQueueName", desc = "The name of the queue to move the messages to")
+ String otherQueueName) throws Exception;
+ Object[] listMessageCounter() throws Exception;
+
String listMessageCounterAsHTML() throws Exception;
- TabularData listMessageCounterHistory() throws Exception;
+ Object[] listMessageCounterHistory() throws Exception;
String listMessageCounterHistoryAsHTML() throws Exception;
-
}
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/TopicControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/TopicControlMBean.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/TopicControlMBean.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -24,7 +24,7 @@
import static javax.management.MBeanOperationInfo.ACTION;
-import javax.management.openmbean.TabularData;
+import java.util.Map;
import org.jboss.messaging.core.management.Operation;
import org.jboss.messaging.core.management.Parameter;
@@ -39,29 +39,29 @@
{
// Attributes ----------------------------------------------------
- int getSubcriptionsCount();
+ int getSubscriptionCount();
- int getDurableSubcriptionsCount();
+ int getDurableSubscriptionCount();
- int getNonDurableSubcriptionsCount();
+ int getNonDurableSubscriptionCount();
- int getDurableMessagesCount();
+ int getDurableMessageCount();
- int getNonDurableMessagesCount();
+ int getNonDurableMessageCount();
// Operations ----------------------------------------------------
@Operation(desc = "List all subscriptions")
- TabularData listAllSubscriptions() throws Exception;
+ Object[] listAllSubscriptions() throws Exception;
@Operation(desc = "List only the durable subscriptions")
- TabularData listDurableSubscriptions() throws Exception;
+ Object[] listDurableSubscriptions() throws Exception;
@Operation(desc = "List only the non durable subscriptions")
- TabularData listNonDurableSubscriptions() throws Exception;
+ Object[] listNonDurableSubscriptions() throws Exception;
@Operation(desc = "List all the message for the given subscription")
- public TabularData listMessagesForSubscription(
+ public Map<String, Object>[] listMessagesForSubscription(
@Parameter(name = "queueName", desc = "the name of the queue representing a subscription") String queueName)
throws Exception;
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSQueueControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSQueueControl.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSQueueControl.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,23 +22,17 @@
package org.jboss.messaging.jms.server.management.impl;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.HashMap;
+import java.util.Map;
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.TabularData;
-
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.management.MessageCounterInfo;
-import org.jboss.messaging.core.management.MessageInfo;
import org.jboss.messaging.core.management.QueueControlMBean;
import org.jboss.messaging.core.messagecounter.MessageCounter;
import org.jboss.messaging.core.messagecounter.impl.MessageCounterHelper;
import org.jboss.messaging.jms.JBossQueue;
import org.jboss.messaging.jms.client.JBossMessage;
import org.jboss.messaging.jms.client.SelectorTranslator;
-import org.jboss.messaging.jms.server.management.JMSMessageInfo;
import org.jboss.messaging.jms.server.management.JMSQueueControlMBean;
/**
@@ -56,7 +50,7 @@
// Attributes ----------------------------------------------------
private final JBossQueue managedQueue;
-
+
private final QueueControlMBean coreQueueControl;
private final String binding;
@@ -184,25 +178,27 @@
return coreQueueControl.removeAllMessages();
}
- public TabularData listAllMessages() throws Exception
+ public Map<String, Object>[] listAllMessages() throws Exception
{
return listMessages(null);
}
- public TabularData listMessages(final String filterStr) throws Exception
+ public Map<String, Object>[] listMessages(final String filterStr) throws Exception
{
try
{
String filter = createFilterFromJMSSelector(filterStr);
- TabularData coreMessages = coreQueueControl.listMessages(filter);
- List<JMSMessageInfo> infos = new ArrayList<JMSMessageInfo>(coreMessages.size());
- MessageInfo[] coreMessageInfos = MessageInfo.from(coreMessages);
- for (MessageInfo messageInfo : coreMessageInfos)
+ Map<String, Object>[] coreMessages = coreQueueControl.listMessages(filter);
+
+ Map<String, Object>[] jmsMessages = new Map[coreMessages.length];
+
+ int i = 0;
+
+ for (Map<String, Object> coreMessage : coreMessages)
{
- JMSMessageInfo info = JMSMessageInfo.fromCoreMessage(messageInfo);
- infos.add(info);
+ Map<String, Object> jmsMessage = JBossMessage.coreMaptoJMSMap(coreMessage);
}
- return JMSMessageInfo.toTabularData(infos);
+ return jmsMessages;
}
catch (MessagingException e)
{
@@ -264,7 +260,7 @@
{
throw new IllegalArgumentException("No message found for JMSMessageID: " + messageID);
}
-
+
return true;
}
@@ -280,9 +276,10 @@
return moveMatchingMessages(null, otherQueueName);
}
- public CompositeData listMessageCounter()
+ public Object[] listMessageCounter()
{
- return MessageCounterInfo.toCompositeData(counter);
+ //return MessageCounterInfo.toCompositeData(counter);
+ return new Object[0];
}
public String listMessageCounterAsHTML()
@@ -290,7 +287,7 @@
return MessageCounterHelper.listMessageCounterAsHTML(new MessageCounter[] { counter });
}
- public TabularData listMessageCounterHistory() throws Exception
+ public Object[] listMessageCounterHistory() throws Exception
{
return MessageCounterHelper.listMessageCounterHistory(counter);
}
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/impl/TopicControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/impl/TopicControl.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/impl/TopicControl.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -25,21 +25,18 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.Map;
-import javax.management.openmbean.TabularData;
-
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.management.AddressControlMBean;
import org.jboss.messaging.core.management.ManagementService;
-import org.jboss.messaging.core.management.MessageInfo;
import org.jboss.messaging.core.management.MessagingServerControlMBean;
import org.jboss.messaging.core.management.QueueControlMBean;
import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.jms.JBossTopic;
+import org.jboss.messaging.jms.client.JBossMessage;
import org.jboss.messaging.jms.client.SelectorTranslator;
-import org.jboss.messaging.jms.server.management.JMSMessageInfo;
-import org.jboss.messaging.jms.server.management.SubscriptionInfo;
import org.jboss.messaging.jms.server.management.TopicControlMBean;
import org.jboss.messaging.utils.Pair;
@@ -71,7 +68,7 @@
{
return (selectorStr == null) ? null : SelectorTranslator.convertToJBMFilterString(selectorStr);
}
-
+
// Constructors --------------------------------------------------
public TopicControl(final JBossTopic topic,
@@ -112,62 +109,65 @@
return getMessageCount(DurabilityType.ALL);
}
- public int getDurableMessagesCount()
+ public int getDurableMessageCount()
{
return getMessageCount(DurabilityType.DURABLE);
}
- public int getNonDurableMessagesCount()
+ public int getNonDurableMessageCount()
{
return getMessageCount(DurabilityType.NON_DURABLE);
}
- public int getSubcriptionsCount()
+ public int getSubscriptionCount()
{
return getQueues(DurabilityType.ALL).size();
}
- public int getDurableSubcriptionsCount()
+ public int getDurableSubscriptionCount()
{
return getQueues(DurabilityType.DURABLE).size();
}
- public int getNonDurableSubcriptionsCount()
+ public int getNonDurableSubscriptionCount()
{
return getQueues(DurabilityType.NON_DURABLE).size();
}
- public TabularData listAllSubscriptions()
+ public Object[] listAllSubscriptions()
{
- return SubscriptionInfo.toTabularData(listSubscribersInfos(DurabilityType.ALL));
+ return listSubscribersInfos(DurabilityType.ALL);
}
- public TabularData listDurableSubscriptions()
+ public Object[] listDurableSubscriptions()
{
- return SubscriptionInfo.toTabularData(listSubscribersInfos(DurabilityType.DURABLE));
+ return listSubscribersInfos(DurabilityType.DURABLE);
}
- public TabularData listNonDurableSubscriptions()
+ public Object[] listNonDurableSubscriptions()
{
- return SubscriptionInfo.toTabularData(listSubscribersInfos(DurabilityType.NON_DURABLE));
+ return listSubscribersInfos(DurabilityType.NON_DURABLE);
}
- public TabularData listMessagesForSubscription(final String queueName) throws Exception
+ public Map<String, Object>[] listMessagesForSubscription(final String queueName) throws Exception
{
QueueControlMBean coreQueueControl = (QueueControlMBean)managementService.getResource(ResourceNames.CORE_QUEUE + queueName);
if (coreQueueControl == null)
{
throw new IllegalArgumentException("No subscriptions with name " + queueName);
}
- TabularData coreMessages = coreQueueControl.listAllMessages();
- List<JMSMessageInfo> infos = new ArrayList<JMSMessageInfo>(coreMessages.size());
- MessageInfo[] coreMessageInfos = MessageInfo.from(coreMessages);
- for (MessageInfo messageInfo : coreMessageInfos)
+
+ Map<String, Object>[] coreMessages = coreQueueControl.listAllMessages();
+
+ Map<String, Object>[] jmsMessages = new Map[coreMessages.length];
+
+ int i = 0;
+
+ for (Map<String, Object> coreMessage : coreMessages)
{
- JMSMessageInfo info = JMSMessageInfo.fromCoreMessage(messageInfo);
- infos.add(info);
+ jmsMessages[i++] = JBossMessage.coreMaptoJMSMap(coreMessage);
}
- return JMSMessageInfo.toTabularData(infos);
+ return jmsMessages;
}
public int countMessagesForSubscription(final String clientID, final String subscriptionName, final String filterStr) throws Exception
@@ -179,7 +179,7 @@
throw new IllegalArgumentException("No subscriptions with name " + queueName + " for clientID " + clientID);
}
String filter = createFilterFromJMSSelector(filterStr);
- return coreQueueControl.listMessages(filter).size();
+ return coreQueueControl.listMessages(filter).length;
}
public int removeAllMessages() throws Exception
@@ -223,10 +223,10 @@
// Private -------------------------------------------------------
- private SubscriptionInfo[] listSubscribersInfos(final DurabilityType durability)
+ private Object[] listSubscribersInfos(final DurabilityType durability)
{
List<QueueControlMBean> queues = getQueues(durability);
- List<SubscriptionInfo> subInfos = new ArrayList<SubscriptionInfo>(queues.size());
+ List<Object[]> subInfos = new ArrayList<Object[]>(queues.size());
for (QueueControlMBean queue : queues)
{
@@ -241,15 +241,17 @@
}
String filter = queue.getFilter() != null ? queue.getFilter() : null;
- SubscriptionInfo info = new SubscriptionInfo(queue.getName(),
- clientID,
- subName,
- queue.isDurable(),
- filter,
- queue.getMessageCount());
- subInfos.add(info);
+
+ Object[] subscriptionInfo = new Object[6];
+ subscriptionInfo[0] = queue.getName();
+ subscriptionInfo[1] = clientID;
+ subscriptionInfo[2] = subName;
+ subscriptionInfo[3] = queue.isDurable();
+ subscriptionInfo[4] = queue.getMessageCount();
+
+ subInfos.add(subscriptionInfo);
}
- return (SubscriptionInfo[])subInfos.toArray(new SubscriptionInfo[subInfos.size()]);
+ return subInfos.toArray(new Object[subInfos.size()]);
}
private int getMessageCount(final DurabilityType durability)
@@ -273,11 +275,11 @@
{
QueueControlMBean coreQueueControl = (QueueControlMBean)managementService.getResource(ResourceNames.CORE_QUEUE + queue);
- //Ignore the "special" subscription
+ // Ignore the "special" subscription
if (!coreQueueControl.getName().equals(addressControl.getAddress()))
{
if (durability == DurabilityType.ALL || (durability == DurabilityType.DURABLE && coreQueueControl.isDurable()) ||
- (durability == DurabilityType.NON_DURABLE && !coreQueueControl.isDurable()))
+ (durability == DurabilityType.NON_DURABLE && !coreQueueControl.isDurable()))
{
matchingQueues.add(coreQueueControl);
}
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-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSQueueControlWrapper.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,10 +22,11 @@
package org.jboss.messaging.jms.server.management.jmx.impl;
+import java.util.Map;
+
import javax.management.MBeanInfo;
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.TabularData;
+import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.management.ReplicationOperationInvoker;
import org.jboss.messaging.core.management.ResourceNames;
import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
@@ -43,6 +44,8 @@
{
// Constants -----------------------------------------------------
+
+ private static final Logger log = Logger.getLogger(ReplicationAwareJMSQueueControlWrapper.class);
// Attributes ----------------------------------------------------
@@ -116,12 +119,12 @@
return localControl.isTemporary();
}
- public TabularData listAllMessages() throws Exception
+ public Map<String, Object>[] listAllMessages() throws Exception
{
return localControl.listAllMessages();
}
- public CompositeData listMessageCounter()
+ public Object[] listMessageCounter()
{
return localControl.listMessageCounter();
}
@@ -131,7 +134,7 @@
return localControl.listMessageCounterAsHTML();
}
- public TabularData listMessageCounterHistory() throws Exception
+ public Object[] listMessageCounterHistory() throws Exception
{
return localControl.listMessageCounterHistory();
}
@@ -141,7 +144,7 @@
return localControl.listMessageCounterHistoryAsHTML();
}
- public TabularData listMessages(String filter) throws Exception
+ public Map<String, Object>[] listMessages(String filter) throws Exception
{
return localControl.listMessages(filter);
}
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-05-05 14:47:58 UTC (rev 6658)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareTopicControlWrapper.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,8 +22,9 @@
package org.jboss.messaging.jms.server.management.jmx.impl;
+import java.util.Map;
+
import javax.management.MBeanInfo;
-import javax.management.openmbean.TabularData;
import org.jboss.messaging.core.management.ReplicationOperationInvoker;
import org.jboss.messaging.core.management.ResourceNames;
@@ -71,42 +72,42 @@
replicationAwareInvoke("dropDurableSubscription", clientID, subscriptionName);
}
- public int getDurableMessagesCount()
+ public int getDurableMessageCount()
{
- return localControl.getDurableMessagesCount();
+ return localControl.getDurableMessageCount();
}
- public int getDurableSubcriptionsCount()
+ public int getDurableSubscriptionCount()
{
- return localControl.getDurableSubcriptionsCount();
+ return localControl.getDurableSubscriptionCount();
}
- public int getNonDurableMessagesCount()
+ public int getNonDurableMessageCount()
{
- return localControl.getNonDurableMessagesCount();
+ return localControl.getNonDurableMessageCount();
}
- public int getNonDurableSubcriptionsCount()
+ public int getNonDurableSubscriptionCount()
{
- return localControl.getNonDurableSubcriptionsCount();
+ return localControl.getNonDurableSubscriptionCount();
}
- public int getSubcriptionsCount()
+ public int getSubscriptionCount()
{
- return localControl.getSubcriptionsCount();
+ return localControl.getSubscriptionCount();
}
- public TabularData listAllSubscriptions()
+ public Object[] listAllSubscriptions()
{
return localControl.listAllSubscriptions();
}
- public TabularData listDurableSubscriptions()
+ public Object[] listDurableSubscriptions()
{
return localControl.listDurableSubscriptions();
}
- public TabularData listMessagesForSubscription(final String queueName) throws Exception
+ public Map<String, Object>[] listMessagesForSubscription(final String queueName) throws Exception
{
return localControl.listMessagesForSubscription(queueName);
}
@@ -116,7 +117,7 @@
return localControl.countMessagesForSubscription(clientID, subscriptionName, filterStr);
}
- public TabularData listNonDurableSubscriptions()
+ public Object[] listNonDurableSubscriptions()
{
return localControl.listNonDurableSubscriptions();
}
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-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -454,12 +454,12 @@
objectName,
TopicControlMBean.class,
false);
- TabularData subInfos = topic.listAllSubscriptions();
+ Object[] subInfos = topic.listAllSubscriptions();
List<String> subs = new ArrayList<String>();
- for (Object o : subInfos.values())
+ for (Object o : subInfos)
{
- CompositeData data = (CompositeData)o;
- subs.add((String)data.get("name"));
+ Object[] data = (Object[])o;
+ subs.add((String)data[0]);
}
return subs;
}
Modified: trunk/tests/joram-tests/src/org/jboss/test/jms/JBossMessagingAdmin.java
===================================================================
--- trunk/tests/joram-tests/src/org/jboss/test/jms/JBossMessagingAdmin.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/joram-tests/src/org/jboss/test/jms/JBossMessagingAdmin.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -219,7 +219,7 @@
public void startServer() throws Exception
{
- serverProcess = SpawnedVMSupport.spawnVM(SpawnedJMSServer.class.getName(), false);
+ serverProcess = SpawnedVMSupport.spawnVM(SpawnedJMSServer.class.getName(), true);
InputStreamReader isr = new InputStreamReader(serverProcess.getInputStream());
final BufferedReader br = new BufferedReader(isr);
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/cluster/management/ReplicationAwareAddressControlWrapperTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/cluster/management/ReplicationAwareAddressControlWrapperTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/cluster/management/ReplicationAwareAddressControlWrapperTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -62,13 +62,13 @@
AddressControlMBean liveAddressControl = createAddressControl(address, liveMBeanServer);
AddressControlMBean backupAddressControl = createAddressControl(address, backupMBeanServer);
- TabularData roles = liveAddressControl.getRoles();
- assertEquals(roles.size(), backupAddressControl.getRoles().size());
+ Object[] roles = liveAddressControl.getRoles();
+ assertEquals(roles.length, backupAddressControl.getRoles().length);
// add a role
liveAddressControl.addRole(randomString(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean());
- assertEquals(roles.size() + 1, liveAddressControl.getRoles().size());
+ assertEquals(roles.length + 1, liveAddressControl.getRoles().length);
}
public void testRemoveRole() throws Exception
@@ -78,20 +78,20 @@
AddressControlMBean liveAddressControl = createAddressControl(address, liveMBeanServer);
AddressControlMBean backupAddressControl = createAddressControl(address, backupMBeanServer);
- TabularData roles = liveAddressControl.getRoles();
- assertEquals(roles.size(), backupAddressControl.getRoles().size());
+ Object[] roles = liveAddressControl.getRoles();
+ assertEquals(roles.length, backupAddressControl.getRoles().length);
// add a role
liveAddressControl.addRole(roleName, randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean());
- assertEquals(roles.size() + 1, liveAddressControl.getRoles().size());
- assertEquals(roles.size() + 1, backupAddressControl.getRoles().size());
+ assertEquals(roles.length + 1, liveAddressControl.getRoles().length);
+ assertEquals(roles.length + 1, backupAddressControl.getRoles().length);
// and remove it
liveAddressControl.removeRole(roleName);
- assertEquals(roles.size(), liveAddressControl.getRoles().size());
- assertEquals(roles.size(), backupAddressControl.getRoles().size());
+ assertEquals(roles.length, liveAddressControl.getRoles().length);
+ assertEquals(roles.length, backupAddressControl.getRoles().length);
}
// Package protected ---------------------------------------------
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/cluster/management/ReplicationAwareMessagingServerControlWrapperTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/cluster/management/ReplicationAwareMessagingServerControlWrapperTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/cluster/management/ReplicationAwareMessagingServerControlWrapperTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -161,19 +161,23 @@
Thread.sleep(liveServerControl.getMessageCounterSamplePeriod() * 2);
// check the count is to 1 on both live & backup nodes
- CompositeData counter = liveQueueControl.listMessageCounter();
- assertEquals((long)1, counter.get("count"));
- counter = backupQueueControl.listMessageCounter();
- assertEquals((long)1, counter.get("count"));
-
- liveServerControl.resetAllMessageCounters();
- Thread.sleep(liveServerControl.getMessageCounterSamplePeriod() * 2);
-
- // check the count has been reset to 0 on both live & backup nodes
- counter = liveQueueControl.listMessageCounter();
- assertEquals((long)0, counter.get("count"));
- counter = backupQueueControl.listMessageCounter();
- assertEquals((long)0, counter.get("count"));
+ Object[] counter = liveQueueControl.listMessageCounter();
+
+ fail("re-enable test");
+// assertEquals((long)1, counter.get("count"));
+// counter = backupQueueControl.listMessageCounter();
+// assertEquals((long)1, counter.get("count"));
+//
+// liveServerControl.resetAllMessageCounters();
+// Thread.sleep(liveServerControl.getMessageCounterSamplePeriod() * 2);
+//
+// // check the count has been reset to 0 on both live & backup nodes
+// counter = liveQueueControl.listMessageCounter();
+// assertEquals((long)0, counter.get("count"));
+// counter = backupQueueControl.listMessageCounter();
+// assertEquals((long)0, counter.get("count"));
+
+ //TODO re-enable test
}
public void testSetMessageCounterSamplePeriod() throws Exception
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/cluster/management/ReplicationAwareQueueControlWrapperTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/cluster/management/ReplicationAwareQueueControlWrapperTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/cluster/management/ReplicationAwareQueueControlWrapperTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,30 +22,12 @@
package org.jboss.messaging.tests.integration.cluster.management;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_ACK_BATCH_SIZE;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_AUTO_GROUP;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_BLOCK_ON_ACKNOWLEDGE;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_CALL_TIMEOUT;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_CONNECTION_LOAD_BALANCING_POLICY_CLASS_NAME;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_CONNECTION_TTL;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_RECONNECT_ATTEMPTS;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_CONSUMER_MAX_RATE;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_CONSUMER_WINDOW_SIZE;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_FAILOVER_ON_SERVER_SHUTDOWN;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_MAX_CONNECTIONS;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_MIN_LARGE_MESSAGE_SIZE;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_PING_PERIOD;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_PRE_ACKNOWLEDGE;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_PRODUCER_MAX_RATE;
-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;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_PRODUCER_WINDOW_SIZE;
import static org.jboss.messaging.tests.integration.management.ManagementControlHelper.createQueueControl;
import static org.jboss.messaging.tests.util.RandomUtil.randomLong;
import static org.jboss.messaging.tests.util.RandomUtil.randomSimpleString;
import static org.jboss.messaging.tests.util.RandomUtil.randomString;
-import javax.management.openmbean.TabularData;
+import java.util.Map;
import org.jboss.messaging.core.client.ClientMessage;
import org.jboss.messaging.core.client.ClientProducer;
@@ -54,7 +36,6 @@
import org.jboss.messaging.core.client.impl.ClientSessionFactoryInternal;
import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.management.MessageInfo;
import org.jboss.messaging.core.management.QueueControlMBean;
import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
import org.jboss.messaging.tests.util.RandomUtil;
@@ -68,7 +49,7 @@
public class ReplicationAwareQueueControlWrapperTest extends ReplicationAwareTestBase
{
// Constants -----------------------------------------------------
-
+
private static final Logger log = Logger.getLogger(ReplicationAwareQueueControlWrapperTest.class);
// Attributes ----------------------------------------------------
@@ -87,7 +68,7 @@
{
byte oldPriority = (byte)1;
byte newPriority = (byte)8;
-
+
QueueControlMBean liveQueueControl = createQueueControl(address, address, liveMBeanServer);
QueueControlMBean backupQueueControl = createQueueControl(address, address, backupMBeanServer);
@@ -99,36 +80,32 @@
ClientMessage message = session.createClientMessage(false);
message.setPriority(oldPriority);
producer.send(message);
-
+
// check it is on both live & backup nodes
assertEquals(1, liveQueueControl.getMessageCount());
assertEquals(1, backupQueueControl.getMessageCount());
- TabularData messages = liveQueueControl.listAllMessages();
- MessageInfo[] messageInfos = MessageInfo.from(messages);
- assertEquals(1, messageInfos.length);
- long messageID = messageInfos[0].getID();
- assertEquals(oldPriority, messageInfos[0].getPriority());
-
- messages = backupQueueControl.listAllMessages();
- messageInfos = MessageInfo.from(messages);
- assertEquals(1, messageInfos.length);
- assertEquals(oldPriority, messageInfos[0].getPriority());
-
+ Map<String, Object>[] messages = liveQueueControl.listAllMessages();
+ assertEquals(1, messages.length);
+ long messageID = (Long)messages[0].get("MessageID");
+ assertEquals(oldPriority, messages[0].get("Priority"));
+
+ messages = backupQueueControl.listAllMessages();
+ assertEquals(1, messages.length);
+ assertEquals(oldPriority, messages[0].get("Priority"));
+
assertTrue(liveQueueControl.changeMessagePriority(messageID, newPriority));
// check the priority is changed on both live & backup nodes
messages = liveQueueControl.listAllMessages();
- messageInfos = MessageInfo.from(messages);
- assertEquals(1, messageInfos.length);
- assertEquals(newPriority, messageInfos[0].getPriority());
+ assertEquals(1, messages.length);
+ assertEquals(newPriority, messages[0].get("Priority"));
messages = backupQueueControl.listAllMessages();
- messageInfos = MessageInfo.from(messages);
- assertEquals(1, messageInfos.length);
- assertEquals(newPriority, messageInfos[0].getPriority());
+ assertEquals(1, messages.length);
+ assertEquals(newPriority, messages[0].get("Priority"));
}
-
+
public void testExpireMessage() throws Exception
{
QueueControlMBean liveQueueControl = createQueueControl(address, address, liveMBeanServer);
@@ -140,23 +117,22 @@
// send 1 message
ClientProducer producer = session.createProducer(address);
producer.send(session.createClientMessage(false));
-
+
// check it is on both live & backup nodes
assertEquals(1, liveQueueControl.getMessageCount());
assertEquals(1, backupQueueControl.getMessageCount());
- TabularData messages = liveQueueControl.listAllMessages();
- MessageInfo[] messageInfos = MessageInfo.from(messages);
- assertEquals(1, messageInfos.length);
- long messageID = messageInfos[0].getID();
-
+ Map<String, Object>[] messages = liveQueueControl.listAllMessages();
+ assertEquals(1, messages.length);
+ long messageID = (Long)messages[0].get("MessageID");
+
assertTrue(liveQueueControl.expireMessage(messageID));
-
+
// check the message is no longer in the queue on both live & backup nodes
assertEquals(0, liveQueueControl.getMessageCount());
assertEquals(0, backupQueueControl.getMessageCount());
}
-
+
public void testExpireMessagesWithFilter() throws Exception
{
SimpleString key = new SimpleString("key");
@@ -177,18 +153,18 @@
ClientMessage matchingMessage = session.createClientMessage(false);
matchingMessage.putLongProperty(key, matchingValue);
producer.send(matchingMessage);
-
+
// check messages are on both live & backup nodes
assertEquals(2, liveQueueControl.getMessageCount());
assertEquals(2, backupQueueControl.getMessageCount());
assertEquals(1, liveQueueControl.expireMessages(key + " =" + matchingValue));
-
+
// check there is only 1 message in the queue on both live & backup nodes
assertEquals(1, liveQueueControl.getMessageCount());
assertEquals(1, backupQueueControl.getMessageCount());
}
-
+
public void testMoveAllMessages() throws Exception
{
SimpleString otherQueue = randomSimpleString();
@@ -221,16 +197,15 @@
// moved all messages to otherQueue
int movedMessagesCount = liveQueueControl.moveAllMessages(otherQueue.toString());
assertEquals(1, movedMessagesCount);
-
+
assertEquals(0, liveQueueControl.getMessageCount());
assertEquals(0, backupQueueControl.getMessageCount());
assertEquals(1, liveOtherQueueControl.getMessageCount());
assertEquals(1, backupOtherQueueControl.getMessageCount());
-
session.deleteQueue(otherQueue);
}
-
+
public void testMoveMatchingMessages() throws Exception
{
SimpleString key = new SimpleString("key");
@@ -261,7 +236,8 @@
assertEquals(0, backupOtherQueueControl.getMessageCount());
// moved matching messages to otherQueue
- int movedMatchedMessagesCount = liveQueueControl.moveMatchingMessages(key + " =" + matchingValue, otherQueue.toString());
+ int movedMatchedMessagesCount = liveQueueControl.moveMatchingMessages(key + " =" + matchingValue,
+ otherQueue.toString());
assertEquals(1, movedMatchedMessagesCount);
assertEquals(1, liveQueueControl.getMessageCount());
@@ -271,7 +247,7 @@
session.deleteQueue(otherQueue);
}
-
+
public void testMoveMessage() throws Exception
{
SimpleString otherQueue = randomSimpleString();
@@ -289,20 +265,19 @@
// send 1 message
ClientProducer producer = session.createProducer(address);
producer.send(session.createClientMessage(false));
-
+
// check it is on both live & backup nodes
assertEquals(1, liveQueueControl.getMessageCount());
assertEquals(1, backupQueueControl.getMessageCount());
assertEquals(0, liveOtherQueueControl.getMessageCount());
assertEquals(0, backupOtherQueueControl.getMessageCount());
- TabularData messages = liveQueueControl.listAllMessages();
- MessageInfo[] messageInfos = MessageInfo.from(messages);
- assertEquals(1, messageInfos.length);
- long messageID = messageInfos[0].getID();
-
+ Map<String, Object>[] messages = liveQueueControl.listAllMessages();
+ assertEquals(1, messages.length);
+ long messageID = (Long)messages[0].get("MessageID");
+
assertTrue(liveQueueControl.moveMessage(messageID, otherQueue.toString()));
-
+
// check the message is no longer in the queue on both live & backup nodes
assertEquals(0, liveQueueControl.getMessageCount());
assertEquals(0, backupQueueControl.getMessageCount());
@@ -311,7 +286,7 @@
session.deleteQueue(otherQueue);
}
-
+
public void testRemoveAllMessages() throws Exception
{
QueueControlMBean liveQueueControl = createQueueControl(address, address, liveMBeanServer);
@@ -365,7 +340,7 @@
assertEquals(1, liveQueueControl.getMessageCount());
assertEquals(1, backupQueueControl.getMessageCount());
}
-
+
public void testRemoveMessage() throws Exception
{
QueueControlMBean liveQueueControl = createQueueControl(address, address, liveMBeanServer);
@@ -377,23 +352,22 @@
// send 1 message
ClientProducer producer = session.createProducer(address);
producer.send(session.createClientMessage(false));
-
+
// check it is on both live & backup nodes
assertEquals(1, liveQueueControl.getMessageCount());
assertEquals(1, backupQueueControl.getMessageCount());
- TabularData messages = liveQueueControl.listAllMessages();
- MessageInfo[] messageInfos = MessageInfo.from(messages);
- assertEquals(1, messageInfos.length);
- long messageID = messageInfos[0].getID();
-
+ Map<String, Object>[] messages = liveQueueControl.listAllMessages();
+ assertEquals(1, messages.length);
+ long messageID = (Long)messages[0].get("MessageID");
+
assertTrue(liveQueueControl.removeMessage(messageID));
-
+
// check the message is no longer in the queue on both live & backup nodes
assertEquals(0, liveQueueControl.getMessageCount());
assertEquals(0, backupQueueControl.getMessageCount());
}
-
+
public void testSendMessageToDeadLetterAddress() throws Exception
{
QueueControlMBean liveQueueControl = createQueueControl(address, address, liveMBeanServer);
@@ -405,27 +379,26 @@
// send 1 message
ClientProducer producer = session.createProducer(address);
producer.send(session.createClientMessage(false));
-
+
// check it is on both live & backup nodes
assertEquals(1, liveQueueControl.getMessageCount());
assertEquals(1, backupQueueControl.getMessageCount());
- TabularData messages = liveQueueControl.listAllMessages();
- MessageInfo[] messageInfos = MessageInfo.from(messages);
- assertEquals(1, messageInfos.length);
- long messageID = messageInfos[0].getID();
-
+ Map<String, Object>[] messages = liveQueueControl.listAllMessages();
+ assertEquals(1, messages.length);
+ long messageID = (Long)messages[0].get("MessageID");
+
assertTrue(liveQueueControl.sendMessageToDeadLetterAddress(messageID));
-
+
// check the message is no longer in the queue on both live & backup nodes
assertEquals(0, liveQueueControl.getMessageCount());
assertEquals(0, backupQueueControl.getMessageCount());
}
-
+
public void testSetDeadLetterAddress() throws Exception
{
String deadLetterAddress = randomString();
-
+
QueueControlMBean liveQueueControl = createQueueControl(address, address, liveMBeanServer);
QueueControlMBean backupQueueControl = createQueueControl(address, address, backupMBeanServer);
@@ -434,17 +407,17 @@
assertNull(liveQueueControl.getDeadLetterAddress());
assertNull(backupQueueControl.getDeadLetterAddress());
-
+
liveQueueControl.setDeadLetterAddress(deadLetterAddress);
-
+
assertEquals(deadLetterAddress, liveQueueControl.getDeadLetterAddress());
assertEquals(deadLetterAddress, backupQueueControl.getDeadLetterAddress());
}
-
+
public void testSetExpiryAddress() throws Exception
{
String expiryAddress = randomString();
-
+
QueueControlMBean liveQueueControl = createQueueControl(address, address, liveMBeanServer);
QueueControlMBean backupQueueControl = createQueueControl(address, address, backupMBeanServer);
@@ -453,9 +426,9 @@
assertNull(liveQueueControl.getExpiryAddress());
assertNull(backupQueueControl.getExpiryAddress());
-
+
liveQueueControl.setExpiryAddress(expiryAddress);
-
+
assertEquals(expiryAddress, liveQueueControl.getExpiryAddress());
assertEquals(expiryAddress, backupQueueControl.getExpiryAddress());
}
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-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/bridge/BridgeTestBase.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -479,7 +479,7 @@
managementService = server1.getManagementService();
}
TopicControlMBean topicControl = (TopicControlMBean)managementService.getResource(ResourceNames.JMS_TOPIC + topic.getTopicName());
- assertEquals(0, topicControl.getSubcriptionsCount());
+ assertEquals(0, topicControl.getSubscriptionCount());
}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSMessagingProxy.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSMessagingProxy.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSMessagingProxy.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,6 +22,8 @@
package org.jboss.messaging.tests.integration.jms.server.management;
+import java.util.Map;
+
import javax.jms.Message;
import javax.jms.Queue;
import javax.jms.QueueRequestor;
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSQueueControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSQueueControlTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSQueueControlTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,38 +22,19 @@
package org.jboss.messaging.tests.integration.jms.server.management;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_ACK_BATCH_SIZE;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_AUTO_GROUP;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_BLOCK_ON_ACKNOWLEDGE;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_BLOCK_ON_NON_PERSISTENT_SEND;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_CALL_TIMEOUT;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_CONNECTION_LOAD_BALANCING_POLICY_CLASS_NAME;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_CONNECTION_TTL;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_RECONNECT_ATTEMPTS;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_CONSUMER_MAX_RATE;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_CONSUMER_WINDOW_SIZE;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_FAILOVER_ON_SERVER_SHUTDOWN;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_MAX_CONNECTIONS;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_MIN_LARGE_MESSAGE_SIZE;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_PING_PERIOD;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_PRE_ACKNOWLEDGE;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_PRODUCER_MAX_RATE;
-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;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_PRODUCER_WINDOW_SIZE;
import static org.jboss.messaging.tests.integration.management.ManagementControlHelper.createJMSQueueControl;
import static org.jboss.messaging.tests.util.RandomUtil.randomLong;
import static org.jboss.messaging.tests.util.RandomUtil.randomSimpleString;
import static org.jboss.messaging.tests.util.RandomUtil.randomString;
+import java.util.Map;
+
import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Session;
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.TabularData;
import javax.naming.Context;
import org.jboss.messaging.core.config.Configuration;
@@ -153,12 +134,11 @@
assertEquals(2, queueControl.getMessageCount());
- TabularData data = queueControl.listAllMessages();
- assertEquals(2, data.size());
+ Map<String, Object>[] data = queueControl.listAllMessages();
+ assertEquals(2, data.length);
- // retrieve the first message info
- CompositeData compositeData = (CompositeData)data.values().iterator().next();
- String messageID = (String)compositeData.get("JMSMessageID");
+ // retrieve the first message info
+ String messageID = (String)data[0].get("JMSMessageID");
queueControl.removeMessage(messageID);
@@ -249,11 +229,10 @@
assertEquals(1, queueControl.getMessageCount());
- TabularData data = queueControl.listAllMessages();
- // retrieve the first message info
- CompositeData compositeData = (CompositeData)data.values().iterator().next();
- String messageID = (String)compositeData.get("JMSMessageID");
- int currentPriority = (Integer)compositeData.get("JMSPriority");
+ Map<String, Object>[] data = queueControl.listAllMessages();
+ // retrieve the first message info
+ String messageID = (String)data[0].get("JMSMessageID");
+ int currentPriority = (Integer)data[0].get("JMSPriority");
int newPriority = 9;
assertTrue(newPriority != currentPriority);
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSQueueControlUsingJMSTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSQueueControlUsingJMSTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSQueueControlUsingJMSTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -1,6 +1,6 @@
/*
* JBoss, Home of Professional Open Source
- * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2005-2008, 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.
*
@@ -23,240 +23,708 @@
package org.jboss.messaging.tests.integration.jms.server.management;
import static org.jboss.messaging.core.config.impl.ConfigurationImpl.DEFAULT_MANAGEMENT_ADDRESS;
+import static org.jboss.messaging.tests.integration.management.ManagementControlHelper.createJMSQueueControl;
+import static org.jboss.messaging.tests.util.RandomUtil.randomLong;
+import static org.jboss.messaging.tests.util.RandomUtil.randomSimpleString;
+import static org.jboss.messaging.tests.util.RandomUtil.randomString;
+import java.util.Map;
+
+import javax.jms.Connection;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
import javax.jms.QueueConnection;
import javax.jms.QueueSession;
import javax.jms.Session;
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.TabularData;
+import javax.naming.Context;
+import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.management.ResourceNames;
+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.core.settings.impl.AddressSettings;
import org.jboss.messaging.jms.JBossQueue;
import org.jboss.messaging.jms.client.JBossConnectionFactory;
+import org.jboss.messaging.jms.server.impl.JMSServerManagerImpl;
import org.jboss.messaging.jms.server.management.JMSQueueControlMBean;
+import org.jboss.messaging.tests.integration.management.ManagementControlHelper;
+import org.jboss.messaging.tests.integration.management.ManagementTestBase;
+import org.jboss.messaging.tests.unit.util.InVMContext;
+import org.jboss.messaging.utils.SimpleString;
/**
+ *
* A JMSQueueControlUsingJMSTest
*
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
+ *
+ *
*/
-public class JMSQueueControlUsingJMSTest extends JMSQueueControlTest
+public class JMSQueueControlUsingJMSTest extends ManagementTestBase
{
-
// Constants -----------------------------------------------------
// Attributes ----------------------------------------------------
+ private MessagingServer server;
+
+ private JMSServerManagerImpl serverManager;
+
+ protected JBossQueue queue;
+
+ protected Context context;
+
+ protected JMSMessagingProxy proxy;
+
private QueueConnection connection;
private QueueSession session;
+
+ protected JBossQueue expiryQueue;
+
+ protected JMSMessagingProxy expiryProxy;
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
- // JMSServerControlTest overrides --------------------------------
+ // Public --------------------------------------------------------
- @Override
- protected void setUp() throws Exception
+ public void testGetAttributes() throws Exception
+ {
+ assertEquals(queue.getName(), proxy.retrieveAttributeValue("Name"));
+ assertEquals(queue.getAddress(), proxy.retrieveAttributeValue("Address"));
+ assertEquals(queue.isTemporary(), proxy.retrieveAttributeValue("Temporary"));
+ }
+
+ public void testGetXXXCount() throws Exception
+ {
+
+ assertEquals(0, proxy.retrieveAttributeValue("MessageCount"));
+ assertEquals(0, proxy.retrieveAttributeValue("ConsumerCount"));
+
+ Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
+ MessageConsumer consumer = JMSUtil.createConsumer(connection, queue);
+
+ assertEquals(1, proxy.retrieveAttributeValue("ConsumerCount"));
+
+ JMSUtil.sendMessages(queue, 2);
+
+ assertEquals(2, proxy.retrieveAttributeValue("MessageCount"));
+ assertEquals(2, proxy.retrieveAttributeValue("MessagesAdded"));
+
+ connection.start();
+
+ assertNotNull(consumer.receive(500));
+ assertNotNull(consumer.receive(500));
+
+ assertEquals(0, proxy.retrieveAttributeValue("MessageCount"));
+ assertEquals(2, proxy.retrieveAttributeValue("MessagesAdded"));
+
+ consumer.close();
+
+ assertEquals(0, proxy.retrieveAttributeValue("ConsumerCount"));
+
+ connection.close();
+ }
+
+ public void testRemoveMessage() throws Exception
{
- super.setUp();
+
- JBossConnectionFactory cf = new JBossConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()));
- connection = cf.createQueueConnection();
- session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
+ assertEquals(0, proxy.retrieveAttributeValue("MessageCount"));
+
+ JMSUtil.sendMessages(queue, 2);
+
+ assertEquals(2, proxy.retrieveAttributeValue("MessageCount"));
+
+ Object[] maps = (Object[])proxy.invokeOperation("listAllMessages", null);
+ assertEquals(2, maps.length);
+
+ // retrieve the first message info
+ Map map = (Map)maps[0];
+ String messageID = (String)map.get("JMSMessageID");
+
+ proxy.invokeOperation("removeMessage", messageID);
+
+ assertEquals(1, proxy.retrieveAttributeValue("MessageCount"));
+ }
+
+ public void testRemoveMessageWithUnknownMessage() throws Exception
+ {
+ String unknownMessageID = randomString();
+
+ assertEquals(0, proxy.retrieveAttributeValue("MessageCount"));
+
+ try
+ {
+ proxy.invokeOperation("removeMessage", unknownMessageID);
+ fail("should throw an exception is the message ID is unknown");
+ }
+ catch (Exception e)
+ {
+ }
+ }
+
+ public void testRemoveAllMessages() throws Exception
+ {
+
+
+ assertEquals(0, proxy.retrieveAttributeValue("MessageCount"));
+
+ JMSUtil.sendMessages(queue, 2);
+
+ assertEquals(2, proxy.retrieveAttributeValue("MessageCount"));
+
+ proxy.invokeOperation("removeAllMessages");
+
+ assertEquals(0, proxy.retrieveAttributeValue("MessageCount"));
+
+ Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
connection.start();
+
+ MessageConsumer consumer = JMSUtil.createConsumer(connection, queue);
+ assertNull(consumer.receive(500));
+
+ connection.close();
}
- @Override
- protected void tearDown() throws Exception
+ public void testRemoveMatchingMessages() throws Exception
{
+
+
+ assertEquals(0, proxy.retrieveAttributeValue("MessageCount"));
+
+ Connection conn = createConnection();
+
+ Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ MessageProducer producer = s.createProducer(queue);
+
+ Message message = s.createMessage();
+ message.setStringProperty("foo", "bar");
+ producer.send(message);
+
+ message = s.createMessage();
+ message.setStringProperty("foo", "baz");
+ producer.send(message);
+
+ assertEquals(2, proxy.retrieveAttributeValue("MessageCount"));
+
+ int removedMatchingMessagesCount = (Integer)proxy.invokeOperation("removeMatchingMessages", new Object[] {"foo = 'bar'"});
+ assertEquals(1, removedMatchingMessagesCount);
+
+ assertEquals(1, proxy.retrieveAttributeValue("MessageCount"));
+
+ conn.start();
+ MessageConsumer consumer = JMSUtil.createConsumer(conn, queue);
+ Message msg = consumer.receive(500);
+ assertNotNull(msg);
+ assertEquals("baz", msg.getStringProperty("foo"));
+
+ conn.close();
+ }
+
+ public void testChangeMessagePriority() throws Exception
+ {
+
+
+ JMSUtil.sendMessages(queue, 1);
+
+ assertEquals(1, proxy.retrieveAttributeValue("MessageCount"));
+
+ Object[] maps = (Object[])proxy.invokeOperation("listAllMessages", null);
+ // retrieve the first message info
+ Map map = (Map)maps[0];
+ String messageID = (String)map.get("JMSMessageID");
+ int currentPriority = (Integer)map.get("JMSPriority");
+ int newPriority = 9;
+
+ assertTrue(newPriority != currentPriority);
+
+ proxy.invokeOperation("changeMessagePriority", messageID, newPriority);
+
+ Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
+ connection.start();
+ MessageConsumer consumer = JMSUtil.createConsumer(connection, queue);
+ Message message = consumer.receive(500);
+ assertNotNull(message);
+ assertEquals(newPriority, message.getJMSPriority());
+
connection.close();
+ }
- super.tearDown();
+ public void testChangeMessagePriorityWithInvalidPriority() throws Exception
+ {
+ byte invalidPriority = (byte)23;
+
+
+
+ String[] messageIDs = JMSUtil.sendMessages(queue, 1);
+
+ assertEquals(1, proxy.retrieveAttributeValue("MessageCount"));
+
+ try
+ {
+ proxy.invokeOperation("changeMessagePriority", messageIDs[0], invalidPriority);
+ fail("must throw an exception if the new priority is not a valid value");
+ }
+ catch (Exception e)
+ {
+ }
+
+ Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
+ connection.start();
+ MessageConsumer consumer = JMSUtil.createConsumer(connection, queue);
+ Message message = consumer.receive(500);
+ assertNotNull(message);
+ assertTrue(message.getJMSPriority() != invalidPriority);
+
+ connection.close();
}
- @Override
- protected JMSQueueControlMBean createManagementControl() throws Exception
+ public void testChangeMessagePriorityWithUnknownMessageID() throws Exception
{
- JBossQueue managementQueue = new JBossQueue(DEFAULT_MANAGEMENT_ADDRESS.toString(),
- DEFAULT_MANAGEMENT_ADDRESS.toString());
- final JMSMessagingProxy proxy = new JMSMessagingProxy(session,
- managementQueue,
- ResourceNames.JMS_QUEUE + queue.getQueueName());
+ String unkownMessageID = randomString();
+
- return new JMSQueueControlMBean()
+
+ try
{
+ proxy.invokeOperation("changeMessagePriority", unkownMessageID, 7);
+ fail();
+ }
+ catch (Exception e)
+ {
+ }
+ }
- public boolean changeMessagePriority(String messageID, int newPriority) throws Exception
- {
- return (Boolean)proxy.invokeOperation("changeMessagePriority", messageID, newPriority);
- }
+ public void testGetExpiryAddress() throws Exception
+ {
+ final SimpleString expiryAddress = randomSimpleString();
- public int countMessages(String filter) throws Exception
- {
- return (Integer)proxy.invokeOperation("countMessages", filter);
- }
+
+ assertNull(proxy.retrieveAttributeValue("ExpiryAddress"));
- public boolean expireMessage(String messageID) throws Exception
+ server.getAddressSettingsRepository().addMatch(queue.getAddress(), new AddressSettings()
+ {
+ @Override
+ public SimpleString getExpiryAddress()
{
- return (Boolean)proxy.invokeOperation("expireMessage", messageID);
+ return expiryAddress;
}
+ });
- public int expireMessages(String filter) throws Exception
- {
- return (Integer)proxy.invokeOperation("expireMessages", filter);
- }
+ assertEquals(expiryAddress.toString(), proxy.retrieveAttributeValue("ExpiryAddress"));
+ }
- public int getConsumerCount()
- {
- return (Integer)proxy.retrieveAttributeValue("ConsumerCount");
- }
+ public void testSetExpiryAddress() throws Exception
+ {
+ final String expiryAddress = randomString();
- public String getDeadLetterAddress()
- {
- return (String)proxy.retrieveAttributeValue("DeadLetterAddress");
- }
+
- public int getDeliveringCount()
- {
- return (Integer)proxy.retrieveAttributeValue("DeliveringCount");
- }
+ assertNull(proxy.retrieveAttributeValue("ExpiryAddress"));
- public String getExpiryAddress()
- {
- return (String)proxy.retrieveAttributeValue("ExpiryAddress");
- }
+ proxy.invokeOperation("setExpiryAddress", expiryAddress);
+ assertEquals(expiryAddress, proxy.retrieveAttributeValue("ExpiryAddress"));
+ }
- public int getMessageCount()
- {
- return (Integer)proxy.retrieveAttributeValue("MessageCount");
- }
+ public void testExpireMessage() throws Exception
+ {
+ proxy.invokeOperation("setExpiryAddress", expiryQueue.getAddress());
- public int getMessagesAdded()
- {
- return (Integer)proxy.retrieveAttributeValue("MessagesAdded");
- }
+ String[] messageIDs = JMSUtil.sendMessages(queue, 1);
- public String getName()
- {
- return (String)proxy.retrieveAttributeValue("Name");
- }
+ assertEquals(1, proxy.retrieveAttributeValue("MessageCount"));
+ assertEquals(0, expiryProxy.retrieveAttributeValue("MessageCount"));
- public long getScheduledCount()
- {
- return (Long)proxy.retrieveAttributeValue("ScheduledCount");
- }
+ assertTrue((Boolean)proxy.invokeOperation("expireMessage", messageIDs[0]));
- public boolean isDurable()
- {
- return (Boolean)proxy.retrieveAttributeValue("Durable");
- }
+ assertEquals(0, proxy.retrieveAttributeValue("MessageCount"));
+ assertEquals(1, expiryProxy.retrieveAttributeValue("MessageCount"));
- public boolean isTemporary()
- {
- return (Boolean)proxy.retrieveAttributeValue("Temporary");
- }
+ Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
+ connection.start();
- public TabularData listAllMessages() throws Exception
- {
- return (TabularData)proxy.invokeOperation("listAllMessages");
- }
+ MessageConsumer consumer = JMSUtil.createConsumer(connection, expiryQueue);
+ Message message = consumer.receive(500);
+ assertNotNull(message);
+ assertEquals(messageIDs[0], message.getJMSMessageID());
+
+ connection.close();
+ }
- public CompositeData listMessageCounter() throws Exception
- {
- return (CompositeData)proxy.invokeOperation("listMessageCounter");
- }
+ public void testExpireMessageWithUnknownMessageID() throws Exception
+ {
+ String unknownMessageID = randomString();
- public String listMessageCounterAsHTML() throws Exception
- {
- return (String)proxy.invokeOperation("listMessageCounterAsHTML");
- }
+
- public TabularData listMessageCounterHistory() throws Exception
- {
- return (TabularData)proxy.invokeOperation("listMessageCounterHistory");
- }
+ try
+ {
+ proxy.invokeOperation("ExpireMessage", unknownMessageID);
+ fail();
+ }
+ catch (Exception e)
+ {
+ }
+ }
- public String listMessageCounterHistoryAsHTML() throws Exception
- {
- return (String)proxy.invokeOperation("listMessageCounterHistoryAsHTML");
- }
+ public void testExpireMessagesWithFilter() throws Exception
+ {
+ String key = new String("key");
+ long matchingValue = randomLong();
+ long unmatchingValue = matchingValue + 1;
+ String filter = key + " =" + matchingValue;
- public TabularData listMessages(String filter) throws Exception
- {
- return (TabularData)proxy.invokeOperation("listMessages", filter);
- }
+ Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- public int moveAllMessages(String otherQueueName) throws Exception
- {
- return (Integer)proxy.invokeOperation("moveAllMessages", otherQueueName);
- }
+ // send on queue
+ JMSUtil.sendMessageWithProperty(session, queue, key, matchingValue);
+ JMSUtil.sendMessageWithProperty(session, queue, key, unmatchingValue);
- public int moveMatchingMessages(String filter, String otherQueueName) throws Exception
- {
- return (Integer)proxy.invokeOperation("moveMatchingMessages", filter, otherQueueName);
- }
+ connection.close();
- public boolean moveMessage(String messageID, String otherQueueName) throws Exception
- {
- return (Boolean)proxy.invokeOperation("moveMessage", messageID, otherQueueName);
- }
+
+ assertEquals(2, proxy.retrieveAttributeValue("MessageCount"));
- public int removeMatchingMessages(String filter) throws Exception
- {
- return (Integer)proxy.invokeOperation("removeMatchingMessages", filter);
- }
+ int expiredMessagesCount = (Integer)proxy.invokeOperation("expireMessages", filter);
+ assertEquals(1, expiredMessagesCount);
+ assertEquals(1, proxy.retrieveAttributeValue("MessageCount"));
- public boolean removeMessage(String messageID) throws Exception
- {
- return (Boolean)proxy.invokeOperation("removeMessage", messageID);
- }
+ // consume the unmatched message from queue
+ JMSUtil.consumeMessages(1, queue);
+ }
- public boolean sendMessageToDLQ(String messageID) throws Exception
- {
- return (Boolean)proxy.invokeOperation("sendMessageToDLQ", messageID);
- }
+ public void testCountMessagesWithFilter() throws Exception
+ {
+ String key = "key";
+ long matchingValue = randomLong();
+ long unmatchingValue = matchingValue + 1;
- public void setDeadLetterAddress(String deadLetterAddress) throws Exception
- {
- proxy.invokeOperation("setDeadLetterAddress", deadLetterAddress);
- }
+
- public void setExpiryAddress(String expiryAddress) throws Exception
- {
- proxy.invokeOperation("setExpiryAddress", expiryAddress);
- }
+ Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- public String getAddress()
- {
- return (String)proxy.retrieveAttributeValue("Address");
- }
+ JMSUtil.sendMessageWithProperty(session, queue, key, matchingValue);
+ JMSUtil.sendMessageWithProperty(session, queue, key, unmatchingValue);
+ JMSUtil.sendMessageWithProperty(session, queue, key, matchingValue);
- public String getJNDIBinding()
- {
- return (String)proxy.retrieveAttributeValue("JNDIBinding");
- }
+ assertEquals(3, proxy.retrieveAttributeValue("MessageCount"));
- public int removeAllMessages() throws Exception
+ assertEquals(2, proxy.invokeOperation("countMessages", key + " =" + matchingValue));
+ assertEquals(1, proxy.invokeOperation("countMessages", key + " =" + unmatchingValue));
+
+ session.close();
+ }
+
+ public void testGetDeadLetterAddress() throws Exception
+ {
+ final SimpleString deadLetterAddress = randomSimpleString();
+
+ assertNull(proxy.retrieveAttributeValue("DeadLetterAddress"));
+
+ server.getAddressSettingsRepository().addMatch(queue.getAddress(), new AddressSettings()
+ {
+ @Override
+ public SimpleString getDeadLetterAddress()
{
- return (Integer)proxy.invokeOperation("removeAllMessages");
+ return deadLetterAddress;
}
-
- };
+ });
-
+ assertEquals(deadLetterAddress.toString(), proxy.retrieveAttributeValue("DeadLetterAddress"));
}
- // Public --------------------------------------------------------
+ public void testSetDeadLetterAddress() throws Exception
+ {
+ final String deadLetterAddress = randomString();
+
+ assertNull(proxy.retrieveAttributeValue("DeadLetterAddress"));
+
+ proxy.invokeOperation("setDeadLetterAddress", deadLetterAddress);
+ assertEquals(deadLetterAddress, proxy.retrieveAttributeValue("DeadLetterAddress"));
+ }
+
+ public void testSendMessageToDLQ() throws Exception
+ {
+ String deadLetterQueue = randomString();
+ serverManager.createQueue(deadLetterQueue, deadLetterQueue);
+ JBossQueue dlq = new JBossQueue(deadLetterQueue);
+
+ Connection conn = createConnection();
+ Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ MessageProducer producer = sess.createProducer(queue);
+
+ // send 2 messages on queue
+ Message message = sess.createMessage();
+ producer.send(message);
+ producer.send(sess.createMessage());
+
+ conn.close();
+
+
+ JMSQueueControlMBean dlqControl = ManagementControlHelper.createJMSQueueControl(dlq, mbeanServer);
+
+ assertEquals(2, proxy.retrieveAttributeValue("MessageCount"));
+ assertEquals(0, dlqControl.getMessageCount());
+
+ proxy.invokeOperation("setDeadLetterAddress", dlq.getAddress());
+
+ boolean movedToDeadLetterAddress = (Boolean)proxy.invokeOperation("sendMessageToDLQ", message.getJMSMessageID());
+ assertTrue(movedToDeadLetterAddress);
+ assertEquals(1, proxy.retrieveAttributeValue("MessageCount"));
+ assertEquals(1, dlqControl.getMessageCount());
+
+ // check there is a single message to consume from queue
+ JMSUtil.consumeMessages(1, queue);
+
+ // check there is a single message to consume from deadletter queue
+ JMSUtil.consumeMessages(1, dlq);
+
+ serverManager.destroyQueue(deadLetterQueue);
+ }
+
+ public void testSendMessageToDLQWithUnknownMessageID() throws Exception
+ {
+ String unknownMessageID = randomString();
+
+
+
+ try
+ {
+ proxy.invokeOperation("sendMessageToDLQ", unknownMessageID);
+ fail();
+ }
+ catch (Exception e)
+ {
+ }
+
+ }
+
+ public void testMoveAllMessages() throws Exception
+ {
+ String otherQueueName = randomString();
+
+ serverManager.createQueue(otherQueueName, otherQueueName);
+ JBossQueue otherQueue = new JBossQueue(otherQueueName);
+
+ // send on queue
+ JMSUtil.sendMessages(queue, 2);
+
+
+ assertEquals(2, proxy.retrieveAttributeValue("MessageCount"));
+
+ // moved all messages to otherQueue
+ int movedMessagesCount = (Integer)proxy.invokeOperation("moveAllMessages", otherQueueName);
+ assertEquals(2, movedMessagesCount);
+ assertEquals(0, proxy.retrieveAttributeValue("MessageCount"));
+
+ // check there is no message to consume from queue
+ JMSUtil.consumeMessages(0, queue);
+
+ // consume the message from otherQueue
+ JMSUtil.consumeMessages(2, otherQueue);
+
+ serverManager.destroyQueue(otherQueueName);
+ }
+
+ public void testMoveAllMessagesToUknownQueue() throws Exception
+ {
+ String unknownQueue = randomString();
+
+
+ try
+ {
+ proxy.invokeOperation("moveAllMessages", unknownQueue);
+ fail();
+ }
+ catch (Exception e)
+ {
+ }
+ }
+
+ public void testMoveMatchingMessages() throws Exception
+ {
+ String key = "key";
+ long matchingValue = randomLong();
+ long unmatchingValue = matchingValue + 1;
+ String filter = "key = " + matchingValue;
+ String otherQueueName = randomString();
+
+ serverManager.createQueue(otherQueueName, otherQueueName);
+ JBossQueue otherQueue = new JBossQueue(otherQueueName);
+
+ Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ // send on queue
+ JMSUtil.sendMessageWithProperty(session, queue, key, matchingValue);
+ JMSUtil.sendMessageWithProperty(session, queue, key, unmatchingValue);
+
+
+ assertEquals(2, proxy.retrieveAttributeValue("MessageCount"));
+
+ // moved matching messages to otherQueue
+ int movedMessagesCount = (Integer)proxy.invokeOperation("moveMatchingMessages", filter, otherQueueName);
+ assertEquals(1, movedMessagesCount);
+ assertEquals(1, proxy.retrieveAttributeValue("MessageCount"));
+
+ connection.start();
+ MessageConsumer consumer = session.createConsumer(queue);
+ Message message = consumer.receive(500);
+ assertNotNull(message);
+ assertEquals(unmatchingValue, message.getLongProperty(key));
+ assertNull(consumer.receive(500));
+
+ JMSUtil.consumeMessages(1, otherQueue);
+
+ serverManager.destroyQueue(otherQueueName);
+
+ connection.close();
+ }
+
+ public void testMoveMessage() throws Exception
+ {
+ String otherQueueName = randomString();
+
+ serverManager.createQueue(otherQueueName, otherQueueName);
+ JBossQueue otherQueue = new JBossQueue(otherQueueName);
+
+ String[] messageIDs = JMSUtil.sendMessages(queue, 1);
+
+
+ assertEquals(1, proxy.retrieveAttributeValue("MessageCount"));
+
+ boolean moved = (Boolean)proxy.invokeOperation("moveMessage", messageIDs[0], otherQueueName);
+ assertTrue(moved);
+ assertEquals(0, proxy.retrieveAttributeValue("MessageCount"));
+
+ JMSUtil.consumeMessages(0, queue);
+ JMSUtil.consumeMessages(1, otherQueue);
+
+ serverManager.destroyQueue(otherQueueName);
+ }
+
+ public void testMoveMessageWithUnknownMessageID() throws Exception
+ {
+ String unknownMessageID = randomString();
+ String otherQueueName = randomString();
+
+ serverManager.createQueue(otherQueueName, otherQueueName);
+
+
+ assertEquals(0, proxy.retrieveAttributeValue("MessageCount"));
+
+ try
+ {
+ proxy.invokeOperation("moveMessage", unknownMessageID, otherQueueName);
+ fail();
+ }
+ catch (Exception e)
+ {
+ }
+
+ serverManager.destroyQueue(otherQueueName);
+ }
+
+ public void testMoveMessageToUnknownQueue() throws Exception
+ {
+ String unknwonQueue = randomString();
+
+ String[] messageIDs = JMSUtil.sendMessages(queue, 1);
+
+
+ assertEquals(1, proxy.retrieveAttributeValue("MessageCount"));
+
+ try
+ {
+ proxy.invokeOperation("moveMessage", messageIDs[0], unknwonQueue);
+ fail();
+ }
+ catch (Exception e)
+ {
+ }
+
+ JMSUtil.consumeMessages(1, queue);
+ }
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ Configuration conf = new ConfigurationImpl();
+ conf.setSecurityEnabled(false);
+ conf.setJMXManagementEnabled(true);
+ conf.getAcceptorConfigurations().add(new TransportConfiguration(InVMAcceptorFactory.class.getName()));
+ server = Messaging.newMessagingServer(conf, mbeanServer, false);
+ server.start();
+
+ serverManager = new JMSServerManagerImpl(server);
+ serverManager.start();
+ serverManager.activated();
+ context = new InVMContext();
+ serverManager.setContext(context);
+
+ String queueName = randomString();
+ serverManager.createQueue(queueName, queueName);
+ queue = new JBossQueue(queueName);
+
+ JBossConnectionFactory cf = new JBossConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+ connection = cf.createQueueConnection();
+ session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
+ connection.start();
+
+ JBossQueue managementQueue = new JBossQueue(DEFAULT_MANAGEMENT_ADDRESS.toString(),
+ DEFAULT_MANAGEMENT_ADDRESS.toString());
+ proxy = new JMSMessagingProxy(session,
+ managementQueue,
+ ResourceNames.JMS_QUEUE + queue.getQueueName());
+
+ String expiryQueueName = randomString();
+ serverManager.createQueue(expiryQueueName, expiryQueueName);
+ expiryQueue = new JBossQueue(expiryQueueName);
+
+
+ expiryProxy = new JMSMessagingProxy(session,
+ managementQueue,
+ ResourceNames.JMS_QUEUE + expiryQueue.getQueueName());
+
+ }
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ connection.close();
+
+ server.stop();
+
+ super.tearDown();
+ }
+
// Private -------------------------------------------------------
+ private Connection createConnection() throws JMSException
+ {
+ JBossConnectionFactory cf = new JBossConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+
+ cf.setBlockOnPersistentSend(true);
+
+ return cf.createConnection();
+ }
+
// Inner classes -------------------------------------------------
-}
+}
\ No newline at end of file
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/TopicControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/TopicControlTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/TopicControlTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -26,10 +26,11 @@
import static org.jboss.messaging.tests.util.RandomUtil.randomLong;
import static org.jboss.messaging.tests.util.RandomUtil.randomString;
+import java.util.Map;
+
import javax.jms.Connection;
import javax.jms.Session;
import javax.jms.TopicSubscriber;
-import javax.management.openmbean.TabularData;
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.config.TransportConfiguration;
@@ -83,24 +84,24 @@
assertEquals(topic.isTemporary(), topicControl.isTemporary());
assertEquals(topic.getName(), topicControl.getJNDIBinding());
}
-
+
public void testGetXXXSubscriptionsCount() throws Exception
{
Connection connection_1 = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
// 1 non-durable subscriber, 2 durable subscribers
JMSUtil.createConsumer(connection_1, topic);
-
+
Connection connection_2 = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
JMSUtil.createDurableSubscriber(connection_2, topic, clientID, subscriptionName);
Connection connection_3 = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
JMSUtil.createDurableSubscriber(connection_3, topic, clientID, subscriptionName + "2");
TopicControlMBean topicControl = createManagementControl();
- assertEquals(3, topicControl.getSubcriptionsCount());
- assertEquals(1, topicControl.getNonDurableSubcriptionsCount());
- assertEquals(2, topicControl.getDurableSubcriptionsCount());
-
+ assertEquals(3, topicControl.getSubscriptionCount());
+ assertEquals(1, topicControl.getNonDurableSubscriptionCount());
+ assertEquals(2, topicControl.getDurableSubscriptionCount());
+
connection_1.close();
connection_2.close();
connection_3.close();
@@ -119,15 +120,15 @@
TopicControlMBean topicControl = createManagementControl();
assertEquals(0, topicControl.getMessageCount());
- assertEquals(0, topicControl.getNonDurableMessagesCount());
- assertEquals(0, topicControl.getDurableMessagesCount());
+ assertEquals(0, topicControl.getNonDurableMessageCount());
+ assertEquals(0, topicControl.getDurableMessageCount());
JMSUtil.sendMessages(topic, 2);
assertEquals(3 * 2, topicControl.getMessageCount());
- assertEquals(1 * 2, topicControl.getNonDurableMessagesCount());
- assertEquals(2 * 2, topicControl.getDurableMessagesCount());
-
+ assertEquals(1 * 2, topicControl.getNonDurableMessageCount());
+ assertEquals(2 * 2, topicControl.getDurableMessageCount());
+
connection_1.close();
connection_2.close();
connection_3.close();
@@ -144,15 +145,15 @@
JMSUtil.createDurableSubscriber(connection_3, topic, clientID, subscriptionName + "2");
TopicControlMBean topicControl = createManagementControl();
- assertEquals(3, topicControl.listAllSubscriptions().size());
- assertEquals(1, topicControl.listNonDurableSubscriptions().size());
- assertEquals(2, topicControl.listDurableSubscriptions().size());
-
+ assertEquals(3, topicControl.listAllSubscriptions().length);
+ assertEquals(1, topicControl.listNonDurableSubscriptions().length);
+ assertEquals(2, topicControl.listDurableSubscriptions().length);
+
connection_1.close();
connection_2.close();
connection_3.close();
}
-
+
public void testCountMessagesForSubscription() throws Exception
{
String key = "key";
@@ -161,20 +162,21 @@
Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
JMSUtil.createDurableSubscriber(connection, topic, clientID, subscriptionName);
-
+
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
JMSUtil.sendMessageWithProperty(session, topic, key, matchingValue);
JMSUtil.sendMessageWithProperty(session, topic, key, unmatchingValue);
JMSUtil.sendMessageWithProperty(session, topic, key, matchingValue);
-
+
TopicControlMBean topicControl = createManagementControl();
assertEquals(3, topicControl.getMessageCount());
assertEquals(2, topicControl.countMessagesForSubscription(clientID, subscriptionName, key + " =" + matchingValue));
- assertEquals(1, topicControl.countMessagesForSubscription(clientID, subscriptionName, key + " =" + unmatchingValue));
-
+ assertEquals(1, topicControl.countMessagesForSubscription(clientID, subscriptionName, key + " =" +
+ unmatchingValue));
+
connection.close();
}
@@ -193,7 +195,7 @@
{
}
}
-
+
public void testCountMessagesForUnknownClientID() throws Exception
{
String unknownClientID = randomString();
@@ -215,15 +217,15 @@
Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
JMSUtil.createDurableSubscriber(connection, topic, clientID, subscriptionName);
-
+
TopicControlMBean topicControl = createManagementControl();
- assertEquals(1, topicControl.getDurableSubcriptionsCount());
-
+ assertEquals(1, topicControl.getDurableSubscriptionCount());
+
connection.close();
topicControl.dropDurableSubscription(clientID, subscriptionName);
- assertEquals(0, topicControl.getDurableSubcriptionsCount());
+ assertEquals(0, topicControl.getDurableSubscriptionCount());
}
public void testDropDurableSubscriptionWithUnknownSubscription() throws Exception
@@ -233,7 +235,7 @@
JMSUtil.createDurableSubscriber(connection, topic, clientID, subscriptionName);
TopicControlMBean topicControl = createManagementControl();
- assertEquals(1, topicControl.getDurableSubcriptionsCount());
+ assertEquals(1, topicControl.getDurableSubscriptionCount());
try
{
@@ -245,53 +247,59 @@
}
- assertEquals(1, topicControl.getDurableSubcriptionsCount());
-
+ assertEquals(1, topicControl.getDurableSubscriptionCount());
+
connection.close();
}
public void testDropAllSubscriptions() throws Exception
{
Connection connection_1 = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
- TopicSubscriber durableSubscriber_1 = JMSUtil.createDurableSubscriber(connection_1, topic, clientID, subscriptionName);
+ TopicSubscriber durableSubscriber_1 = JMSUtil.createDurableSubscriber(connection_1,
+ topic,
+ clientID,
+ subscriptionName);
Connection connection_2 = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
- TopicSubscriber durableSubscriber_2 = JMSUtil.createDurableSubscriber(connection_2, topic, clientID, subscriptionName + "2");
+ TopicSubscriber durableSubscriber_2 = JMSUtil.createDurableSubscriber(connection_2,
+ topic,
+ clientID,
+ subscriptionName + "2");
TopicControlMBean topicControl = createManagementControl();
- assertEquals(2, topicControl.getSubcriptionsCount());
+ assertEquals(2, topicControl.getSubscriptionCount());
durableSubscriber_1.close();
durableSubscriber_2.close();
-
- assertEquals(2, topicControl.getSubcriptionsCount());
+
+ assertEquals(2, topicControl.getSubscriptionCount());
topicControl.dropAllSubscriptions();
- assertEquals(0, topicControl.getSubcriptionsCount());
-
+ assertEquals(0, topicControl.getSubscriptionCount());
+
connection_1.close();
connection_2.close();
}
-
+
public void testRemoveAllMessages() throws Exception
{
Connection connection_1 = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
JMSUtil.createDurableSubscriber(connection_1, topic, clientID, subscriptionName);
Connection connection_2 = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
JMSUtil.createDurableSubscriber(connection_2, topic, clientID, subscriptionName + "2");
-
+
JMSUtil.sendMessages(topic, 3);
-
+
TopicControlMBean topicControl = createManagementControl();
- assertEquals(3 * 2, topicControl.getMessageCount());
+ assertEquals(3 * 2, topicControl.getMessageCount());
int removedCount = topicControl.removeAllMessages();
assertEquals(3 * 2, removedCount);
assertEquals(0, topicControl.getMessageCount());
-
+
connection_1.close();
- connection_2.close();
+ connection_2.close();
}
-
+
public void testListMessagesForSubscription() throws Exception
{
Connection connection = JMSUtil.createConnection(InVMConnectorFactory.class.getName());
@@ -300,20 +308,22 @@
JMSUtil.sendMessages(topic, 3);
- TopicControlMBean topicControl = createManagementControl();
- TabularData tabularData = topicControl.listMessagesForSubscription(JBossTopic.createQueueNameForDurableSubscription(clientID, subscriptionName));
- assertEquals(3, tabularData.size());
+ TopicControlMBean topicControl = createManagementControl();
+ Map<String, Object>[] messages = topicControl.listMessagesForSubscription(JBossTopic.createQueueNameForDurableSubscription(clientID,
+ subscriptionName));
+ assertEquals(3, messages.length);
}
-
+
public void testListMessagesForSubscriptionWithUnknownClientID() throws Exception
{
String unknownClientID = randomString();
-
- TopicControlMBean topicControl = createManagementControl();
+ TopicControlMBean topicControl = createManagementControl();
+
try
{
- topicControl.listMessagesForSubscription(JBossTopic.createQueueNameForDurableSubscription(unknownClientID, subscriptionName));
+ topicControl.listMessagesForSubscription(JBossTopic.createQueueNameForDurableSubscription(unknownClientID,
+ subscriptionName));
fail();
}
catch (Exception e)
@@ -324,12 +334,13 @@
public void testListMessagesForSubscriptionWithUnknownSubscription() throws Exception
{
String unknownSubscription = randomString();
-
- TopicControlMBean topicControl = createManagementControl();
+ TopicControlMBean topicControl = createManagementControl();
+
try
{
- topicControl.listMessagesForSubscription(JBossTopic.createQueueNameForDurableSubscription(clientID, unknownSubscription));
+ topicControl.listMessagesForSubscription(JBossTopic.createQueueNameForDurableSubscription(clientID,
+ unknownSubscription));
fail();
}
catch (Exception e)
@@ -345,7 +356,7 @@
protected void setUp() throws Exception
{
super.setUp();
-
+
Configuration conf = new ConfigurationImpl();
conf.setSecurityEnabled(false);
conf.setJMXManagementEnabled(true);
@@ -374,13 +385,12 @@
super.tearDown();
}
-
+
protected TopicControlMBean createManagementControl() throws Exception
{
return createTopicControl(topic, mbeanServer);
}
-
// Private -------------------------------------------------------
// Inner classes -------------------------------------------------
Deleted: trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/TopicControlUsingJMSTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/TopicControlUsingJMSTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/TopicControlUsingJMSTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -1,193 +0,0 @@
-/*
- * 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.jms.server.management;
-
-import static org.jboss.messaging.core.config.impl.ConfigurationImpl.DEFAULT_MANAGEMENT_ADDRESS;
-
-import javax.jms.QueueConnection;
-import javax.jms.QueueSession;
-import javax.jms.Session;
-import javax.management.openmbean.TabularData;
-
-import org.jboss.messaging.core.config.TransportConfiguration;
-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.TopicControlMBean;
-
-/**
- * A JMSQueueControlUsingJMSTest
- *
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- */
-public class TopicControlUsingJMSTest extends TopicControlTest
-{
-
- // Constants -----------------------------------------------------
-
- // Attributes ----------------------------------------------------
-
- private QueueConnection connection;
-
- private QueueSession session;
-
- // Static --------------------------------------------------------
-
- // Constructors --------------------------------------------------
-
- // JMSServerControlTest overrides --------------------------------
-
- @Override
- protected void setUp() throws Exception
- {
- super.setUp();
-
- JBossConnectionFactory cf = new JBossConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()));
- connection = cf.createQueueConnection();
- session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
- connection.start();
- }
-
- @Override
- protected void tearDown() throws Exception
- {
- connection.close();
-
- super.tearDown();
- }
-
- @Override
- protected TopicControlMBean createManagementControl() throws Exception
- {
- JBossQueue managementQueue = new JBossQueue(DEFAULT_MANAGEMENT_ADDRESS.toString(),
- DEFAULT_MANAGEMENT_ADDRESS.toString());
- final JMSMessagingProxy proxy = new JMSMessagingProxy(session,
- managementQueue,
- ResourceNames.JMS_TOPIC + topic.getTopicName());
-
- return new TopicControlMBean()
- {
- public int countMessagesForSubscription(String clientID, String subscriptionName, String filter) throws Exception
- {
- return (Integer)proxy.invokeOperation("countMessagesForSubscription", clientID, subscriptionName, filter);
- }
-
- public void dropAllSubscriptions() throws Exception
- {
- proxy.invokeOperation("dropAllSubscriptions");
- }
-
- public void dropDurableSubscription(String clientID, String subscriptionName) throws Exception
- {
- proxy.invokeOperation("dropDurableSubscription", clientID, subscriptionName);
- }
-
- public int getDurableMessagesCount()
- {
- return (Integer)proxy.retrieveAttributeValue("DurableMessagesCount");
- }
-
- public int getDurableSubcriptionsCount()
- {
- return (Integer)proxy.retrieveAttributeValue("DurableSubcriptionsCount");
- }
-
- public int getNonDurableMessagesCount()
- {
- return (Integer)proxy.retrieveAttributeValue("NonDurableMessagesCount");
- }
-
- public int getNonDurableSubcriptionsCount()
- {
- return (Integer)proxy.retrieveAttributeValue("NonDurableSubcriptionsCount");
- }
-
- public int getSubcriptionsCount()
- {
- return (Integer)proxy.retrieveAttributeValue("SubcriptionsCount");
- }
-
- public TabularData listAllSubscriptions() throws Exception
- {
- return (TabularData)proxy.invokeOperation("listAllSubscriptions");
- }
-
- public TabularData listDurableSubscriptions() throws Exception
- {
- return (TabularData)proxy.invokeOperation("listDurableSubscriptions");
- }
-
- public TabularData listMessagesForSubscription(String queueName) throws Exception
- {
- return (TabularData)proxy.invokeOperation("listMessagesForSubscription", queueName);
- }
-
- public TabularData listNonDurableSubscriptions() throws Exception
- {
- return (TabularData)proxy.invokeOperation("listNonDurableSubscriptions");
- }
-
- public String getAddress()
- {
- return (String)proxy.retrieveAttributeValue("Address");
- }
-
- public String getJNDIBinding()
- {
- return (String)proxy.retrieveAttributeValue("JNDIBinding");
- }
-
- public int getMessageCount() throws Exception
- {
- return (Integer)proxy.retrieveAttributeValue("MessageCount");
- }
-
- public String getName()
- {
- return (String)proxy.retrieveAttributeValue("Name");
- }
-
- public boolean isTemporary()
- {
- return (Boolean)proxy.retrieveAttributeValue("Temporary");
- }
-
- public int removeAllMessages() throws Exception
- {
- return (Integer)proxy.invokeOperation("removeAllMessages");
- }
-
- };
- }
- // Public --------------------------------------------------------
-
- // Package protected ---------------------------------------------
-
- // Protected -----------------------------------------------------
-
- // Private -------------------------------------------------------
-
- // Inner classes -------------------------------------------------
-
-}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlUsingCoreTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlUsingCoreTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,7 +22,7 @@
package org.jboss.messaging.tests.integration.management;
-import javax.management.openmbean.TabularData;
+import java.util.Map;
import org.jboss.messaging.core.client.ClientSession;
import org.jboss.messaging.core.client.ClientSessionFactory;
@@ -64,8 +64,7 @@
return new AcceptorControlMBean()
{
- private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
- ResourceNames.CORE_ACCEPTOR + name);
+ private final CoreMessagingProxy proxy = new CoreMessagingProxy(session, ResourceNames.CORE_ACCEPTOR + name);
public String getFactoryClassName()
{
@@ -77,9 +76,9 @@
return (String)proxy.retrieveAttributeValue("Name");
}
- public TabularData getParameters()
+ public Map<String, Object> getParameters()
{
- return (TabularData)proxy.retrieveAttributeValue("Parameters");
+ return (Map<String, Object>)proxy.retrieveAttributeValue("Parameters");
}
public void pause() throws Exception
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/AddressControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/AddressControlTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/AddressControlTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,6 +22,13 @@
package org.jboss.messaging.tests.integration.management;
+import static org.jboss.messaging.tests.util.RandomUtil.randomBoolean;
+import static org.jboss.messaging.tests.util.RandomUtil.randomSimpleString;
+import static org.jboss.messaging.tests.util.RandomUtil.randomString;
+
+import java.util.HashSet;
+import java.util.Set;
+
import org.jboss.messaging.core.client.ClientSession;
import org.jboss.messaging.core.client.ClientSessionFactory;
import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
@@ -36,15 +43,8 @@
import org.jboss.messaging.core.security.Role;
import org.jboss.messaging.core.server.Messaging;
import org.jboss.messaging.core.server.MessagingServer;
-import static org.jboss.messaging.tests.util.RandomUtil.randomBoolean;
-import static org.jboss.messaging.tests.util.RandomUtil.randomSimpleString;
-import static org.jboss.messaging.tests.util.RandomUtil.randomString;
import org.jboss.messaging.utils.SimpleString;
-import javax.management.openmbean.TabularData;
-import java.util.HashSet;
-import java.util.Set;
-
/**
* A QueueControlTest
*
@@ -112,20 +112,27 @@
{
SimpleString address = randomSimpleString();
SimpleString queue = randomSimpleString();
- Role role = new Role(randomString(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean());
+ Role role = new Role(randomString(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean());
session.createQueue(address, queue, true);
AddressControlMBean addressControl = createManagementControl(address);
- TabularData tabularData = addressControl.getRoles();
- assertEquals(0, tabularData.size());
+ Object[] tabularData = addressControl.getRoles();
+ assertEquals(0, tabularData.length);
Set<Role> newRoles = new HashSet<Role>();
newRoles.add(role);
server.getSecurityRepository().addMatch(address.toString(), newRoles);
tabularData = addressControl.getRoles();
- assertEquals(1, tabularData.size());
+ assertEquals(1, tabularData.length);
RoleInfo[] roleInfos = RoleInfo.from(tabularData);
assertEquals(role.getName(), roleInfos[0].getName());
assertEquals(CheckType.CONSUME.hasRole(role), roleInfos[0].isConsume());
@@ -143,13 +150,20 @@
{
SimpleString address = randomSimpleString();
SimpleString queue = randomSimpleString();
- Role role = new Role(randomString(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean());
+ Role role = new Role(randomString(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean());
session.createQueue(address, queue, true);
AddressControlMBean addressControl = createManagementControl(address);
- TabularData tabularData = addressControl.getRoles();
- assertEquals(0, tabularData.size());
+ Object[] tabularData = addressControl.getRoles();
+ assertEquals(0, tabularData.length);
addressControl.addRole(role.getName(),
CheckType.SEND.hasRole(role),
@@ -161,7 +175,7 @@
CheckType.MANAGE.hasRole(role));
tabularData = addressControl.getRoles();
- assertEquals(1, tabularData.size());
+ assertEquals(1, tabularData.length);
RoleInfo[] roleInfos = RoleInfo.from(tabularData);
assertEquals(role.getName(), roleInfos[0].getName());
assertEquals(CheckType.CONSUME.hasRole(role), roleInfos[0].isConsume());
@@ -172,7 +186,6 @@
assertEquals(CheckType.MANAGE.hasRole(role), roleInfos[0].isManage());
assertEquals(CheckType.SEND.hasRole(role), roleInfos[0].isSend());
-
session.deleteQueue(queue);
}
@@ -180,13 +193,20 @@
{
SimpleString address = randomSimpleString();
SimpleString queue = randomSimpleString();
- Role role = new Role(randomString(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean());
+ Role role = new Role(randomString(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean());
session.createQueue(address, queue, true);
AddressControlMBean addressControl = createManagementControl(address);
- TabularData tabularData = addressControl.getRoles();
- assertEquals(0, tabularData.size());
+ Object[] tabularData = addressControl.getRoles();
+ assertEquals(0, tabularData.length);
addressControl.addRole(role.getName(),
CheckType.SEND.hasRole(role),
@@ -198,18 +218,18 @@
CheckType.MANAGE.hasRole(role));
tabularData = addressControl.getRoles();
- assertEquals(1, tabularData.size());
+ assertEquals(1, tabularData.length);
try
{
addressControl.addRole(role.getName(),
- CheckType.SEND.hasRole(role),
- CheckType.CONSUME.hasRole(role),
- CheckType.CREATE_DURABLE_QUEUE.hasRole(role),
- CheckType.DELETE_DURABLE_QUEUE.hasRole(role),
- CheckType.CREATE_NON_DURABLE_QUEUE.hasRole(role),
- CheckType.DELETE_NON_DURABLE_QUEUE.hasRole(role),
- CheckType.MANAGE.hasRole(role));
+ CheckType.SEND.hasRole(role),
+ CheckType.CONSUME.hasRole(role),
+ CheckType.CREATE_DURABLE_QUEUE.hasRole(role),
+ CheckType.DELETE_DURABLE_QUEUE.hasRole(role),
+ CheckType.CREATE_NON_DURABLE_QUEUE.hasRole(role),
+ CheckType.DELETE_NON_DURABLE_QUEUE.hasRole(role),
+ CheckType.MANAGE.hasRole(role));
fail("can not add a role which already exists");
}
catch (Exception e)
@@ -217,7 +237,7 @@
}
tabularData = addressControl.getRoles();
- assertEquals(1, tabularData.size());
+ assertEquals(1, tabularData.length);
session.deleteQueue(queue);
}
@@ -231,18 +251,25 @@
session.createQueue(address, queue, true);
AddressControlMBean addressControl = createManagementControl(address);
- TabularData tabularData = addressControl.getRoles();
- assertEquals(0, tabularData.size());
+ Object[] tabularData = addressControl.getRoles();
+ assertEquals(0, tabularData.length);
- addressControl.addRole(roleName, randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean());
+ addressControl.addRole(roleName,
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean(),
+ randomBoolean());
tabularData = addressControl.getRoles();
- assertEquals(1, tabularData.size());
+ assertEquals(1, tabularData.length);
addressControl.removeRole(roleName);
tabularData = addressControl.getRoles();
- assertEquals(0, tabularData.size());
+ assertEquals(0, tabularData.length);
session.deleteQueue(queue);
}
@@ -256,8 +283,8 @@
session.createQueue(address, queue, true);
AddressControlMBean addressControl = createManagementControl(address);
- TabularData tabularData = addressControl.getRoles();
- assertEquals(0, tabularData.size());
+ Object[] tabularData = addressControl.getRoles();
+ assertEquals(0, tabularData.length);
try
{
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/AddressControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/AddressControlUsingCoreTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/AddressControlUsingCoreTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -1,6 +1,6 @@
/*
* JBoss, Home of Professional Open Source
- * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2005-2008, 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.
*
@@ -22,86 +22,304 @@
package org.jboss.messaging.tests.integration.management;
-import javax.management.openmbean.TabularData;
+import static org.jboss.messaging.tests.util.RandomUtil.randomBoolean;
+import static org.jboss.messaging.tests.util.RandomUtil.randomSimpleString;
+import static org.jboss.messaging.tests.util.RandomUtil.randomString;
+import java.util.HashSet;
+import java.util.Set;
+
+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.Configuration;
+import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.management.AddressControlMBean;
import org.jboss.messaging.core.management.ResourceNames;
+import org.jboss.messaging.core.management.RoleInfo;
+import org.jboss.messaging.core.remoting.impl.invm.InVMAcceptorFactory;
+import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
+import org.jboss.messaging.core.security.CheckType;
+import org.jboss.messaging.core.security.Role;
+import org.jboss.messaging.core.server.Messaging;
+import org.jboss.messaging.core.server.MessagingServer;
import org.jboss.messaging.utils.SimpleString;
/**
- * A JMXQueueControlTest
+ *
+ * A AddressControlUsingCoreTest
*
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
*
*
*/
-public class AddressControlUsingCoreTest extends AddressControlTest
+public class AddressControlUsingCoreTest extends ManagementTestBase
{
// Constants -----------------------------------------------------
// Attributes ----------------------------------------------------
+ private MessagingServer server;
+
+ protected ClientSession session;
+
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
- // AddressControlTest overrides --------------------------------
+ // Public --------------------------------------------------------
- @Override
- protected AddressControlMBean createManagementControl(final SimpleString address) throws Exception
+ public void testGetAddress() throws Exception
{
- return new AddressControlMBean()
+ SimpleString address = randomSimpleString();
+ SimpleString queue = randomSimpleString();
+
+ session.createQueue(address, queue, false);
+
+ CoreMessagingProxy proxy = createProxy(address);
+
+ assertEquals(address.toString(), proxy.retrieveAttributeValue("Address"));
+
+ session.deleteQueue(queue);
+ }
+
+ public void testGetQueueNames() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ SimpleString queue = randomSimpleString();
+ SimpleString anotherQueue = randomSimpleString();
+
+ session.createQueue(address, queue, true);
+
+ CoreMessagingProxy proxy = createProxy(address);
+ Object[] queueNames = (Object[])proxy.retrieveAttributeValue("QueueNames");
+ assertEquals(1, queueNames.length);
+ assertEquals(queue.toString(), queueNames[0]);
+
+ session.createQueue(address, anotherQueue, false);
+ queueNames = (Object[])proxy.retrieveAttributeValue("QueueNames");
+ assertEquals(2, queueNames.length);
+
+ session.deleteQueue(queue);
+
+ queueNames = (Object[])proxy.retrieveAttributeValue("QueueNames");
+ assertEquals(1, queueNames.length);
+ assertEquals(anotherQueue.toString(), queueNames[0]);
+
+ session.deleteQueue(anotherQueue);
+ }
+
+ public void testGetRoles() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ SimpleString queue = randomSimpleString();
+ Role role = new Role(randomString(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean());
+
+ session.createQueue(address, queue, true);
+
+ CoreMessagingProxy proxy = createProxy(address);
+ Object[] data = (Object[])proxy.retrieveAttributeValue("Roles");
+ assertEquals(0, data.length);
+
+ Set<Role> newRoles = new HashSet<Role>();
+ newRoles.add(role);
+ server.getSecurityRepository().addMatch(address.toString(), newRoles);
+
+ data = (Object[])proxy.retrieveAttributeValue("Roles");
+ assertEquals(1, data.length);
+ RoleInfo[] roleInfos = RoleInfo.from(data);
+ assertEquals(role.getName(), roleInfos[0].getName());
+ assertEquals(CheckType.CONSUME.hasRole(role), roleInfos[0].isConsume());
+ assertEquals(CheckType.CREATE_DURABLE_QUEUE.hasRole(role), roleInfos[0].isCreateDurableQueue());
+ assertEquals(CheckType.CREATE_NON_DURABLE_QUEUE.hasRole(role), roleInfos[0].isCreateNonDurableQueue());
+ assertEquals(CheckType.DELETE_DURABLE_QUEUE.hasRole(role), roleInfos[0].isDeleteDurableQueue());
+ assertEquals(CheckType.DELETE_NON_DURABLE_QUEUE.hasRole(role), roleInfos[0].isDeleteNonDurableQueue());
+ assertEquals(CheckType.MANAGE.hasRole(role), roleInfos[0].isManage());
+ assertEquals(CheckType.SEND.hasRole(role), roleInfos[0].isSend());
+
+ session.deleteQueue(queue);
+ }
+
+ public void testAddRole() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ SimpleString queue = randomSimpleString();
+ Role role = new Role(randomString(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean());
+
+ session.createQueue(address, queue, true);
+
+ CoreMessagingProxy proxy = createProxy(address);
+ Object[] data = (Object[])proxy.retrieveAttributeValue("Roles");
+ assertEquals(0, data.length);
+
+ proxy.invokeOperation("addRole", role.getName(),
+ CheckType.SEND.hasRole(role),
+ CheckType.CONSUME.hasRole(role),
+ CheckType.CREATE_DURABLE_QUEUE.hasRole(role),
+ CheckType.DELETE_DURABLE_QUEUE.hasRole(role),
+ CheckType.CREATE_NON_DURABLE_QUEUE.hasRole(role),
+ CheckType.DELETE_NON_DURABLE_QUEUE.hasRole(role),
+ CheckType.MANAGE.hasRole(role));
+
+ data = (Object[])proxy.retrieveAttributeValue("Roles");
+ assertEquals(1, data.length);
+ RoleInfo[] roleInfos = RoleInfo.from(data);
+ assertEquals(role.getName(), roleInfos[0].getName());
+ assertEquals(CheckType.CONSUME.hasRole(role), roleInfos[0].isConsume());
+ assertEquals(CheckType.CREATE_DURABLE_QUEUE.hasRole(role), roleInfos[0].isCreateDurableQueue());
+ assertEquals(CheckType.CREATE_NON_DURABLE_QUEUE.hasRole(role), roleInfos[0].isCreateNonDurableQueue());
+ assertEquals(CheckType.DELETE_DURABLE_QUEUE.hasRole(role), roleInfos[0].isDeleteDurableQueue());
+ assertEquals(CheckType.DELETE_NON_DURABLE_QUEUE.hasRole(role), roleInfos[0].isDeleteNonDurableQueue());
+ assertEquals(CheckType.MANAGE.hasRole(role), roleInfos[0].isManage());
+ assertEquals(CheckType.SEND.hasRole(role), roleInfos[0].isSend());
+
+
+ session.deleteQueue(queue);
+ }
+
+ public void testAddRoleWhichAlreadyExists() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ SimpleString queue = randomSimpleString();
+ Role role = new Role(randomString(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean());
+
+ session.createQueue(address, queue, true);
+
+ CoreMessagingProxy proxy = createProxy(address);
+ Object[] data = (Object[])proxy.retrieveAttributeValue("Roles");
+ assertEquals(0, data.length);
+
+ proxy.invokeOperation("addRole", role.getName(),
+ CheckType.SEND.hasRole(role),
+ CheckType.CONSUME.hasRole(role),
+ CheckType.CREATE_DURABLE_QUEUE.hasRole(role),
+ CheckType.DELETE_DURABLE_QUEUE.hasRole(role),
+ CheckType.CREATE_NON_DURABLE_QUEUE.hasRole(role),
+ CheckType.DELETE_NON_DURABLE_QUEUE.hasRole(role),
+ CheckType.MANAGE.hasRole(role));
+
+ data = (Object[])proxy.retrieveAttributeValue("Roles");
+ assertEquals(1, data.length);
+
+ try
{
- private final CoreMessagingProxy proxy = new CoreMessagingProxy(session, ResourceNames.CORE_ADDRESS + address);
+ proxy.invokeOperation("addRole", role.getName(),
+ CheckType.SEND.hasRole(role),
+ CheckType.CONSUME.hasRole(role),
+ CheckType.CREATE_DURABLE_QUEUE.hasRole(role),
+ CheckType.DELETE_DURABLE_QUEUE.hasRole(role),
+ CheckType.CREATE_NON_DURABLE_QUEUE.hasRole(role),
+ CheckType.DELETE_NON_DURABLE_QUEUE.hasRole(role),
+ CheckType.MANAGE.hasRole(role));
+ fail("can not add a role which already exists");
+ }
+ catch (Exception e)
+ {
+ }
- 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);
- }
+ data = (Object[])proxy.retrieveAttributeValue("Roles");
+ assertEquals(1, data.length);
- public String getAddress()
- {
- return (String)proxy.retrieveAttributeValue("Address");
- }
+ session.deleteQueue(queue);
+ }
- public String[] getQueueNames() throws Exception
- {
- return (String[])proxy.retrieveAttributeValue("QueueNames");
- }
+ public void testRemoveRole() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ SimpleString queue = randomSimpleString();
+ String roleName = randomString();
- public TabularData getRoles() throws Exception
- {
- return (TabularData)proxy.retrieveAttributeValue("Roles");
- }
+ session.createQueue(address, queue, true);
- public void removeRole(String name) throws Exception
- {
- proxy.invokeOperation("removeRole", name);
- }
- };
+ CoreMessagingProxy proxy = createProxy(address);
+ Object[] data = (Object[])proxy.retrieveAttributeValue("Roles");
+ assertEquals(0, data.length);
+
+ proxy.invokeOperation("addRole", roleName, randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean());
+
+ data = (Object[])proxy.retrieveAttributeValue("Roles");
+ assertEquals(1, data.length);
+
+ proxy.invokeOperation("removeRole", roleName);
+
+ data = (Object[])proxy.retrieveAttributeValue("Roles");
+ assertEquals(0, data.length);
+
+ session.deleteQueue(queue);
}
- // Public --------------------------------------------------------
+ public void testRemoveRoleWhichDoesNotExist() throws Exception
+ {
+ SimpleString address = randomSimpleString();
+ SimpleString queue = randomSimpleString();
+ String roleName = randomString();
+
+ session.createQueue(address, queue, true);
+
+ CoreMessagingProxy proxy = createProxy(address);
+ Object[] data = (Object[])proxy.retrieveAttributeValue("Roles");
+ assertEquals(0, data.length);
+
+ try
+ {
+ proxy.invokeOperation("removeRole", roleName);
+ fail("can not remove a role which does not exist");
+ }
+ catch (Exception e)
+ {
+ }
+
+ session.deleteQueue(queue);
+ }
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ Configuration conf = new ConfigurationImpl();
+ conf.setSecurityEnabled(false);
+ conf.setJMXManagementEnabled(true);
+ conf.getAcceptorConfigurations().add(new TransportConfiguration(InVMAcceptorFactory.class.getName()));
+ server = Messaging.newMessagingServer(conf, mbeanServer, false);
+ server.start();
+
+ ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+ sf.setBlockOnNonPersistentSend(true);
+ sf.setBlockOnNonPersistentSend(true);
+ session = sf.createSession(false, true, false);
+ session.start();
+ }
+
+
+ protected CoreMessagingProxy createProxy(final SimpleString address) throws Exception
+ {
+ CoreMessagingProxy proxy = new CoreMessagingProxy(session, ResourceNames.CORE_ADDRESS + address);
+
+ return proxy;
+ }
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ session.close();
+
+ server.stop();
+
+ super.tearDown();
+ }
+
+ protected AddressControlMBean createManagementControl(SimpleString address) throws Exception
+ {
+ return ManagementControlHelper.createAddressControl(address, mbeanServer);
+ }
+
// Private -------------------------------------------------------
// Inner classes -------------------------------------------------
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -90,9 +90,9 @@
assertEquals(bridgeConfig.isFailoverOnServerShutdown(), bridgeControl.isFailoverOnServerShutdown());
assertEquals(bridgeConfig.isUseDuplicateDetection(), bridgeControl.isUseDuplicateDetection());
- CompositeData connectorPairData = bridgeControl.getConnectorPair();
- assertEquals(bridgeConfig.getConnectorPair().a, connectorPairData.get("a"));
- assertEquals(bridgeConfig.getConnectorPair().b, connectorPairData.get("b"));
+ String[] connectorPairData = bridgeControl.getConnectorPair();
+ assertEquals(bridgeConfig.getConnectorPair().a, connectorPairData[0]);
+ assertEquals(bridgeConfig.getConnectorPair().b, connectorPairData[1]);
assertTrue(bridgeControl.isStarted());
}
Deleted: trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlUsingCoreTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlUsingCoreTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -1,168 +0,0 @@
-/*
- * 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-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -104,11 +104,11 @@
assertEquals(broadcastGroupConfig.getLocalBindPort(), broadcastGroupControl.getLocalBindPort());
assertEquals(broadcastGroupConfig.getBroadcastPeriod(), broadcastGroupControl.getBroadcastPeriod());
- TabularData connectorPairs = broadcastGroupControl.getConnectorPairs();
- assertEquals(1, connectorPairs.size());
- CompositeData connectorPairData = (CompositeData)connectorPairs.values().iterator().next();
- assertEquals(broadcastGroupConfig.getConnectorInfos().get(0).a, connectorPairData.get("a"));
- assertEquals(broadcastGroupConfig.getConnectorInfos().get(0).b, connectorPairData.get("b"));
+ Object[] connectorPairs = broadcastGroupControl.getConnectorPairs();
+ assertEquals(1, connectorPairs.length);
+ String[] connectorPairData = (String[])connectorPairs[0];
+ assertEquals(broadcastGroupConfig.getConnectorInfos().get(0).a, connectorPairData[0]);
+ assertEquals(broadcastGroupConfig.getConnectorInfos().get(0).b, connectorPairData[1]);
assertTrue(broadcastGroupControl.isStarted());
}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlUsingCoreTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlUsingCoreTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,8 +22,6 @@
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;
@@ -71,9 +69,9 @@
return (Long)proxy.retrieveAttributeValue("BroadcastPeriod");
}
- public TabularData getConnectorPairs()
+ public Object[] getConnectorPairs()
{
- return (TabularData)proxy.retrieveAttributeValue("ConnectorPairs");
+ return (Object[])proxy.retrieveAttributeValue("ConnectorPairs");
}
public String getGroupAddress()
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -90,11 +90,11 @@
clusterConnectionControl.isForwardWhenNoConsumers());
assertEquals(clusterConnectionConfig.getMaxHops(), clusterConnectionControl.getMaxHops());
- TabularData connectorPairs = clusterConnectionControl.getStaticConnectorNamePairs();
- assertEquals(1, connectorPairs.size());
- CompositeData connectorPairData = (CompositeData)connectorPairs.values().iterator().next();
- assertEquals(clusterConnectionConfig.getStaticConnectorNamePairs().get(0).a, connectorPairData.get("a"));
- assertEquals(clusterConnectionConfig.getStaticConnectorNamePairs().get(0).b, connectorPairData.get("b"));
+ Object[] connectorPairs = clusterConnectionControl.getStaticConnectorNamePairs();
+ assertEquals(1, connectorPairs.length);
+ String[] connectorPairData = (String[])connectorPairs[0];
+ assertEquals(clusterConnectionConfig.getStaticConnectorNamePairs().get(0).a, connectorPairData[0]);
+ assertEquals(clusterConnectionConfig.getStaticConnectorNamePairs().get(0).b, connectorPairData[1]);
assertTrue(clusterConnectionControl.isStarted());
}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlUsingCoreTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlUsingCoreTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,8 +22,6 @@
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;
@@ -86,9 +84,9 @@
return (Long)proxy.retrieveAttributeValue("RetryInterval");
}
- public TabularData getStaticConnectorNamePairs()
+ public Object[] getStaticConnectorNamePairs()
{
- return (TabularData)proxy.retrieveAttributeValue("StaticConnectorNamePairs");
+ return (Object[])proxy.retrieveAttributeValue("StaticConnectorNamePairs");
}
public boolean isDuplicateDetection()
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/ManagementHelperTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/ManagementHelperTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/ManagementHelperTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -199,10 +199,55 @@
assertEquals(value3_3, mapRes3.get(key3_3));
assertEquals(value3_4, mapRes3.get(key3_4));
assertEquals(value3_5, mapRes3.get(key3_5));
+ }
+
+ public void testMapWithArrayValues() throws Exception
+ {
+ String resource = randomString();
+ String operationName = randomString();
+ Map<String, Object> map = new HashMap<String, Object>();
+ String key1 = randomString();
+ String[] val1 = new String[] { "a", "b", "c" };
+
+ log.info("val1 type is " + val1);
+
+ String key2 = randomString();
+ Integer[] val2 = new Integer[] { 1, 2, 3, 4, 5 };
+
+ log.info("val2 type is " + val2);
+
+ map.put(key1, val1);
+ map.put(key2, val2);
+
+ Object[] params = new Object[] { "hello", map };
+ Message msg = new ClientMessageImpl(false, ChannelBuffers.dynamicBuffer(1024));
+ ManagementHelper.putOperationInvocation(msg, resource, operationName, params);
+ Object[] parameters = ManagementHelper.retrieveOperationParameters(msg);
+
+ assertEquals(params.length, parameters.length);
+
+ assertEquals("hello", parameters[0]);
+
+ Map map2 = (Map)parameters[1];
+ assertEquals(2, map2.size());
+
+ Object[] arr1 = (Object[])map2.get(key1);
+ assertEquals(val1.length, arr1.length);
+ assertEquals(arr1[0], val1[0]);
+ assertEquals(arr1[1], val1[1]);
+ assertEquals(arr1[2], val1[2]);
+
+ Object[] arr2 = (Object[])map2.get(key2);
+ assertEquals(val2.length, arr2.length);
+ assertEquals(arr2[0], val2[0]);
+ assertEquals(arr2[1], val2[1]);
+ assertEquals(arr2[2], val2[2]);
+
}
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -26,15 +26,12 @@
import java.util.HashMap;
-import javax.management.openmbean.TabularData;
-
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.management.MessagingServerControlMBean;
import org.jboss.messaging.core.management.ObjectNames;
import org.jboss.messaging.core.management.QueueControlMBean;
-import org.jboss.messaging.core.management.TransportConfigurationInfo;
import org.jboss.messaging.core.messagecounter.impl.MessageCounterManagerImpl;
import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
import org.jboss.messaging.core.server.Messaging;
@@ -120,14 +117,13 @@
{
MessagingServerControlMBean serverControl = createManagementControl();
- TabularData connectorData = serverControl.getConnectors();
+ Object[] connectorData = serverControl.getConnectors();
assertNotNull(connectorData);
- assertEquals(1, connectorData.size());
+ assertEquals(1, connectorData.length);
- TransportConfiguration[] connectorConfigurations = TransportConfigurationInfo.from(connectorData);
- assertEquals(1, connectorConfigurations.length);
+ Object[] config = (Object[])connectorData[0];
- assertEquals(connectorConfig.getName(), connectorConfigurations[0].getName());
+ assertEquals(connectorConfig.getName(), config[0]);
}
public void testCreateAndDestroyQueue() throws Exception
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlUsingCoreTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlUsingCoreTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -22,10 +22,6 @@
package org.jboss.messaging.tests.integration.management;
-import java.util.List;
-
-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;
@@ -160,9 +156,9 @@
return (Long)proxy.retrieveAttributeValue("ConnectionTTLOverride");
}
- public TabularData getConnectors() throws Exception
+ public Object[] getConnectors() throws Exception
{
- return (TabularData)proxy.retrieveAttributeValue("Connectors");
+ return (Object[])proxy.retrieveAttributeValue("Connectors");
}
public int getIDCacheSize()
@@ -170,9 +166,9 @@
return (Integer)proxy.retrieveAttributeValue("IDCacheSize");
}
- public List<String> getInterceptorClassNames()
+ public String[] getInterceptorClassNames()
{
- return (List<String>)proxy.retrieveAttributeValue("InterceptorClassNames");
+ return (String[])proxy.retrieveAttributeValue("InterceptorClassNames");
}
public int getJournalBufferReuseSize()
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/QueueControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/QueueControlTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/QueueControlTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -30,8 +30,9 @@
import static org.jboss.messaging.tests.util.RandomUtil.randomSimpleString;
import static org.jboss.messaging.tests.util.RandomUtil.randomString;
+import java.util.Map;
+
import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.TabularData;
import org.jboss.messaging.core.client.ClientConsumer;
import org.jboss.messaging.core.client.ClientMessage;
@@ -43,7 +44,6 @@
import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.management.MessageCounterInfo;
-import org.jboss.messaging.core.management.MessageInfo;
import org.jboss.messaging.core.management.MessagingServerControlMBean;
import org.jboss.messaging.core.management.QueueControlMBean;
import org.jboss.messaging.core.message.impl.MessageImpl;
@@ -303,15 +303,14 @@
// unscheduled message
producer.send(session.createClientMessage(false));
- TabularData tabularData = queueControl.listScheduledMessages();
- assertEquals(1, tabularData.size());
- MessageInfo[] messageInfos = MessageInfo.from(tabularData);
- assertEquals(Integer.toString(intValue), messageInfos[0].getProperties().get("key"));
+ Map<String, Object>[] messages = queueControl.listScheduledMessages();
+ assertEquals(1, messages.length);
+ assertEquals(Integer.toString(intValue), messages[0].get("key"));
Thread.sleep(delay);
- tabularData = queueControl.listScheduledMessages();
- assertEquals(0, tabularData.size());
+ messages = queueControl.listScheduledMessages();
+ assertEquals(0, messages.length);
consumeMessages(2, session, queue);
@@ -358,15 +357,14 @@
message.putIntProperty(new SimpleString("key"), intValue);
producer.send(message);
- TabularData tabularData = queueControl.listAllMessages();
- assertEquals(1, tabularData.size());
- MessageInfo[] messageInfos = MessageInfo.from(tabularData);
- assertEquals(Integer.toString(intValue), messageInfos[0].getProperties().get("key"));
+ Map<String, Object>[] messages = queueControl.listAllMessages();
+ assertEquals(1, messages.length);
+ assertEquals(Integer.toString(intValue), messages[0].get("key"));
consumeMessages(1, session, queue);
- tabularData = queueControl.listAllMessages();
- assertEquals(0, tabularData.size());
+ messages = queueControl.listAllMessages();
+ assertEquals(0, messages.length);
session.deleteQueue(queue);
}
@@ -392,15 +390,14 @@
unmatchingMessage.putLongProperty(key, unmatchingValue);
producer.send(unmatchingMessage);
- TabularData tabularData = queueControl.listMessages(filter);
- assertEquals(1, tabularData.size());
- MessageInfo[] messageInfos = MessageInfo.from(tabularData);
- assertEquals(Long.toString(matchingValue), messageInfos[0].getProperties().get("key"));
+ Map<String, Object>[] messages = queueControl.listMessages(filter);
+ assertEquals(1, messages.length);
+ assertEquals(Long.toString(matchingValue), messages[0].get("key"));
consumeMessages(2, session, queue);
- tabularData = queueControl.listMessages(filter);
- assertEquals(0, tabularData.size());
+ messages = queueControl.listMessages(filter);
+ assertEquals(0, messages.length);
session.deleteQueue(queue);
}
@@ -571,9 +568,9 @@
assertEquals(0, otherQueueControl.getMessageCount());
// the message IDs are set on the server
- MessageInfo[] messageInfos = MessageInfo.from(queueControl.listAllMessages());
- assertEquals(2, messageInfos.length);
- long messageID = messageInfos[0].getID();
+ Map<String, Object>[] messages = queueControl.listAllMessages();
+ assertEquals(2, messages.length);
+ long messageID = (Long)messages[0].get("MessageID");
boolean moved = queueControl.moveMessage(messageID, otherQueue.toString());
assertTrue(moved);
@@ -603,9 +600,9 @@
assertEquals(1, queueControl.getMessageCount());
// the message IDs are set on the server
- MessageInfo[] messageInfos = MessageInfo.from(queueControl.listAllMessages());
- assertEquals(1, messageInfos.length);
- long messageID = messageInfos[0].getID();
+ Map<String, Object>[] messages = queueControl.listAllMessages();
+ assertEquals(1, messages.length);
+ long messageID = (Long)messages[0].get("MessageID");
// moved all messages to unknown queue
try
@@ -725,9 +722,9 @@
assertEquals(2, queueControl.getMessageCount());
// the message IDs are set on the server
- MessageInfo[] messageInfos = MessageInfo.from(queueControl.listAllMessages());
- assertEquals(2, messageInfos.length);
- long messageID = messageInfos[0].getID();
+ Map<String, Object>[] messages = queueControl.listAllMessages();
+ assertEquals(2, messages.length);
+ long messageID = (Long)messages[0].get("MessageID");
// delete 1st message
boolean deleted = queueControl.removeMessage(messageID);
@@ -834,9 +831,9 @@
assertEquals(0, expiryQueueControl.getMessageCount());
// the message IDs are set on the server
- MessageInfo[] messageInfos = MessageInfo.from(queueControl.listAllMessages());
- assertEquals(1, messageInfos.length);
- long messageID = messageInfos[0].getID();
+ Map<String, Object>[] messages = queueControl.listAllMessages();
+ assertEquals(1, messages.length);
+ long messageID = (Long)messages[0].get("MessageID");
queueControl.setExpiryAddress(expiryAddress.toString());
boolean expired = queueControl.expireMessage(messageID);
@@ -872,9 +869,9 @@
assertEquals(2, queueControl.getMessageCount());
// the message IDs are set on the server
- MessageInfo[] messageInfos = MessageInfo.from(queueControl.listAllMessages());
- assertEquals(2, messageInfos.length);
- long messageID = messageInfos[0].getID();
+ Map<String, Object>[] messages = queueControl.listAllMessages();
+ assertEquals(2, messages.length);
+ long messageID = (Long)messages[0].get("MessageID");
queueControl.setDeadLetterAddress(deadLetterAddress.toString());
@@ -913,9 +910,9 @@
assertEquals(1, queueControl.getMessageCount());
// the message IDs are set on the server
- MessageInfo[] messageInfos = MessageInfo.from(queueControl.listAllMessages());
- assertEquals(1, messageInfos.length);
- long messageID = messageInfos[0].getID();
+ Map<String, Object>[] messages = queueControl.listAllMessages();
+ assertEquals(1, messages.length);
+ long messageID = (Long)messages[0].get("MessageID");
boolean priorityChanged = queueControl.changeMessagePriority(messageID, newPriority);
assertTrue(priorityChanged);
@@ -946,9 +943,9 @@
assertEquals(1, queueControl.getMessageCount());
// the message IDs are set on the server
- MessageInfo[] messageInfos = MessageInfo.from(queueControl.listAllMessages());
- assertEquals(1, messageInfos.length);
- long messageID = messageInfos[0].getID();
+ Map<String, Object>[] messages = queueControl.listAllMessages();
+ assertEquals(1, messages.length);
+ long messageID = (Long)messages[0].get("MessageID");
try
{
@@ -980,43 +977,46 @@
serverControl.enableMessageCounters();
serverControl.setMessageCounterSamplePeriod(MessageCounterManagerImpl.MIN_SAMPLE_PERIOD);
- CompositeData compositeData = queueControl.listMessageCounter();
- MessageCounterInfo info = MessageCounterInfo.from(compositeData);
- assertEquals(0, info.getDepth());
- assertEquals(0, info.getCount());
-
- ClientProducer producer = session.createProducer(address);
- producer.send(session.createClientMessage(false));
-
- Thread.sleep(MessageCounterManagerImpl.MIN_SAMPLE_PERIOD * 2);
- compositeData = queueControl.listMessageCounter();
- info = MessageCounterInfo.from(compositeData);
- assertEquals(1, info.getDepth());
- assertEquals(1, info.getDepthDelta());
- assertEquals(1, info.getCount());
- assertEquals(1, info.getCountDelta());
-
- producer.send(session.createClientMessage(false));
-
- Thread.sleep(MessageCounterManagerImpl.MIN_SAMPLE_PERIOD * 2);
- compositeData = queueControl.listMessageCounter();
- info = MessageCounterInfo.from(compositeData);
- assertEquals(2, info.getDepth());
- assertEquals(1, info.getDepthDelta());
- assertEquals(2, info.getCount());
- assertEquals(1, info.getCountDelta());
-
- consumeMessages(2, session, queue);
-
- Thread.sleep(MessageCounterManagerImpl.MIN_SAMPLE_PERIOD * 2);
- compositeData = queueControl.listMessageCounter();
- info = MessageCounterInfo.from(compositeData);
- assertEquals(0, info.getDepth());
- assertEquals(-2, info.getDepthDelta());
- assertEquals(2, info.getCount());
- assertEquals(0, info.getCountDelta());
-
- session.deleteQueue(queue);
+ Object[] compositeData = queueControl.listMessageCounter();
+
+ fail("Re-enable test");
+
+ //TODO re-enable this
+// assertEquals(0, info.getDepth());
+// assertEquals(0, info.getCount());
+//
+// ClientProducer producer = session.createProducer(address);
+// producer.send(session.createClientMessage(false));
+//
+// Thread.sleep(MessageCounterManagerImpl.MIN_SAMPLE_PERIOD * 2);
+// compositeData = queueControl.listMessageCounter();
+// info = MessageCounterInfo.from(compositeData);
+// assertEquals(1, info.getDepth());
+// assertEquals(1, info.getDepthDelta());
+// assertEquals(1, info.getCount());
+// assertEquals(1, info.getCountDelta());
+//
+// producer.send(session.createClientMessage(false));
+//
+// Thread.sleep(MessageCounterManagerImpl.MIN_SAMPLE_PERIOD * 2);
+// compositeData = queueControl.listMessageCounter();
+// info = MessageCounterInfo.from(compositeData);
+// assertEquals(2, info.getDepth());
+// assertEquals(1, info.getDepthDelta());
+// assertEquals(2, info.getCount());
+// assertEquals(1, info.getCountDelta());
+//
+// consumeMessages(2, session, queue);
+//
+// Thread.sleep(MessageCounterManagerImpl.MIN_SAMPLE_PERIOD * 2);
+// compositeData = queueControl.listMessageCounter();
+// info = MessageCounterInfo.from(compositeData);
+// assertEquals(0, info.getDepth());
+// assertEquals(-2, info.getDepthDelta());
+// assertEquals(2, info.getCount());
+// assertEquals(0, info.getCountDelta());
+//
+// session.deleteQueue(queue);
}
public void testResetMessageCounter() throws Exception
@@ -1031,43 +1031,47 @@
serverControl.enableMessageCounters();
serverControl.setMessageCounterSamplePeriod(MessageCounterManagerImpl.MIN_SAMPLE_PERIOD);
- CompositeData compositeData = queueControl.listMessageCounter();
- MessageCounterInfo info = MessageCounterInfo.from(compositeData);
- assertEquals(0, info.getDepth());
- assertEquals(0, info.getCount());
-
- ClientProducer producer = session.createProducer(address);
- producer.send(session.createClientMessage(false));
-
- Thread.sleep(MessageCounterManagerImpl.MIN_SAMPLE_PERIOD * 2);
- compositeData = queueControl.listMessageCounter();
- info = MessageCounterInfo.from(compositeData);
- assertEquals(1, info.getDepth());
- assertEquals(1, info.getDepthDelta());
- assertEquals(1, info.getCount());
- assertEquals(1, info.getCountDelta());
-
- consumeMessages(1, session, queue);
-
- Thread.sleep(MessageCounterManagerImpl.MIN_SAMPLE_PERIOD * 2);
- compositeData = queueControl.listMessageCounter();
- info = MessageCounterInfo.from(compositeData);
- assertEquals(0, info.getDepth());
- assertEquals(-1, info.getDepthDelta());
- assertEquals(1, info.getCount());
- assertEquals(0, info.getCountDelta());
-
- queueControl.resetMessageCounter();
+ Object[] compositeData = queueControl.listMessageCounter();
- Thread.sleep(MessageCounterManagerImpl.MIN_SAMPLE_PERIOD * 2);
- compositeData = queueControl.listMessageCounter();
- info = MessageCounterInfo.from(compositeData);
- assertEquals(0, info.getDepth());
- assertEquals(0, info.getDepthDelta());
- assertEquals(0, info.getCount());
- assertEquals(0, info.getCountDelta());
+ fail("re-enable test");
- session.deleteQueue(queue);
+ //TODO re-enable
+// MessageCounterInfo info = MessageCounterInfo.from(compositeData);
+// assertEquals(0, info.getDepth());
+// assertEquals(0, info.getCount());
+//
+// ClientProducer producer = session.createProducer(address);
+// producer.send(session.createClientMessage(false));
+//
+// Thread.sleep(MessageCounterManagerImpl.MIN_SAMPLE_PERIOD * 2);
+// compositeData = queueControl.listMessageCounter();
+// info = MessageCounterInfo.from(compositeData);
+// assertEquals(1, info.getDepth());
+// assertEquals(1, info.getDepthDelta());
+// assertEquals(1, info.getCount());
+// assertEquals(1, info.getCountDelta());
+//
+// consumeMessages(1, session, queue);
+//
+// Thread.sleep(MessageCounterManagerImpl.MIN_SAMPLE_PERIOD * 2);
+// compositeData = queueControl.listMessageCounter();
+// info = MessageCounterInfo.from(compositeData);
+// assertEquals(0, info.getDepth());
+// assertEquals(-1, info.getDepthDelta());
+// assertEquals(1, info.getCount());
+// assertEquals(0, info.getCountDelta());
+//
+// queueControl.resetMessageCounter();
+//
+// Thread.sleep(MessageCounterManagerImpl.MIN_SAMPLE_PERIOD * 2);
+// compositeData = queueControl.listMessageCounter();
+// info = MessageCounterInfo.from(compositeData);
+// assertEquals(0, info.getDepth());
+// assertEquals(0, info.getDepthDelta());
+// assertEquals(0, info.getCount());
+// assertEquals(0, info.getCountDelta());
+//
+// session.deleteQueue(queue);
}
public void testListMessageCounterAsHTML() throws Exception
@@ -1097,8 +1101,8 @@
serverControl.enableMessageCounters();
serverControl.setMessageCounterSamplePeriod(counterPeriod);
- TabularData tabularData = queueControl.listMessageCounterHistory();
- assertEquals(1, tabularData.size());
+ Object[] tabularData = queueControl.listMessageCounterHistory();
+ assertEquals(1, tabularData.length);
session.deleteQueue(queue);
}
Deleted: trunk/tests/src/org/jboss/messaging/tests/integration/management/QueueControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/QueueControlUsingCoreTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/QueueControlUsingCoreTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -1,259 +0,0 @@
-/*
- * 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.CompositeData;
-import javax.management.openmbean.TabularData;
-
-import org.jboss.messaging.core.management.QueueControlMBean;
-import org.jboss.messaging.core.management.ResourceNames;
-import org.jboss.messaging.utils.SimpleString;
-
-/**
- * A JMXQueueControlTest
- *
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- *
- *
- */
-public class QueueControlUsingCoreTest extends QueueControlTest
-{
-
- // Constants -----------------------------------------------------
-
- // Attributes ----------------------------------------------------
-
- // Static --------------------------------------------------------
-
- // Constructors --------------------------------------------------
-
- // QueueControlTestBase overrides --------------------------------
-
- @Override
- protected QueueControlMBean createManagementControl(final SimpleString address, final SimpleString queue) throws Exception
- {
-
- return new QueueControlMBean()
- {
-
- private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
- ResourceNames.CORE_QUEUE + queue);
-
- public boolean changeMessagePriority(long messageID, int newPriority) throws Exception
- {
- return (Boolean)proxy.invokeOperation("changeMessagePriority", messageID, newPriority);
- }
-
- public int changeMessagesPriority(String filter, int newPriority) throws Exception
- {
- return (Integer)proxy.invokeOperation("changeMessagePriority", filter, newPriority);
- }
-
- public int countMessages(String filter) throws Exception
- {
- return (Integer)proxy.invokeOperation("countMessages", filter);
- }
-
- public boolean expireMessage(long messageID) throws Exception
- {
- return (Boolean)proxy.invokeOperation("expireMessage", messageID);
- }
-
- public int expireMessages(String filter) throws Exception
- {
- return (Integer)proxy.invokeOperation("expireMessages", filter);
- }
-
- public String getAddress()
- {
- return (String)proxy.retrieveAttributeValue("Address");
- }
-
- public int getConsumerCount()
- {
- return (Integer)proxy.retrieveAttributeValue("ConsumerCount");
- }
-
- public String getDeadLetterAddress()
- {
- return (String)proxy.retrieveAttributeValue("DeadLetterAddress");
- }
-
- public int getDeliveringCount()
- {
- return (Integer)proxy.retrieveAttributeValue("DeliveringCount");
- }
-
- public String getExpiryAddress()
- {
- return (String)proxy.retrieveAttributeValue("ExpiryAddress");
- }
-
- public String getFilter()
- {
- return (String)proxy.retrieveAttributeValue("Filter");
- }
-
- public int getMessageCount()
- {
- return (Integer)proxy.retrieveAttributeValue("MessageCount");
- }
-
- public int getMessagesAdded()
- {
- return (Integer)proxy.retrieveAttributeValue("MessagesAdded");
- }
-
- public String getName()
- {
- return (String)proxy.retrieveAttributeValue("Name");
- }
-
- public long getPersistenceID()
- {
- return (Long)proxy.retrieveAttributeValue("PersistenceID");
- }
-
- public long getScheduledCount()
- {
- return (Long)proxy.retrieveAttributeValue("ScheduledCount");
- }
-
- public boolean isBackup()
- {
- return (Boolean)proxy.retrieveAttributeValue("Backup");
- }
-
- public boolean isDurable()
- {
- return (Boolean)proxy.retrieveAttributeValue("Durable");
- }
-
- public boolean isTemporary()
- {
- return (Boolean)proxy.retrieveAttributeValue("Temporary");
- }
-
- public TabularData listAllMessages() throws Exception
- {
- return (TabularData)proxy.invokeOperation("listAllMessages");
- }
-
- public CompositeData listMessageCounter() throws Exception
- {
- return (CompositeData)proxy.invokeOperation("listMessageCounter");
- }
-
- public void resetMessageCounter() throws Exception
- {
- proxy.invokeOperation("resetMessageCounter");
- }
-
- public String listMessageCounterAsHTML() throws Exception
- {
- return (String)proxy.invokeOperation("listMessageCounterAsHTML");
- }
-
- public TabularData listMessageCounterHistory() throws Exception
- {
- return (TabularData)proxy.invokeOperation("listMessageCounterHistory");
- }
-
- public String listMessageCounterHistoryAsHTML() throws Exception
- {
- return (String)proxy.invokeOperation("listMessageCounterHistoryAsHTML");
- }
-
- public TabularData listMessages(String filter) throws Exception
- {
- return (TabularData)proxy.invokeOperation("listMessages", filter);
- }
-
- public TabularData listScheduledMessages() throws Exception
- {
- return (TabularData)proxy.invokeOperation("listScheduledMessages");
- }
-
- public int moveAllMessages(String otherQueueName) throws Exception
- {
- return (Integer)proxy.invokeOperation("moveAllMessages", otherQueueName);
- }
-
- public int moveMatchingMessages(String filter, String otherQueueName) throws Exception
- {
- return (Integer)proxy.invokeOperation("moveMatchingMessages", filter, otherQueueName);
- }
-
- public boolean moveMessage(long messageID, String otherQueueName) throws Exception
- {
- return (Boolean)proxy.invokeOperation("moveMessage", messageID, otherQueueName);
- }
-
- public int removeAllMessages() throws Exception
- {
- return (Integer)proxy.invokeOperation("removeAllMessages");
- }
-
- public int removeMatchingMessages(String filter) throws Exception
- {
- return (Integer)proxy.invokeOperation("removeMatchingMessages", filter);
- }
-
- public boolean removeMessage(long messageID) throws Exception
- {
- return (Boolean)proxy.invokeOperation("removeMessage", messageID);
- }
-
- public boolean sendMessageToDeadLetterAddress(long messageID) throws Exception
- {
- return (Boolean)proxy.invokeOperation("sendMessageToDeadLetterAddress", messageID);
- }
-
- public int sendMessagesToDeadLetterAddress(String filterStr) throws Exception
- {
- return (Integer)proxy.invokeOperation("sendMessagesToDeadLetterAddress", filterStr);
- }
-
- public void setDeadLetterAddress(String deadLetterAddress) throws Exception
- {
- proxy.invokeOperation("setDeadLetterAddress", deadLetterAddress);
- }
-
- public void setExpiryAddress(String expiryAddres) throws Exception
- {
- proxy.invokeOperation("setExpiryAddress", expiryAddres);
- }
- };
- }
-
- // Public --------------------------------------------------------
-
- // Package protected ---------------------------------------------
-
- // Protected -----------------------------------------------------
-
- // Private -------------------------------------------------------
-
- // Inner classes -------------------------------------------------
-
-}
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/QueueDeployerTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/QueueDeployerTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/QueueDeployerTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -25,8 +25,6 @@
import java.util.ArrayList;
import java.util.List;
-import javax.management.openmbean.TabularData;
-
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.config.cluster.QueueConfiguration;
import org.jboss.messaging.core.deployers.DeploymentManager;
@@ -246,7 +244,7 @@
return 0;
}
- public TabularData getConnectors() throws Exception
+ public Object[] getConnectors() throws Exception
{
// TODO Auto-generated method stub
return null;
@@ -258,7 +256,7 @@
return 0;
}
- public List<String> getInterceptorClassNames()
+ public String[] getInterceptorClassNames()
{
// TODO Auto-generated method stub
return null;
Deleted: trunk/tests/src/org/jboss/messaging/tests/unit/core/management/MessageInfoTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/management/MessageInfoTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/management/MessageInfoTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -1,130 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, 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.unit.core.management;
-
-import static org.jboss.messaging.tests.util.RandomUtil.randomBoolean;
-import static org.jboss.messaging.tests.util.RandomUtil.randomByte;
-import static org.jboss.messaging.tests.util.RandomUtil.randomInt;
-import static org.jboss.messaging.tests.util.RandomUtil.randomLong;
-import static org.jboss.messaging.tests.util.RandomUtil.randomString;
-
-import java.util.Collection;
-
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.TabularData;
-
-import org.jboss.messaging.core.management.MessageInfo;
-import org.jboss.messaging.tests.util.UnitTestCase;
-
-/**
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- *
- * @version <tt>$Revision$</tt>
- *
- */
-public class MessageInfoTest extends UnitTestCase
-{
- // Constants -----------------------------------------------------
-
- // Attributes ----------------------------------------------------
-
- // Static --------------------------------------------------------
-
- private static void assertEquals(MessageInfo expected, CompositeData actual)
- {
- assertTrue(actual.getCompositeType().equals(MessageInfo.TYPE));
-
- assertEquals(expected.getID(), actual.get("id"));
- assertEquals(expected.getDestination(), actual.get("destination"));
- assertEquals(expected.isDurable(), actual.get("durable"));
- assertEquals(expected.getTimestamp(), actual.get("timestamp"));
- assertEquals(expected.getType(), actual.get("type"));
- assertEquals(expected.getSize(), actual.get("size"));
- assertEquals(expected.getPriority(), actual.get("priority"));
- assertEquals(expected.isExpired(), actual.get("expired"));
- assertEquals(expected.getExpiration(), actual.get("expiration"));
-
- TabularData propsDatas = (TabularData) actual.get("properties");
- Collection<CompositeData> props =
- (Collection<CompositeData>) propsDatas.values();
- assertEquals(expected.getProperties().size(), props.size());
- for (CompositeData prop : props)
- {
- String actualKey = (String) prop.get("key");
- String actualValue = (String) prop.get("value");
-
- assertTrue(expected.getProperties().containsKey(actualKey));
- assertEquals(expected.getProperties().get(actualKey), actualValue);
- }
- }
-
- // Constructors --------------------------------------------------
-
- // Public --------------------------------------------------------
-
- public void testToCompositeData() throws Exception
- {
- MessageInfo info = new MessageInfo(randomLong(), randomString(),
- randomBoolean(), randomLong(), randomByte(), randomInt(),
- randomByte(), randomBoolean(), randomLong());
- CompositeData data = info.toCompositeData();
-
- assertEquals(info, data);
- }
-
- public void testToTabularData() throws Exception
- {
- MessageInfo info_1 = new MessageInfo(randomLong(), randomString(),
- randomBoolean(), randomLong(), randomByte(), randomInt(),
- randomByte(), randomBoolean(), randomLong());
- info_1.putProperty(randomString(), randomString());
- info_1.putProperty(randomString(), randomString());
- MessageInfo info_2 = new MessageInfo(randomLong(), randomString(),
- randomBoolean(), randomLong(), randomByte(), randomInt(),
- randomByte(), randomBoolean(), randomLong());
- info_2.putProperty(randomString(), randomString());
- MessageInfo[] messages = new MessageInfo[] { info_1, info_2 };
-
- TabularData data = MessageInfo.toTabularData(messages);
- assertEquals(2, data.size());
- CompositeData data_1 = data.get(new Object[] { info_1.getID() });
- CompositeData data_2 = data.get(new Object[] { info_2.getID() });
-
- assertEquals(info_1, data_1);
- assertEquals(info_2, data_2);
- }
-
- public void testToTabularDataWithEmptyMessages() throws Exception
- {
- TabularData data = MessageInfo.toTabularData(new MessageInfo[0]);
- assertEquals(0, data.size());
- }
-
- // Package protected ---------------------------------------------
-
- // Protected -----------------------------------------------------
-
- // Private -------------------------------------------------------
-
- // Inner classes -------------------------------------------------
-}
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/postoffice/impl/BindingImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/postoffice/impl/BindingImplTest.java 2009-05-05 14:47:58 UTC (rev 6658)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/postoffice/impl/BindingImplTest.java 2009-05-05 15:01:07 UTC (rev 6659)
@@ -23,6 +23,7 @@
package org.jboss.messaging.tests.unit.core.postoffice.impl;
import java.io.InputStream;
+import java.util.Map;
import java.util.Set;
import javax.transaction.xa.Xid;
@@ -266,6 +267,12 @@
class FakeMessage implements ServerMessage
{
+ public Map<String, Object> toMap()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
/* (non-Javadoc)
* @see org.jboss.messaging.core.server.ServerMessage#copy(long)
*/
More information about the jboss-cvs-commits
mailing list