[jboss-cvs] JBoss Messaging SVN: r4802 - in trunk: src/main/org/jboss/messaging/core/management and 11 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Aug 14 09:04:40 EDT 2008
Author: jmesnil
Date: 2008-08-14 09:04:40 -0400 (Thu, 14 Aug 2008)
New Revision: 4802
Removed:
trunk/src/main/org/jboss/messaging/core/management/MessagingServerManagement.java
trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerManagementImpl.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerManagementImplTest.java
Modified:
trunk/src/config/jbm-beans.xml
trunk/src/config/jbm-standalone-beans.xml
trunk/src/main/org/jboss/messaging/core/management/ManagementService.java
trunk/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java
trunk/src/main/org/jboss/messaging/core/management/impl/AddressControl.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/server/MessageReference.java
trunk/src/main/org/jboss/messaging/core/server/MessagingServer.java
trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java
trunk/src/main/org/jboss/messaging/jms/server/JMSServerManager.java
trunk/src/main/org/jboss/messaging/jms/server/impl/JMSServerManagerImpl.java
trunk/src/main/org/jboss/messaging/jms/server/management/JMSManagementService.java
trunk/src/main/org/jboss/messaging/jms/server/management/JMSQueueControlMBean.java
trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.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/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/AddressControlTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/ManagementServiceImplTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerControlTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/server/impl/MessagingServerImplTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSManagementServiceImplTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSQueueControlTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/TopicControlTest.java
Log:
JBMESSAGING-1303: Revisit management interfaces
* tidy up by merging MessagingServerManagement with MessagingServerControlMBean
Modified: trunk/src/config/jbm-beans.xml
===================================================================
--- trunk/src/config/jbm-beans.xml 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/config/jbm-beans.xml 2008-08-14 13:04:40 UTC (rev 4802)
@@ -28,13 +28,6 @@
</property>
</bean>-->
- <bean name="MessagingServerManagement"
- class="org.jboss.messaging.core.management.impl.MessagingServerManagementImpl">
- <constructor factoryMethod="getServerManagement">
- <factory bean="MessagingServer"/>
- </constructor>
- </bean>
-
<bean name="MessagingServer" class="org.jboss.messaging.core.server.impl.MessagingServerImpl">
<property name="storageManager">
<inject bean="StorageManager"/>
@@ -75,6 +68,15 @@
<inject bean="MessagingServer" property="serverManagement"/>
</parameter>
<parameter>
+ <inject bean="MessagingServer" property="postOffice"/>
+ </parameter>
+ <parameter>
+ <inject bean="MessagingServer" property="storageManager"/>
+ </parameter>
+ <parameter>
+ <inject bean="MessagingServer" property="queueSettingsRepository"/>
+ </parameter>
+ <parameter>
<inject bean="JMSManagementService"/>
</parameter>
</constructor>
Modified: trunk/src/config/jbm-standalone-beans.xml
===================================================================
--- trunk/src/config/jbm-standalone-beans.xml 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/config/jbm-standalone-beans.xml 2008-08-14 13:04:40 UTC (rev 4802)
@@ -46,13 +46,6 @@
</property>
</bean>
- <bean name="MessagingServerManagement"
- class="org.jboss.messaging.core.management.impl.MessagingServerManagementImpl">
- <constructor factoryMethod="getServerManagement">
- <factory bean="MessagingServer"/>
- </constructor>
- </bean>
-
<bean name="MessagingServer" class="org.jboss.messaging.core.server.impl.MessagingServerImpl">
<depends>QueueSettingsDeployer</depends>
<property name="storageManager">
@@ -94,6 +87,15 @@
<inject bean="MessagingServer" property="serverManagement"/>
</parameter>
<parameter>
+ <inject bean="MessagingServer" property="postOffice"/>
+ </parameter>
+ <parameter>
+ <inject bean="MessagingServer" property="storageManager"/>
+ </parameter>
+ <parameter>
+ <inject bean="MessagingServer" property="queueSettingsRepository"/>
+ </parameter>
+ <parameter>
<inject bean="JMSManagementService"/>
</parameter>
</constructor>
Modified: trunk/src/main/org/jboss/messaging/core/management/ManagementService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/ManagementService.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/core/management/ManagementService.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -22,8 +22,13 @@
package org.jboss.messaging.core.management;
+import java.util.Set;
+
+import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.persistence.StorageManager;
import org.jboss.messaging.core.postoffice.PostOffice;
+import org.jboss.messaging.core.security.Role;
+import org.jboss.messaging.core.server.MessagingServer;
import org.jboss.messaging.core.server.Queue;
import org.jboss.messaging.core.settings.HierarchicalRepository;
import org.jboss.messaging.core.settings.impl.QueueSettings;
@@ -37,23 +42,22 @@
*/
public interface ManagementService
{
- void setPostOffice(PostOffice postOffice);
+ MessagingServerControlMBean registerServer(PostOffice postOffice, StorageManager storageManager,
+ Configuration configuration,
+ HierarchicalRepository<Set<Role>> securityRepository,
+ HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ MessagingServer messagingServer) throws Exception;
- void setQueueSettingsRepository(
- HierarchicalRepository<QueueSettings> queueSettingsRepository);
-
- void registerServer(MessagingServerManagement server)
- throws Exception;
-
void unregisterServer() throws Exception;
void registerAddress(SimpleString address) throws Exception;
void unregisterAddress(SimpleString address) throws Exception;
- void registerQueue(Queue queue, SimpleString address, StorageManager storageManager)
- throws Exception;
+ void registerQueue(Queue queue, SimpleString address,
+ StorageManager storageManager) throws Exception;
void unregisterQueue(SimpleString name, SimpleString address)
throws Exception;
+
}
Modified: trunk/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -26,6 +26,8 @@
import java.util.List;
+import org.jboss.messaging.core.config.Configuration;
+
/**
* This interface describes the core management interface exposed by the server
*/
@@ -79,6 +81,8 @@
boolean isCreateJournalDir();
+ Configuration getConfiguration();
+
// Operations ----------------------------------------------------
@Operation(desc = "Create a queue with the specified address", impact = ACTION)
Deleted: trunk/src/main/org/jboss/messaging/core/management/MessagingServerManagement.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/MessagingServerManagement.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/core/management/MessagingServerManagement.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -1,150 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * 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.
- *
- * 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 java.util.List;
-import java.util.Set;
-
-import org.jboss.messaging.core.config.Configuration;
-import org.jboss.messaging.core.filter.Filter;
-import org.jboss.messaging.core.security.Role;
-import org.jboss.messaging.core.server.Queue;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
-import org.jboss.messaging.util.SimpleString;
-
-/**
- * This interface describes the core management interface exposed by the server
- *
- * @author <a href="ataylor at redhat.com">Andy Taylor</a>
- * @author <a href="tim.fox at jboss.com">Tim Fox</a>
- * @author <a href="jmesnil at redhat.com">Jeff Mesnil</a>
- */
-public interface MessagingServerManagement
-{
- int getConnectionCount();
-
- /**
- * is the server started
- * @return true if the server is running
- */
- boolean isStarted();
-
- /**
- * creates a queue with the specified address
- * @param address the address
- * @param name the name of the queue
- * @throws Exception if a problem occurred
- */
- void createQueue(SimpleString address, SimpleString name) throws Exception;
-
- /**
- * @param address
- * @param name
- * @param filter
- * @param durable
- * @param temporary
- * @throws Exception
- */
- void createQueue(SimpleString address, SimpleString name, SimpleString filter,
- boolean durable, boolean temporary) throws Exception;
-
- /**
- * destroy a particular queue
- * @param name the name of the queue
- * @throws Exception if a problem occurred
- */
- void destroyQueue(SimpleString name) throws Exception;
-
- /**
- * add an address to the post office
- * @param address the address to add
- * @return true if the address was added
- * @throws Exception if a problem occurred
- */
- boolean addDestination(SimpleString address) throws Exception;
-
- /**
- * remove an address from the post office
- * @param address the address to remove
- * @return true if the address was removed
- * @throws Exception if a problem occurred
- */
- boolean removeDestination(SimpleString address) throws Exception;
-
- /**
- * returns all the queues for a specific address
- * @param address the address
- * @return the queues
- * @throws Exception if a problem occurred
- */
- List<Queue> getQueuesForAddress(SimpleString address) throws Exception;
-
- boolean removeMessageFromQueue(long messageID, SimpleString queueName) throws Exception;
-
- /**
- * remove all the messages for a specific address
- * @param address the address
- * @throws Exception if a problem occurred
- */
- void removeAllMessagesForAddress(SimpleString address) throws Exception;
-
- void setSecurityForAddress(SimpleString address, Set<Role> roles) throws Exception;
-
- void removeSecurityForAddress(SimpleString address) throws Exception;
-
- Set<Role> getSecurityForAddress(SimpleString address) throws Exception;
-
- void setQueueAttributes(SimpleString queueName, QueueSettings settings) throws Exception;
-
- Configuration getConfiguration();
-
- /**
- * @param queueName
- * @return
- * @throws Exception
- */
- Queue getQueue(SimpleString queueName) throws Exception;
-
- /**
- * @return
- */
- String getVersion();
-
- boolean expireMessage(long messageID, SimpleString queueName) throws Exception;
-
-
- int expireMessages(Filter filter,
- SimpleString queueName) throws Exception;
-
- /**
- * @param simpleAddress
- * @return
- */
- QueueSettings getQueueSettings(SimpleString simpleAddress);
-
- int sendMessagesToDLQ(Filter filter,
- SimpleString queueName) throws Exception;
-
- int changeMessagesPriority(Filter filter,
- byte newPriority, SimpleString queueName) throws Exception;
-}
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/AddressControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/AddressControl.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/AddressControl.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -32,11 +32,12 @@
import javax.management.openmbean.TabularData;
import org.jboss.messaging.core.management.AddressControlMBean;
-import org.jboss.messaging.core.management.MessagingServerManagement;
import org.jboss.messaging.core.management.RoleInfo;
+import org.jboss.messaging.core.postoffice.Binding;
+import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.security.CheckType;
import org.jboss.messaging.core.security.Role;
-import org.jboss.messaging.core.server.Queue;
+import org.jboss.messaging.core.settings.HierarchicalRepository;
import org.jboss.messaging.util.SimpleString;
/**
@@ -54,19 +55,22 @@
// Attributes ----------------------------------------------------
private final SimpleString address;
- private MessagingServerManagement server;
+ private final PostOffice postOffice;
+ private final HierarchicalRepository<Set<Role>> securityRepository;
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
public AddressControl(final SimpleString address,
- final MessagingServerManagement server)
+ final PostOffice postOffice,
+ final HierarchicalRepository<Set<Role>> securityRepository)
throws NotCompliantMBeanException
{
super(AddressControlMBean.class);
this.address = address;
- this.server = server;
+ this.postOffice = postOffice;
+ this.securityRepository = securityRepository;
}
// Public --------------------------------------------------------
@@ -82,11 +86,12 @@
{
try
{
- List<Queue> queues = server.getQueuesForAddress(address);
- String[] queueNames = new String[queues.size()];
- for (int i = 0; i < queues.size(); i++)
+ List<Binding> bindings = postOffice.getBindingsForAddress(address);
+ String[] queueNames = new String[bindings.size()];
+ for (int i = 0; i < bindings.size(); i++)
{
- queueNames[i] = queues.get(i).getName().toString();
+ Binding binding = bindings.get(i);
+ queueNames[i] = binding.getQueue().getName().toString();
}
return queueNames;
} catch (Throwable t)
@@ -102,7 +107,7 @@
public RoleInfo[] getRoleInfos() throws Exception
{
- Set<Role> roles = server.getSecurityForAddress(address);
+ Set<Role> roles = securityRepository.getMatch(address.toString());
RoleInfo[] roleInfos = new RoleInfo[roles.size()];
int i = 0;
for (Role role : roles)
@@ -118,19 +123,19 @@
public void addRole(final String name, final boolean create,
final boolean read, final boolean write) throws Exception
{
- Set<Role> roles = server.getSecurityForAddress(address);
+ Set<Role> roles = securityRepository.getMatch(address.toString());
Role newRole = new Role(name, read, write, create);
boolean added = roles.add(newRole);
if (!added)
{
throw new IllegalArgumentException("Role " + name + " already exists");
}
- server.setSecurityForAddress(address, roles);
+ securityRepository.addMatch(address.toString(), roles);
}
public void removeRole(final String role) throws Exception
{
- Set<Role> roles = server.getSecurityForAddress(address);
+ Set<Role> roles = securityRepository.getMatch(address.toString());
Iterator<Role> it = roles.iterator();
boolean removed = false;
while (it.hasNext())
@@ -147,7 +152,7 @@
{
throw new IllegalArgumentException("Role " + role + " does not exist");
}
- server.setSecurityForAddress(address, roles);
+ securityRepository.addMatch(address.toString(), roles);
}
// StandardMBean overrides ---------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -22,16 +22,21 @@
package org.jboss.messaging.core.management.impl;
+import java.util.Set;
+
import javax.management.MBeanServer;
import javax.management.ObjectName;
+import org.jboss.messaging.core.config.Configuration;
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.MessagingServerManagement;
+import org.jboss.messaging.core.management.MessagingServerControlMBean;
import org.jboss.messaging.core.management.QueueControlMBean;
import org.jboss.messaging.core.persistence.StorageManager;
import org.jboss.messaging.core.postoffice.PostOffice;
+import org.jboss.messaging.core.security.Role;
+import org.jboss.messaging.core.server.MessagingServer;
import org.jboss.messaging.core.server.Queue;
import org.jboss.messaging.core.settings.HierarchicalRepository;
import org.jboss.messaging.core.settings.impl.QueueSettings;
@@ -54,10 +59,11 @@
// Attributes ----------------------------------------------------
private final MBeanServer mbeanServer;
- private MessagingServerManagement server;
+ private final boolean jmxManagementEnabled;
+
private PostOffice postOffice;
+ private HierarchicalRepository<Set<Role>> securityRepository;
private HierarchicalRepository<QueueSettings> queueSettingsRepository;
- private boolean jmxManagementEnabled;
// Static --------------------------------------------------------
@@ -94,31 +100,28 @@
// ManagementRegistration implementation -------------------------
- public void setPostOffice(final PostOffice postOffice)
+ public MessagingServerControlMBean registerServer(PostOffice postOffice,
+ StorageManager storageManager, Configuration configuration,
+ HierarchicalRepository<Set<Role>> securityRepository,
+ HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ MessagingServer messagingServer) throws Exception
{
this.postOffice = postOffice;
- }
-
- public void setQueueSettingsRepository(
- final HierarchicalRepository<QueueSettings> queueSettingsRepository)
- {
+ this.securityRepository = securityRepository;
this.queueSettingsRepository = queueSettingsRepository;
- }
-
- public void registerServer(final MessagingServerManagement server)
- throws Exception
- {
+ MessagingServerControlMBean managedServer = new MessagingServerControl(
+ postOffice, storageManager, configuration, securityRepository,
+ queueSettingsRepository, messagingServer);
if (!jmxManagementEnabled)
{
- return;
+ return managedServer;
}
unregisterServer();
ObjectName objectName = getMessagingServerObjectName();
- MessagingServerControl managedServer = new MessagingServerControl(server,
- server.getConfiguration());
mbeanServer.registerMBean(managedServer, objectName);
- this.server = server;
log.info("registered core server under " + objectName);
+ return managedServer;
+
}
public void unregisterServer() throws Exception
@@ -131,7 +134,6 @@
if (mbeanServer.isRegistered(objectName))
{
mbeanServer.unregisterMBean(getMessagingServerObjectName());
- this.server = null;
}
}
@@ -143,7 +145,8 @@
}
unregisterAddress(address);
ObjectName objectName = getAddressObjectName(address);
- AddressControlMBean addressControl = new AddressControl(address, server);
+ AddressControlMBean addressControl = new AddressControl(address,
+ postOffice, securityRepository);
mbeanServer.registerMBean(addressControl, objectName);
if (log.isDebugEnabled())
{
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -23,12 +23,12 @@
package org.jboss.messaging.core.management.impl;
import java.util.List;
+import java.util.Set;
import java.util.concurrent.atomic.AtomicLong;
import javax.management.ListenerNotFoundException;
import javax.management.MBeanInfo;
import javax.management.MBeanNotificationInfo;
-import javax.management.NotCompliantMBeanException;
import javax.management.Notification;
import javax.management.NotificationBroadcasterSupport;
import javax.management.NotificationEmitter;
@@ -37,8 +37,18 @@
import javax.management.StandardMBean;
import org.jboss.messaging.core.config.Configuration;
+import org.jboss.messaging.core.filter.Filter;
+import org.jboss.messaging.core.filter.impl.FilterImpl;
import org.jboss.messaging.core.management.MessagingServerControlMBean;
-import org.jboss.messaging.core.management.MessagingServerManagement;
+import org.jboss.messaging.core.persistence.StorageManager;
+import org.jboss.messaging.core.postoffice.Binding;
+import org.jboss.messaging.core.postoffice.PostOffice;
+import org.jboss.messaging.core.security.Role;
+import org.jboss.messaging.core.server.MessageReference;
+import org.jboss.messaging.core.server.MessagingServer;
+import org.jboss.messaging.core.server.Queue;
+import org.jboss.messaging.core.settings.HierarchicalRepository;
+import org.jboss.messaging.core.settings.impl.QueueSettings;
import org.jboss.messaging.util.SimpleString;
/**
@@ -55,8 +65,12 @@
// Attributes ----------------------------------------------------
- private final MessagingServerManagement server;
+ private final PostOffice postOffice;
+ private final StorageManager storageManager;
private final Configuration configuration;
+ private final HierarchicalRepository<Set<Role>> securityRepository;
+ private final HierarchicalRepository<QueueSettings> queueSettingsRepository;
+ private final MessagingServer server;
private final NotificationBroadcasterSupport broadcaster;
private AtomicLong notifSeq = new AtomicLong(0);
@@ -65,17 +79,107 @@
// Constructors --------------------------------------------------
- public MessagingServerControl(final MessagingServerManagement server,
- final Configuration configuration) throws NotCompliantMBeanException
+ public MessagingServerControl(PostOffice postOffice,
+ StorageManager storageManager, Configuration configuration,
+ HierarchicalRepository<Set<Role>> securityRepository,
+ HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ MessagingServer messagingServer) throws Exception
{
super(MessagingServerControlMBean.class);
- this.server = server;
+ this.postOffice = postOffice;
+ this.storageManager = storageManager;
this.configuration = configuration;
+ this.securityRepository = securityRepository;
+ this.queueSettingsRepository = queueSettingsRepository;
+ this.server = messagingServer;
+
broadcaster = new NotificationBroadcasterSupport();
}
// Public --------------------------------------------------------
+ public void addDestination(SimpleString simpleAddress) throws Exception
+ {
+ postOffice.addDestination(simpleAddress, false);
+ }
+
+ public void removeDestination(SimpleString simpleAddress) throws Exception
+ {
+ postOffice.removeDestination(simpleAddress, false);
+ }
+
+ public Queue getQueue(String address) throws Exception
+ {
+ SimpleString sAddress = new SimpleString(address);
+ Binding binding = postOffice.getBinding(sAddress);
+ if (binding == null)
+ {
+ throw new IllegalArgumentException("No queue with name " + sAddress);
+ }
+
+ return binding.getQueue();
+ }
+
+ public Configuration getConfiguration()
+ {
+ return configuration;
+ }
+
+ public int expireMessages(Filter filter, SimpleString simpleAddress)
+ throws Exception
+ {
+ Binding binding = postOffice.getBinding(simpleAddress);
+ if (binding != null)
+ {
+ Queue queue = binding.getQueue();
+ List<MessageReference> refs = queue.list(filter);
+ for (MessageReference ref : refs)
+ {
+ queue.expireMessage(ref.getMessage().getMessageID(),
+ storageManager, postOffice, queueSettingsRepository);
+ }
+ return refs.size();
+ }
+ return 0;
+ }
+
+ public int sendMessagesToDLQ(Filter filter, SimpleString simpleAddress)
+ throws Exception
+ {
+ Binding binding = postOffice.getBinding(simpleAddress);
+ if (binding != null)
+ {
+ Queue queue = binding.getQueue();
+ List<MessageReference> refs = queue.list(filter);
+ for (MessageReference ref : refs)
+ {
+ queue.sendMessageToDLQ(ref.getMessage().getMessageID(),
+ storageManager, postOffice, queueSettingsRepository);
+ }
+ return refs.size();
+ }
+ return 0;
+ }
+
+ public int changeMessagesPriority(Filter filter, byte newPriority,
+ SimpleString simpleAddress) throws Exception
+ {
+ Binding binding = postOffice.getBinding(simpleAddress);
+ if (binding != null)
+ {
+ Queue queue = binding.getQueue();
+ List<MessageReference> refs = queue.list(filter);
+ for (MessageReference ref : refs)
+ {
+ queue.changeMessagePriority(ref.getMessage().getMessageID(),
+ newPriority, storageManager, postOffice,
+ queueSettingsRepository);
+ }
+ return refs.size();
+ }
+ return 0;
+ }
+
// StandardMBean overrides ---------------------------------------
@Override
@@ -97,7 +201,7 @@
public String getVersion()
{
- return server.getVersion();
+ return server.getVersion().getFullVersion();
}
public String getBindingsDirectory()
@@ -203,19 +307,24 @@
public boolean addAddress(final String address) throws Exception
{
sendNotification(NotificationType.ADDRESS_ADDED, address);
- return server.addDestination(new SimpleString(address));
+ return postOffice.addDestination(new SimpleString(address), false);
}
public void createQueue(final String address, final String name)
throws Exception
{
- server.createQueue(new SimpleString(address), new SimpleString(name));
+ SimpleString sAddress = new SimpleString(address);
+ SimpleString sName = new SimpleString(name);
+ if (postOffice.getBinding(sAddress) == null)
+ {
+ postOffice.addBinding(sAddress, sName, null, true, false);
+ }
sendNotification(NotificationType.ADDRESS_ADDED, address);
sendNotification(NotificationType.QUEUE_CREATED, name);
}
public void createQueue(final String address, final String name,
- final String filter, final boolean durable, final boolean temporary)
+ final String filterStr, final boolean durable, final boolean temporary)
throws Exception
{
if (temporary && durable)
@@ -224,17 +333,36 @@
"A queue can not be both temporary and durable");
}
- SimpleString simpleFilter = (filter == null || filter.length() == 0) ? null
- : new SimpleString(filter);
- server.createQueue(new SimpleString(address), new SimpleString(name),
- simpleFilter, durable, temporary);
+ SimpleString sAddress = new SimpleString(address);
+ SimpleString sName = new SimpleString(name);
+ SimpleString sFilter = (filterStr == null || filterStr.length() == 0) ? null
+ : new SimpleString(filterStr);
+ Filter filter = null;
+ if (sFilter != null)
+ {
+ filter = new FilterImpl(sFilter);
+ }
+ if (postOffice.getBinding(sAddress) == null)
+ {
+ postOffice.addBinding(sAddress, sName, filter, durable, temporary);
+ }
sendNotification(NotificationType.ADDRESS_ADDED, address);
sendNotification(NotificationType.QUEUE_CREATED, name);
}
public void destroyQueue(final String name) throws Exception
{
- server.destroyQueue(new SimpleString(name));
+ SimpleString sName = new SimpleString(name);
+ Binding binding = postOffice.getBinding(sName);
+
+ if (binding != null)
+ {
+ Queue queue = binding.getQueue();
+
+ queue.deleteAllReferences(storageManager);
+
+ postOffice.removeBinding(queue.getName());
+ }
sendNotification(NotificationType.QUEUE_DESTROYED, name);
}
@@ -246,7 +374,7 @@
public boolean removeAddress(final String address) throws Exception
{
sendNotification(NotificationType.ADDRESS_REMOVED, address);
- return server.removeDestination(new SimpleString(address));
+ return postOffice.removeDestination(new SimpleString(address), false);
}
// NotificationEmitter implementation ----------------------------
Deleted: trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerManagementImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerManagementImpl.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerManagementImpl.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -1,315 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * 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.
- *
- * 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.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import org.jboss.messaging.core.config.Configuration;
-import org.jboss.messaging.core.filter.Filter;
-import org.jboss.messaging.core.filter.impl.FilterImpl;
-import org.jboss.messaging.core.management.MessagingServerManagement;
-import org.jboss.messaging.core.persistence.StorageManager;
-import org.jboss.messaging.core.postoffice.Binding;
-import org.jboss.messaging.core.postoffice.PostOffice;
-import org.jboss.messaging.core.security.Role;
-import org.jboss.messaging.core.server.MessageReference;
-import org.jboss.messaging.core.server.MessagingServer;
-import org.jboss.messaging.core.server.Queue;
-import org.jboss.messaging.core.settings.HierarchicalRepository;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
-import org.jboss.messaging.util.SimpleString;
-
-/**
- * This interface describes the properties and operations that comprise the
- * management interface of the Messaging Server. <p/> It includes operations to
- * create and destroy queues and provides various statistics measures such as
- * message count for queues and topics.
- *
- * @author <a href="mailto:ataylor at redhat.com>Andy Taylor</a>
- * @author <a href="jmesnil at redhat.com">Jeff Mesnil</a>
- */
-public class MessagingServerManagementImpl implements MessagingServerManagement
-{
-
- // Constants -----------------------------------------------------
-
- // Attributes ----------------------------------------------------
-
- private final PostOffice postOffice;
-
- private final StorageManager storageManager;
-
- private final Configuration configuration;
-
- private final MessagingServer server;
-
- private HierarchicalRepository<Set<Role>> securityRepository;
-
- private HierarchicalRepository<QueueSettings> queueSettingsRepository;
-
- public MessagingServerManagementImpl(final PostOffice postOffice, final StorageManager storageManager,
- final Configuration configuration,
- final HierarchicalRepository<Set<Role>> securityRepository,
- final HierarchicalRepository<QueueSettings> queueSettingsRepository,
- final MessagingServer server)
- {
- this.postOffice = postOffice;
-
- this.storageManager = storageManager;
-
- this.configuration = configuration;
-
- this.server = server;
-
- this.securityRepository = securityRepository;
-
- this.queueSettingsRepository = queueSettingsRepository;
- }
-
- // MessagingServerManagement implementation ----------------------
-
- public boolean isStarted()
- {
- return server.isStarted();
- }
-
- public String getVersion()
- {
- return server.getVersion().getFullVersion();
- }
-
- public void createQueue(final SimpleString address, final SimpleString name)
- throws Exception
- {
- if (postOffice.getBinding(name) == null)
- {
- postOffice.addBinding(address, name, null, true, false);
- }
- }
-
- public void createQueue(final SimpleString address, final SimpleString name,
- final SimpleString filterStr, final boolean durable,
- final boolean temporary) throws Exception
- {
- if (postOffice.getBinding(name) == null)
- {
- Filter filter = null;
- if (filterStr != null)
- {
- filter = new FilterImpl(filterStr);
- }
- postOffice.addBinding(address, name, filter, durable, temporary);
- }
- }
-
- public int getConnectionCount()
- {
- return server.getConnectionCount();
- }
-
- public void destroyQueue(final SimpleString queueName) throws Exception
- {
- Binding binding = postOffice.getBinding(queueName);
-
- if (binding != null)
- {
- Queue queue = binding.getQueue();
-
- queue.deleteAllReferences(storageManager);
-
- postOffice.removeBinding(queue.getName());
- }
- }
-
- public boolean addDestination(final SimpleString address) throws Exception
- {
- return postOffice.addDestination(address, false);
- }
-
- public boolean removeDestination(final SimpleString address)
- throws Exception
- {
- return postOffice.removeDestination(address, false);
- }
-
- public void removeAllMessagesForAddress(final SimpleString address)
- throws Exception
- {
- List<Binding> bindings = postOffice.getBindingsForAddress(address);
-
- for (Binding binding : bindings)
- {
- Queue queue = binding.getQueue();
-
- queue.deleteAllReferences(storageManager);
- }
- }
-
- public boolean removeMessageFromQueue(final long messageID,
- SimpleString queueName) throws Exception
- {
- Binding binding = postOffice.getBinding(queueName);
- if (binding != null)
- {
- Queue queue = binding.getQueue();
- return queue.deleteReference(messageID, storageManager);
- }
- return false;
- }
-
- public boolean expireMessage(final long messageID, final SimpleString queueName)
- throws Exception
- {
- Binding binding = postOffice.getBinding(queueName);
- if (binding != null)
- {
- Queue queue = binding.getQueue();
- return queue.expireMessage(messageID, storageManager, postOffice,
- queueSettingsRepository);
- }
- return false;
- }
-
- public int expireMessages(final Filter filter,
- final SimpleString queueName) throws Exception
- {
- Binding binding = postOffice.getBinding(queueName);
- if (binding != null)
- {
- Queue queue = binding.getQueue();
- List<MessageReference> refs = queue.list(filter);
- for (MessageReference ref : refs)
- {
- queue.expireMessage(ref.getMessage().getMessageID(),
- storageManager, postOffice, queueSettingsRepository);
- }
- return refs.size();
- }
- return 0;
- }
-
- public int sendMessagesToDLQ(final Filter filter,
- final SimpleString queueName) throws Exception
- {
- Binding binding = postOffice.getBinding(queueName);
- if (binding != null)
- {
- Queue queue = binding.getQueue();
- List<MessageReference> refs = queue.list(filter);
- for (MessageReference ref : refs)
- {
- queue.sendMessageToDLQ(ref.getMessage().getMessageID(),
- storageManager, postOffice, queueSettingsRepository);
- }
- return refs.size();
- }
- return 0;
- }
-
- public int changeMessagesPriority(final Filter filter,
- final byte newPriority, final SimpleString queueName) throws Exception
- {
- Binding binding = postOffice.getBinding(queueName);
- if (binding != null)
- {
- Queue queue = binding.getQueue();
- List<MessageReference> refs = queue.list(filter);
- for (MessageReference ref : refs)
- {
- queue.changeMessagePriority(ref.getMessage().getMessageID(),
- newPriority, storageManager, postOffice,
- queueSettingsRepository);
- }
- return refs.size();
- }
- return 0;
- }
-
- public QueueSettings getQueueSettings(final SimpleString simpleAddress)
- {
- return queueSettingsRepository.getMatch(simpleAddress.toString());
- }
-
- public List<Queue> getQueuesForAddress(final SimpleString address)
- throws Exception
- {
- List<Queue> queues = new ArrayList<Queue>();
- List<Binding> bindings = postOffice.getBindingsForAddress(address);
-
- for (Binding binding : bindings)
- {
- Queue queue = binding.getQueue();
- queues.add(queue);
- }
- return queues;
- }
-
- public void setSecurityForAddress(final SimpleString address, final Set<Role> roles)
- throws Exception
- {
- this.securityRepository.addMatch(address.toString(), roles);
- }
-
- public void removeSecurityForAddress(final SimpleString address) throws Exception
- {
- this.securityRepository.removeMatch(address.toString());
- }
-
- public Set<Role> getSecurityForAddress(final SimpleString address)
- throws Exception
- {
- return this.securityRepository.getMatch(address.toString());
- }
-
- public void setQueueAttributes(final SimpleString queueName,
- final QueueSettings settings) throws Exception
- {
- this.queueSettingsRepository.addMatch(queueName.toString(), settings);
- }
-
- public Configuration getConfiguration()
- {
- return configuration;
- }
-
- public Queue getQueue(final SimpleString queueName) throws Exception
- {
- Binding binding = postOffice.getBinding(queueName);
- if (binding == null)
- {
- throw new IllegalArgumentException("No queue with name " + queueName);
- }
-
- return binding.getQueue();
- }
-
- // Package protected ---------------------------------------------
-
- // Protected -----------------------------------------------------
-
- // Private -------------------------------------------------------
-
- // Inner classes -------------------------------------------------
-}
Modified: trunk/src/main/org/jboss/messaging/core/server/MessageReference.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/MessageReference.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/core/server/MessageReference.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -70,7 +70,7 @@
HierarchicalRepository<QueueSettings> queueSettingsRepository) throws Exception;
void expire(StorageManager persistenceManager, PostOffice postOffice,
- HierarchicalRepository<QueueSettings> queueSettingsRepository) throws Exception;
+ HierarchicalRepository<QueueSettings> queueSettingsRepository) throws Exception;
void move(Binding otherBinding, StorageManager persistenceManager, PostOffice postOffice) throws Exception;
Modified: trunk/src/main/org/jboss/messaging/core/server/MessagingServer.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/MessagingServer.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/core/server/MessagingServer.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -26,8 +26,9 @@
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.management.ManagementService;
-import org.jboss.messaging.core.management.MessagingServerManagement;
+import org.jboss.messaging.core.management.MessagingServerControlMBean;
import org.jboss.messaging.core.persistence.StorageManager;
+import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.remoting.RemotingConnection;
import org.jboss.messaging.core.remoting.RemotingService;
import org.jboss.messaging.core.remoting.impl.wireformat.CreateConnectionResponse;
@@ -79,11 +80,13 @@
boolean isStarted();
- MessagingServerManagement getServerManagement();
+ MessagingServerControlMBean getServerManagement();
HierarchicalRepository<Set<Role>> getSecurityRepository();
HierarchicalRepository<QueueSettings> getQueueSettingsRepository();
int getConnectionCount();
+
+ PostOffice getPostOffice();
}
Modified: trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -32,8 +32,7 @@
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.management.ManagementService;
-import org.jboss.messaging.core.management.MessagingServerManagement;
-import org.jboss.messaging.core.management.impl.MessagingServerManagementImpl;
+import org.jboss.messaging.core.management.MessagingServerControlMBean;
import org.jboss.messaging.core.persistence.StorageManager;
import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.postoffice.impl.PostOfficeImpl;
@@ -93,7 +92,7 @@
private HierarchicalRepository<Set<Role>> securityRepository;
private ResourceManager resourceManager;
private MessagingServerPacketHandler serverPacketHandler;
- private MessagingServerManagement serverManagement;
+ private MessagingServerControlMBean serverManagement;
private PacketDispatcher dispatcher;
// plugins
@@ -170,11 +169,9 @@
securityStore = new SecurityStoreImpl(configuration.getSecurityInvalidationInterval(), configuration.isSecurityEnabled());
queueSettingsRepository.setDefault(new QueueSettings());
- managementService.setQueueSettingsRepository(queueSettingsRepository);
scheduledExecutor = new ScheduledThreadPoolExecutor(configuration.getScheduledThreadPoolMaxSize(), new JBMThreadFactory("JBM-scheduled-threads"));
queueFactory = new QueueFactoryImpl(scheduledExecutor, queueSettingsRepository);
postOffice = new PostOfficeImpl(storageManager, queueFactory, managementService, configuration.isRequireDestinations());
- managementService.setPostOffice(postOffice);
securityRepository = new HierarchicalObjectRepository<Set<Role>>();
securityRepository.setDefault(new HashSet<Role>());
@@ -182,10 +179,9 @@
securityStore.setSecurityManager(securityManager);
resourceManager = new ResourceManagerImpl(0);
dispatcher = remotingService.getDispatcher();
- serverManagement = new MessagingServerManagementImpl(postOffice, storageManager, configuration,
- securityRepository,
- queueSettingsRepository, this);
- managementService.registerServer(serverManagement);
+ serverManagement = managementService.registerServer(postOffice, storageManager, configuration,
+ securityRepository,
+ queueSettingsRepository, this);
postOffice.start();
serverPacketHandler = new MessagingServerPacketHandler(this, remotingService);
@@ -349,7 +345,7 @@
return new CreateConnectionResponse(connection.getID(), version);
}
- public MessagingServerManagement getServerManagement()
+ public MessagingServerControlMBean getServerManagement()
{
return serverManagement;
}
@@ -358,6 +354,11 @@
{
return this.remotingService.getConnections().size();
}
+
+ public PostOffice getPostOffice()
+ {
+ return postOffice;
+ }
// Public ---------------------------------------------------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/jms/server/JMSServerManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/JMSServerManager.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/jms/server/JMSServerManager.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -24,10 +24,6 @@
import java.util.List;
-import org.jboss.messaging.core.filter.Filter;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
-import org.jboss.messaging.jms.JBossDestination;
-
/**
* The JMS Management interface.
*
@@ -169,27 +165,4 @@
*/
boolean destroyConnectionFactory(String name) throws Exception;
- /**
- * removes all messages from a particular destination
- *
- * @param queue
- * the destination
- * @throws Exception
- * if a problem occurred
- */
- void removeAllMessages(JBossDestination destination) throws Exception;
-
- boolean removeMessage(long messageID, JBossDestination destination)
- throws Exception;
-
- int expireMessages(Filter filter, JBossDestination destination)
- throws Exception;
-
- public QueueSettings getSettings(JBossDestination destination);
-
- int sendMessagesToDLQ(Filter filter, JBossDestination destination)
- throws Exception;
-
- int changeMessagesPriority(Filter filter, byte newPriority,
- JBossDestination destination) throws Exception;
}
Modified: trunk/src/main/org/jboss/messaging/jms/server/impl/JMSServerManagerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/impl/JMSServerManagerImpl.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/jms/server/impl/JMSServerManagerImpl.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -31,11 +31,13 @@
import javax.naming.InitialContext;
import javax.naming.NamingException;
-import org.jboss.messaging.core.filter.Filter;
import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.management.MessagingServerManagement;
+import org.jboss.messaging.core.management.MessagingServerControlMBean;
+import org.jboss.messaging.core.persistence.StorageManager;
+import org.jboss.messaging.core.postoffice.Binding;
+import org.jboss.messaging.core.postoffice.PostOffice;
+import org.jboss.messaging.core.settings.HierarchicalRepository;
import org.jboss.messaging.core.settings.impl.QueueSettings;
-import org.jboss.messaging.jms.JBossDestination;
import org.jboss.messaging.jms.JBossQueue;
import org.jboss.messaging.jms.JBossTopic;
import org.jboss.messaging.jms.client.JBossConnectionFactory;
@@ -66,13 +68,25 @@
private final Map<String, List<String>> connectionFactoryBindings = new HashMap<String, List<String>>();
- private final MessagingServerManagement messagingServerManagement;
+ private final MessagingServerControlMBean messagingServer;
- private JMSManagementService managementService;
+ private final PostOffice postOffice;
- public JMSServerManagerImpl(final MessagingServerManagement serverManager, final JMSManagementService managementService)
+ private final StorageManager storageManager;
+
+ private final HierarchicalRepository<QueueSettings> queueSettingsRepository;
+
+ private final JMSManagementService managementService;
+
+ public JMSServerManagerImpl(final MessagingServerControlMBean server,
+ final PostOffice postOffice, final StorageManager storageManager,
+ final HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ final JMSManagementService managementService)
{
- messagingServerManagement = serverManager;
+ this.messagingServer = server;
+ this.postOffice = postOffice;
+ this.storageManager = storageManager;
+ this.queueSettingsRepository = queueSettingsRepository;
this.managementService = managementService;
}
@@ -92,29 +106,28 @@
public boolean isStarted()
{
- return messagingServerManagement.isStarted();
+ return messagingServer.isStarted();
}
public String getVersion()
{
- return messagingServerManagement.getVersion();
+ return messagingServer.getVersion();
}
public boolean createQueue(final String queueName, final String jndiBinding)
throws Exception
{
JBossQueue jBossQueue = new JBossQueue(queueName);
- messagingServerManagement.addDestination(jBossQueue.getSimpleAddress());
- messagingServerManagement.createQueue(jBossQueue.getSimpleAddress(),
- jBossQueue.getSimpleAddress());
+ postOffice.addDestination(jBossQueue.getSimpleAddress(), false);
+ messagingServer.createQueue(jBossQueue.getAddress(), jBossQueue.getAddress());
boolean added = bindToJndi(jndiBinding, jBossQueue);
if (added)
{
addToDestinationBindings(queueName, jndiBinding);
}
- managementService.registerQueue(jBossQueue,
- messagingServerManagement.getQueue(jBossQueue.getSimpleAddress()),
- jndiBinding, this);
+ Binding binding = postOffice.getBinding(jBossQueue.getSimpleAddress());
+ managementService.registerQueue(jBossQueue, binding.getQueue(),
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
return added;
}
@@ -122,14 +135,14 @@
throws Exception
{
JBossTopic jBossTopic = new JBossTopic(topicName);
- messagingServerManagement.addDestination(jBossTopic.getSimpleAddress());
+ postOffice.addDestination(jBossTopic.getSimpleAddress(), false);
boolean added = bindToJndi(jndiBinding, jBossTopic);
if (added)
{
addToDestinationBindings(topicName, jndiBinding);
}
- managementService.registerTopic(jBossTopic,
- messagingServerManagement, jndiBinding);
+ managementService.registerTopic(jBossTopic, jndiBinding, postOffice,
+ storageManager);
return added;
}
@@ -146,10 +159,10 @@
}
destinations.remove(name);
managementService.unregisterQueue(name);
- messagingServerManagement.removeDestination(JBossQueue
- .createAddressFromName(name));
- messagingServerManagement.destroyQueue(JBossQueue
- .createAddressFromName(name));
+ postOffice.removeDestination(JBossQueue.createAddressFromName(name),
+ false);
+ messagingServer.destroyQueue(JBossQueue.createAddressFromName(name)
+ .toString());
return true;
}
@@ -167,18 +180,12 @@
}
destinations.remove(name);
managementService.unregisterTopic(name);
- messagingServerManagement.removeDestination(JBossTopic
- .createAddressFromName(name));
+ postOffice.removeDestination(JBossTopic.createAddressFromName(name),
+ false);
return true;
}
- public QueueSettings getSettings(final JBossDestination destination)
- {
- return messagingServerManagement.getQueueSettings(destination
- .getSimpleAddress());
- }
-
public boolean createConnectionFactory(final String name,
final String clientID, final int dupsOKBatchSize,
final int consumerWindowSize, final int consumerMaxRate,
@@ -192,11 +199,11 @@
if (cf == null)
{
cf = new JBossConnectionFactory(clientID, dupsOKBatchSize,
- messagingServerManagement.getConfiguration().getLocation(),
- messagingServerManagement.getConfiguration()
- .getConnectionParams(), consumerWindowSize,
- consumerMaxRate, producerWindowSize, producerMaxRate,
- blockOnAcknowledge, defaultSendNonPersistentMessagesBlocking,
+ messagingServer.getConfiguration().getLocation(),
+ messagingServer.getConfiguration().getConnectionParams(),
+ consumerWindowSize, consumerMaxRate, producerWindowSize,
+ producerMaxRate, blockOnAcknowledge,
+ defaultSendNonPersistentMessagesBlocking,
defaultSendPersistentMessagesBlocking);
connectionFactories.put(name, cf);
}
@@ -230,11 +237,11 @@
if (cf == null)
{
cf = new JBossConnectionFactory(clientID, dupsOKBatchSize,
- messagingServerManagement.getConfiguration().getLocation(),
- messagingServerManagement.getConfiguration()
- .getConnectionParams(), consumerWindowSize,
- consumerMaxRate, producerWindowSize, producerMaxRate,
- blockOnAcknowledge, defaultSendNonPersistentMessagesBlocking,
+ messagingServer.getConfiguration().getLocation(),
+ messagingServer.getConfiguration().getConnectionParams(),
+ consumerWindowSize, consumerMaxRate, producerWindowSize,
+ producerMaxRate, blockOnAcknowledge,
+ defaultSendNonPersistentMessagesBlocking,
defaultSendPersistentMessagesBlocking);
}
for (String jndiBinding : jndiBindings)
@@ -271,42 +278,6 @@
return true;
}
- public void removeAllMessages(final JBossDestination destination)
- throws Exception
- {
- messagingServerManagement.removeAllMessagesForAddress(destination
- .getSimpleAddress());
- }
-
- public boolean removeMessage(final long messageID,
- final JBossDestination destination) throws Exception
- {
- return messagingServerManagement.removeMessageFromQueue(messageID,
- destination.getSimpleAddress());
- }
-
- public int expireMessages(final Filter filter,
- final JBossDestination destination) throws Exception
- {
- return messagingServerManagement.expireMessages(filter, destination
- .getSimpleAddress());
- }
-
- public int sendMessagesToDLQ(final Filter filter,
- final JBossDestination destination) throws Exception
- {
- return messagingServerManagement.sendMessagesToDLQ(filter, destination
- .getSimpleAddress());
- }
-
- public int changeMessagesPriority(final Filter filter,
- final byte newPriority, final JBossDestination destination)
- throws Exception
- {
- return messagingServerManagement.changeMessagesPriority(filter,
- newPriority, destination.getSimpleAddress());
- }
-
// Public --------------------------------------------------------
public void setInitialContext(final InitialContext initialContext)
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/JMSManagementService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/JMSManagementService.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/JMSManagementService.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -18,14 +18,17 @@
* 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 java.util.List;
-import org.jboss.messaging.core.management.MessagingServerManagement;
+import org.jboss.messaging.core.persistence.StorageManager;
+import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.server.Queue;
+import org.jboss.messaging.core.settings.HierarchicalRepository;
+import org.jboss.messaging.core.settings.impl.QueueSettings;
import org.jboss.messaging.jms.JBossQueue;
import org.jboss.messaging.jms.JBossTopic;
import org.jboss.messaging.jms.client.JBossConnectionFactory;
@@ -33,25 +36,31 @@
/**
* @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- *
+ *
* @version <tt>$Revision$</tt>
- *
+ *
*/
public interface JMSManagementService
{
void registerJMSServer(JMSServerManager server) throws Exception;
-
+
void unregisterJMSServer() throws Exception;
- void registerQueue(JBossQueue queue, Queue coreQueue, String jndiBinding, JMSServerManager server) throws Exception;
+ void registerQueue(JBossQueue queue, Queue coreQueue, String jndiBinding,
+ PostOffice postOffice, StorageManager storageManager,
+ HierarchicalRepository<QueueSettings> queueSettingsRepository)
+ throws Exception;
void unregisterQueue(String name) throws Exception;
- void registerTopic(JBossTopic topic, MessagingServerManagement serverManagement, String jndiBinding) throws Exception;
+ void registerTopic(JBossTopic topic, String jndiBinding,
+ PostOffice postOffice, StorageManager storageManager) throws Exception;
void unregisterTopic(String name) throws Exception;
- void registerConnectionFactory(String name, JBossConnectionFactory connectionFactory, List<String> bindings) throws Exception;
+ void registerConnectionFactory(String name,
+ JBossConnectionFactory connectionFactory, List<String> bindings)
+ throws Exception;
void unregisterConnectionFactory(String name) throws Exception;
}
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/JMSQueueControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/JMSQueueControlMBean.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/JMSQueueControlMBean.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -95,7 +95,7 @@
throws Exception;
@Operation(desc = "Send the message corresponding to the given messageID to the queue's Dead Letter Queue", impact = ACTION)
- boolean sendMessageTDLQ(
+ boolean sendMessageToDLQ(
@Parameter(name = "messageID", desc = "A message ID") String messageID)
throws Exception;
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -27,9 +27,12 @@
import javax.management.MBeanServer;
import javax.management.ObjectName;
-import org.jboss.messaging.core.management.MessagingServerManagement;
import org.jboss.messaging.core.management.impl.ManagementServiceImpl;
+import org.jboss.messaging.core.persistence.StorageManager;
+import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.server.Queue;
+import org.jboss.messaging.core.settings.HierarchicalRepository;
+import org.jboss.messaging.core.settings.impl.QueueSettings;
import org.jboss.messaging.jms.JBossQueue;
import org.jboss.messaging.jms.JBossTopic;
import org.jboss.messaging.jms.client.JBossConnectionFactory;
@@ -116,7 +119,9 @@
}
public void registerQueue(final JBossQueue queue, final Queue coreQueue,
- final String jndiBinding, final JMSServerManager server)
+ final String jndiBinding, final PostOffice postOffice,
+ final StorageManager storageManager,
+ HierarchicalRepository<QueueSettings> queueSettingsRepository)
throws Exception
{
if (!jmxManagementEnabled)
@@ -126,7 +131,8 @@
ObjectName objectName = getJMSQueueObjectName(queue.getQueueName());
unregisterQueue(queue.getQueueName());
mbeanServer.registerMBean(new JMSQueueControl(queue, coreQueue,
- jndiBinding, server), objectName);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository),
+ objectName);
}
public void unregisterQueue(final String name) throws Exception
@@ -142,9 +148,9 @@
}
}
- public void registerTopic(final JBossTopic topic,
- final MessagingServerManagement serverManagement,
- final String jndiBinding) throws Exception
+ public void registerTopic(final JBossTopic topic, final String jndiBinding,
+ final PostOffice postOffice, final StorageManager storageManager)
+ throws Exception
{
if (!jmxManagementEnabled)
{
@@ -152,8 +158,8 @@
}
ObjectName objectName = getJMSTopicObjectName(topic.getTopicName());
unregisterTopic(topic.getTopicName());
- mbeanServer.registerMBean(new TopicControl(topic, serverManagement,
- jndiBinding), objectName);
+ mbeanServer.registerMBean(new TopicControl(topic, jndiBinding,
+ postOffice, storageManager), objectName);
}
public void unregisterTopic(final String name) 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 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSQueueControl.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -34,15 +34,18 @@
import org.jboss.messaging.core.filter.Filter;
import org.jboss.messaging.core.filter.impl.FilterImpl;
import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
+import org.jboss.messaging.core.persistence.StorageManager;
+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.QueueSettings;
import org.jboss.messaging.jms.JBossDestination;
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.JMSServerManager;
import org.jboss.messaging.jms.server.management.JMSMessageInfo;
import org.jboss.messaging.jms.server.management.JMSQueueControlMBean;
import org.jboss.messaging.util.SimpleString;
@@ -63,7 +66,9 @@
private final JBossQueue managedQueue;
private Queue coreQueue;
private final String binding;
- private JMSServerManager server;
+ private final PostOffice postOffice;
+ private final StorageManager storageManager;
+ private final HierarchicalRepository<QueueSettings> queueSettingsRepository;
// Static --------------------------------------------------------
@@ -77,14 +82,18 @@
// Constructors --------------------------------------------------
public JMSQueueControl(final JBossQueue queue, final Queue coreQueue,
- final String jndiBinding, final JMSServerManager server)
+ final String jndiBinding, final PostOffice postOffice,
+ final StorageManager storageManager,
+ HierarchicalRepository<QueueSettings> queueSettingsRepository)
throws NotCompliantMBeanException
{
super(JMSQueueControlMBean.class);
this.managedQueue = queue;
this.coreQueue = coreQueue;
this.binding = jndiBinding;
- this.server = server;
+ this.postOffice = postOffice;
+ this.storageManager = storageManager;
+ this.queueSettingsRepository = queueSettingsRepository;
}
// Public --------------------------------------------------------
@@ -120,37 +129,37 @@
{
return coreQueue.getConsumerCount();
}
-
+
public int getDeliveringCount()
{
return coreQueue.getDeliveringCount();
}
-
+
public int getMaxSizeBytes()
{
return coreQueue.getMaxSizeBytes();
}
-
+
public long getScheduledCount()
{
return coreQueue.getScheduledCount();
}
-
+
public long getSizeBytes()
{
return coreQueue.getSizeBytes();
}
-
+
public boolean isClustered()
{
return coreQueue.isClustered();
}
-
+
public boolean isDurable()
{
return coreQueue.isDurable();
}
-
+
public String getJNDIBinding()
{
return binding;
@@ -158,10 +167,10 @@
public String getDLQ()
{
- QueueSettings settings = server.getSettings(managedQueue);
- if (settings != null && settings.getDLQ() != null)
+ QueueSettings queueSettings = queueSettingsRepository.getMatch(getName());
+ if (queueSettings != null && queueSettings.getDLQ() != null)
{
- return JBossDestination.fromAddress(settings.getDLQ().toString())
+ return JBossDestination.fromAddress(queueSettings.getDLQ().toString())
.getName();
} else
{
@@ -171,11 +180,11 @@
public String getExpiryQueue()
{
- QueueSettings settings = server.getSettings(managedQueue);
- if (settings != null && settings.getExpiryQueue() != null)
+ QueueSettings queueSettings = queueSettingsRepository.getMatch(getName());
+ if (queueSettings != null && queueSettings.getExpiryQueue() != null)
{
return JBossDestination.fromAddress(
- settings.getExpiryQueue().toString()).getName();
+ queueSettings.getExpiryQueue().toString()).getName();
} else
{
return null;
@@ -191,13 +200,13 @@
throw new IllegalArgumentException(
"No message found for JMSMessageID: " + messageID);
}
- return server.removeMessage(refs.get(0).getMessage().getMessageID(),
- managedQueue);
+ return coreQueue.deleteReference(refs.get(0).getMessage().getMessageID(),
+ storageManager);
}
public void removeAllMessages() throws Exception
{
- server.removeAllMessages(managedQueue);
+ coreQueue.deleteAllReferences(storageManager);
}
public TabularData listAllMessages() throws Exception
@@ -238,7 +247,8 @@
throw new IllegalArgumentException(
"No message found for JMSMessageID: " + messageID);
}
- return server.expireMessages(filter, managedQueue) == 1;
+ return coreQueue.expireMessage(refs.get(0).getMessage().getMessageID(),
+ storageManager, postOffice, queueSettingsRepository);
}
public int expireMessages(final String filterStr) throws Exception
@@ -248,14 +258,21 @@
Filter filter = filterStr == null ? null : new FilterImpl(
new SimpleString(SelectorTranslator
.convertToJBMFilterString(filterStr)));
- return server.expireMessages(filter, managedQueue);
+
+ List<MessageReference> refs = coreQueue.list(filter);
+ for (MessageReference ref : refs)
+ {
+ coreQueue.expireMessage(ref.getMessage().getMessageID(),
+ storageManager, postOffice, queueSettingsRepository);
+ }
+ return refs.size();
} catch (MessagingException e)
{
throw new IllegalStateException(e.getMessage());
}
}
- public boolean sendMessageTDLQ(final String messageID) throws Exception
+ public boolean sendMessageToDLQ(final String messageID) throws Exception
{
Filter filter = createFilterForJMSMessageID(messageID);
List<MessageReference> refs = coreQueue.list(filter);
@@ -264,7 +281,9 @@
throw new IllegalArgumentException(
"No message found for JMSMessageID: " + messageID);
}
- return server.sendMessagesToDLQ(filter, managedQueue) == 1;
+ return coreQueue.sendMessageToDLQ(
+ refs.get(0).getMessage().getMessageID(), storageManager,
+ postOffice, queueSettingsRepository);
}
public boolean changeMessagePriority(final String messageID,
@@ -282,8 +301,9 @@
throw new IllegalArgumentException(
"No message found for JMSMessageID: " + messageID);
}
- return server.changeMessagesPriority(filter, (byte) newPriority,
- managedQueue) == 1;
+ return coreQueue.changeMessagePriority(refs.get(0).getMessage()
+ .getMessageID(), (byte) newPriority, storageManager, postOffice,
+ queueSettingsRepository);
}
// StandardMBean overrides ---------------------------------------
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 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/impl/TopicControl.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -31,10 +31,12 @@
import javax.management.StandardMBean;
import javax.management.openmbean.TabularData;
-import org.jboss.messaging.core.management.MessagingServerManagement;
import org.jboss.messaging.core.management.Operation;
import org.jboss.messaging.core.management.Parameter;
import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
+import org.jboss.messaging.core.persistence.StorageManager;
+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;
@@ -58,21 +60,23 @@
// Attributes ----------------------------------------------------
private final JBossTopic managedTopic;
- private final MessagingServerManagement server;
private final String binding;
+ private final PostOffice postOffice;
+ private final StorageManager storageManager;
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
- public TopicControl(final JBossTopic topic,
- final MessagingServerManagement server, final String jndiBinding)
+ public TopicControl(final JBossTopic topic, final String jndiBinding,
+ final PostOffice postOffice, final StorageManager storageManager)
throws NotCompliantMBeanException
{
super(TopicControlMBean.class);
this.managedTopic = topic;
- this.server = server;
this.binding = jndiBinding;
+ this.postOffice = postOffice;
+ this.storageManager = storageManager;
}
// Public --------------------------------------------------------
@@ -180,7 +184,13 @@
public TabularData listMessagesForSubscriber(final String subscriberID)
throws Exception
{
- Queue queue = server.getQueue(new SimpleString(subscriberID));
+ SimpleString sAddress = new SimpleString(subscriberID);
+ Binding binding = postOffice.getBinding(sAddress);
+ if (binding == null)
+ {
+ throw new IllegalArgumentException("No queue with name " + sAddress);
+ }
+ Queue queue = binding.getQueue();
List<MessageReference> messageRefs = queue.list(null);
List<JMSMessageInfo> infos = new ArrayList<JMSMessageInfo>(messageRefs
.size());
@@ -196,7 +206,14 @@
public void removeAllMessages() throws Exception
{
- server.removeAllMessagesForAddress(managedTopic.getSimpleAddress());
+ List<Binding> bindings = postOffice.getBindingsForAddress(managedTopic
+ .getSimpleAddress());
+
+ for (Binding binding : bindings)
+ {
+ Queue queue = binding.getQueue();
+ queue.deleteAllReferences(storageManager);
+ }
}
// Package protected ---------------------------------------------
@@ -250,11 +267,13 @@
{
try
{
- List<Queue> queues = server.getQueuesForAddress(managedTopic
+ List<Binding> bindings = postOffice.getBindingsForAddress(managedTopic
.getSimpleAddress());
List<Queue> matchingQueues = new ArrayList<Queue>();
- for (Queue queue : queues)
+
+ for (Binding binding : bindings)
{
+ Queue queue = binding.getQueue();
if (durability == DurabilityType.ALL
|| (durability == DurabilityType.DURABLE && queue.isDurable())
|| (durability == DurabilityType.NON_DURABLE && !queue
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 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -43,6 +43,7 @@
import org.jboss.kernel.spi.deployment.KernelDeployment;
import org.jboss.messaging.core.logging.Logger;
+import org.jboss.messaging.core.postoffice.Binding;
import org.jboss.messaging.core.security.Role;
import org.jboss.messaging.core.server.MessagingServer;
import org.jboss.messaging.core.settings.impl.QueueSettings;
@@ -537,14 +538,14 @@
public void configureSecurityForDestination(String destName, boolean isQueue, Set<Role> roles) throws Exception
{
- SimpleString destination = new SimpleString((isQueue ? "queuejms." : "topicjms.") + destName);
+ String destination = (isQueue ? "queuejms." : "topicjms.") + destName;
if (roles != null)
{
- getMessagingServer().getServerManagement().setSecurityForAddress(destination, roles);
+ getMessagingServer().getSecurityRepository().addMatch(destination, roles);
}
else
{
- getMessagingServer().getServerManagement().removeSecurityForAddress(destination);
+ getMessagingServer().getSecurityRepository().removeMatch(destination);
}
}
@@ -646,7 +647,11 @@
public void removeAllMessages(JBossDestination destination) throws Exception
{
- getJMSServerManager().removeAllMessages(destination);
+ Binding binding = getMessagingServer().getPostOffice().getBinding(destination.getSimpleAddress());
+ if (binding != null)
+ {
+ binding.getQueue().deleteAllReferences(getMessagingServer().getStorageManager());
+ }
}
public List<SubscriberInfo> listAllSubscribersForTopic(String s) throws Exception
@@ -660,13 +665,13 @@
public Set<Role> getSecurityConfig() throws Exception
{
- return getMessagingServer().getServerManagement().getSecurityForAddress(new SimpleString("*"));
+ return getMessagingServer().getSecurityRepository().getMatch("*");
}
public void setSecurityConfig(Set<Role> defConfig) throws Exception
{
- getMessagingServer().getServerManagement().removeSecurityForAddress(new SimpleString("*"));
- getMessagingServer().getServerManagement().setSecurityForAddress(new SimpleString("*"), defConfig);
+ getMessagingServer().getSecurityRepository().removeMatch("*");
+ getMessagingServer().getSecurityRepository().addMatch("*", defConfig);
}
public void setRedeliveryDelayOnDestination(String dest, boolean queue, long delay) throws Exception
@@ -674,7 +679,8 @@
SimpleString condition = new SimpleString((queue ? "queuejms." : "topicjms.") + dest);
QueueSettings queueSettings = new QueueSettings();
queueSettings.setRedeliveryDelay(delay);
- getMessagingServer().getServerManagement().setQueueAttributes(condition, queueSettings);
+ //FIXME we need to expose queue attributes in another way
+// getMessagingServer().getServerManagement().setQueueAttributes(condition, queueSettings);
}
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/AddressControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/AddressControlTest.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/AddressControlTest.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -42,12 +42,14 @@
import junit.framework.TestCase;
-import org.jboss.messaging.core.management.MessagingServerManagement;
import org.jboss.messaging.core.management.RoleInfo;
import org.jboss.messaging.core.management.impl.AddressControl;
+import org.jboss.messaging.core.postoffice.Binding;
+import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.security.CheckType;
import org.jboss.messaging.core.security.Role;
import org.jboss.messaging.core.server.Queue;
+import org.jboss.messaging.core.settings.HierarchicalRepository;
import org.jboss.messaging.util.SimpleString;
/**
@@ -89,44 +91,55 @@
public void testGetAddress() throws Exception
{
SimpleString address = randomSimpleString();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ HierarchicalRepository<Set<Role>> securityRepository = createMock(HierarchicalRepository.class);
+ replay(postOffice, securityRepository);
- replay(server);
-
- AddressControl control = new AddressControl(address, server);
+ AddressControl control = new AddressControl(address, postOffice,
+ securityRepository);
assertEquals(address.toString(), control.getAddress());
- verify(server);
+ verify(postOffice, securityRepository);
}
public void testGetQueueNames() throws Exception
{
SimpleString address = randomSimpleString();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- List<Queue> queues = new ArrayList<Queue>();
+ PostOffice postOffice = createMock(PostOffice.class);
+ HierarchicalRepository<Set<Role>> securityRepository = createMock(HierarchicalRepository.class);
+ List<Binding> bindings = new ArrayList<Binding>();
Queue queue_1 = createMock(Queue.class);
expect(queue_1.getName()).andStubReturn(randomSimpleString());
+ Binding binding_1 = createMock(Binding.class);
+ expect(binding_1.getQueue()).andReturn(queue_1);
Queue queue_2 = createMock(Queue.class);
expect(queue_2.getName()).andStubReturn(randomSimpleString());
- queues.add(queue_1);
- queues.add(queue_2);
- expect(server.getQueuesForAddress(address)).andReturn(queues);
+ Binding binding_2 = createMock(Binding.class);
+ expect(binding_2.getQueue()).andReturn(queue_2);
+ bindings.add(binding_1);
+ bindings.add(binding_2);
+ expect(postOffice.getBindingsForAddress(address)).andReturn(bindings);
- replay(server, queue_1, queue_2);
+ replay(binding_1, queue_1, binding_2, queue_2);
+ replay(postOffice, securityRepository);
- AddressControl control = new AddressControl(address, server);
+ AddressControl control = new AddressControl(address, postOffice,
+ securityRepository);
String[] queueNames = control.getQueueNames();
assertEquals(2, queueNames.length);
assertEquals(queue_1.getName().toString(), queueNames[0]);
assertEquals(queue_2.getName().toString(), queueNames[1]);
- verify(server, queue_1, queue_2);
+ verify(binding_1, queue_1, binding_2, queue_2);
+ verify(postOffice, securityRepository);
}
public void testGetRoleInfos() throws Exception
{
SimpleString address = randomSimpleString();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ HierarchicalRepository<Set<Role>> securityRepository = createMock(HierarchicalRepository.class);
+
Set<Role> roles = new HashSet<Role>();
Role role_1 = new Role(randomString(), randomBoolean(), randomBoolean(),
randomBoolean());
@@ -134,11 +147,12 @@
randomBoolean());
roles.add(role_1);
roles.add(role_2);
- expect(server.getSecurityForAddress(address)).andReturn(roles);
+ expect(securityRepository.getMatch(address.toString())).andReturn(roles);
- replay(server);
+ replay(postOffice, securityRepository);
- AddressControl control = new AddressControl(address, server);
+ AddressControl control = new AddressControl(address, postOffice,
+ securityRepository);
RoleInfo[] infos = control.getRoleInfos();
assertEquals(2, infos.length);
if (infos[0].getName().equals(role_1.getName()))
@@ -151,13 +165,15 @@
assertRoleEquals(role_1, infos[1]);
}
- verify(server);
+ verify(postOffice, securityRepository);
}
public void testGetRoles() throws Exception
{
SimpleString address = randomSimpleString();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ HierarchicalRepository<Set<Role>> securityRepository = createMock(HierarchicalRepository.class);
+
Set<Role> roles = new HashSet<Role>();
Role role_1 = new Role(randomString(), randomBoolean(), randomBoolean(),
randomBoolean());
@@ -165,11 +181,12 @@
randomBoolean());
roles.add(role_1);
roles.add(role_2);
- expect(server.getSecurityForAddress(address)).andReturn(roles);
+ expect(securityRepository.getMatch(address.toString())).andReturn(roles);
- replay(server);
+ replay(postOffice, securityRepository);
- AddressControl control = new AddressControl(address, server);
+ AddressControl control = new AddressControl(address, postOffice,
+ securityRepository);
TabularData data = control.getRoles();
assertEquals(2, data.size());
CompositeData roleData_1 = data.get(new Object[] { role_1.getName() });
@@ -177,38 +194,44 @@
assertRoleEquals(role_1, roleData_1);
assertRoleEquals(role_2, roleData_2);
- verify(server);
+ verify(postOffice, securityRepository);
}
public void testAddRole() throws Exception
{
SimpleString address = randomSimpleString();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- expect(server.getSecurityForAddress(address)).andReturn(
+ PostOffice postOffice = createMock(PostOffice.class);
+ HierarchicalRepository<Set<Role>> securityRepository = createMock(HierarchicalRepository.class);
+
+ expect(securityRepository.getMatch(address.toString())).andReturn(
new HashSet<Role>());
- server.setSecurityForAddress(eq(address), isA(Set.class));
- replay(server);
+ securityRepository.addMatch(eq(address.toString()), isA(Set.class));
+ replay(postOffice, securityRepository);
- AddressControl control = new AddressControl(address, server);
+ AddressControl control = new AddressControl(address, postOffice,
+ securityRepository);
control.addRole(randomString(), randomBoolean(), randomBoolean(),
randomBoolean());
- verify(server);
+ verify(postOffice, securityRepository);
}
public void testAddRoleWhichAlreadExists() throws Exception
{
SimpleString address = randomSimpleString();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ HierarchicalRepository<Set<Role>> securityRepository = createMock(HierarchicalRepository.class);
+
Set<Role> roles = new HashSet<Role>();
Role role = new Role(randomString(), randomBoolean(), randomBoolean(),
randomBoolean());
roles.add(role);
- expect(server.getSecurityForAddress(address)).andReturn(roles);
+ expect(securityRepository.getMatch(address.toString())).andReturn(roles);
- replay(server);
+ replay(postOffice, securityRepository);
- AddressControl control = new AddressControl(address, server);
+ AddressControl control = new AddressControl(address, postOffice,
+ securityRepository);
try
{
control.addRole(role.getName(), role.isCheckType(CheckType.CREATE),
@@ -219,36 +242,42 @@
{
}
- verify(server);
+ verify(postOffice, securityRepository);
}
public void testRemoveRole() throws Exception
{
SimpleString address = randomSimpleString();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ HierarchicalRepository<Set<Role>> securityRepository = createMock(HierarchicalRepository.class);
+
Set<Role> roles = new HashSet<Role>();
Role role = new Role(randomString(), randomBoolean(), randomBoolean(),
randomBoolean());
roles.add(role);
- expect(server.getSecurityForAddress(address)).andReturn(roles);
- server.setSecurityForAddress(eq(address), isA(Set.class));
- replay(server);
+ expect(securityRepository.getMatch(address.toString())).andReturn(roles);
+ securityRepository.addMatch(eq(address.toString()), isA(Set.class));
+ replay(postOffice, securityRepository);
- AddressControl control = new AddressControl(address, server);
+ AddressControl control = new AddressControl(address, postOffice,
+ securityRepository);
control.removeRole(role.getName());
- verify(server);
+ verify(postOffice, securityRepository);
}
public void testRemoveRoleFromEmptySet() throws Exception
{
SimpleString address = randomSimpleString();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- expect(server.getSecurityForAddress(address)).andReturn(
+ PostOffice postOffice = createMock(PostOffice.class);
+ HierarchicalRepository<Set<Role>> securityRepository = createMock(HierarchicalRepository.class);
+
+ expect(securityRepository.getMatch(address.toString())).andReturn(
new HashSet<Role>());
- replay(server);
+ replay(postOffice, securityRepository);
- AddressControl control = new AddressControl(address, server);
+ AddressControl control = new AddressControl(address, postOffice,
+ securityRepository);
try
{
control.removeRole(randomString());
@@ -257,7 +286,7 @@
{
}
- verify(server);
+ verify(postOffice, securityRepository);
}
// Package protected ---------------------------------------------
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/ManagementServiceImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/ManagementServiceImplTest.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/ManagementServiceImplTest.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -30,6 +30,8 @@
import static org.easymock.EasyMock.verify;
import static org.jboss.messaging.tests.util.RandomUtil.randomSimpleString;
+import java.util.Set;
+
import javax.management.MBeanServer;
import javax.management.ObjectInstance;
import javax.management.ObjectName;
@@ -40,14 +42,18 @@
import org.jboss.messaging.core.management.AddressControlMBean;
import org.jboss.messaging.core.management.ManagementService;
import org.jboss.messaging.core.management.MessagingServerControlMBean;
-import org.jboss.messaging.core.management.MessagingServerManagement;
import org.jboss.messaging.core.management.QueueControlMBean;
import org.jboss.messaging.core.management.impl.AddressControl;
import org.jboss.messaging.core.management.impl.ManagementServiceImpl;
import org.jboss.messaging.core.management.impl.MessagingServerControl;
import org.jboss.messaging.core.management.impl.QueueControl;
import org.jboss.messaging.core.persistence.StorageManager;
+import org.jboss.messaging.core.postoffice.PostOffice;
+import org.jboss.messaging.core.security.Role;
+import org.jboss.messaging.core.server.MessagingServer;
import org.jboss.messaging.core.server.Queue;
+import org.jboss.messaging.core.settings.HierarchicalRepository;
+import org.jboss.messaging.core.settings.impl.QueueSettings;
import org.jboss.messaging.util.SimpleString;
/**
@@ -75,21 +81,24 @@
ObjectInstance objectInstance = new ObjectInstance(objectName,
MessagingServerControl.class.getName());
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ Configuration configuration = createMock(Configuration.class);
+ HierarchicalRepository<Set<Role>> securityRepository = createMock(HierarchicalRepository.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ MessagingServer messagingServer = createMock(MessagingServer.class);
MBeanServer mbeanServer = createMock(MBeanServer.class);
- Configuration configuration = createMock(Configuration.class);
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- expect(server.getConfiguration()).andReturn(configuration);
expect(mbeanServer.isRegistered(objectName)).andReturn(false);
expect(
- mbeanServer.registerMBean(isA(MessagingServerControlMBean.class),
+ mbeanServer.registerMBean(isA(MessagingServerControl.class),
eq(objectName))).andReturn(objectInstance);
- replay(mbeanServer, server);
+ replay(mbeanServer, postOffice, storageManager, configuration, securityRepository, queueSettingsRepository, messagingServer);
ManagementService service = new ManagementServiceImpl(mbeanServer, true);
- service.registerServer(server);
+ service.registerServer(postOffice, storageManager, configuration, securityRepository, queueSettingsRepository, messagingServer);
- verify(mbeanServer, server);
+ verify(mbeanServer, postOffice, storageManager, configuration, securityRepository, queueSettingsRepository, messagingServer);
}
public void testRegisterAlreadyRegisteredMessagingServer() throws Exception
@@ -99,22 +108,25 @@
ObjectInstance objectInstance = new ObjectInstance(objectName,
MessagingServerControl.class.getName());
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ Configuration configuration = createMock(Configuration.class);
+ HierarchicalRepository<Set<Role>> securityRepository = createMock(HierarchicalRepository.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ MessagingServer messagingServer = createMock(MessagingServer.class);
MBeanServer mbeanServer = createMock(MBeanServer.class);
- Configuration configuration = createMock(Configuration.class);
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- expect(server.getConfiguration()).andReturn(configuration);
expect(mbeanServer.isRegistered(objectName)).andReturn(true);
mbeanServer.unregisterMBean(objectName);
expect(
mbeanServer.registerMBean(isA(MessagingServerControlMBean.class),
eq(objectName))).andReturn(objectInstance);
- replay(mbeanServer, server);
+ replay(mbeanServer, postOffice, storageManager, configuration, securityRepository, queueSettingsRepository, messagingServer);
ManagementService service = new ManagementServiceImpl(mbeanServer, true);
- service.registerServer(server);
+ service.registerServer(postOffice, storageManager, configuration, securityRepository, queueSettingsRepository, messagingServer);
- verify(mbeanServer, server);
+ verify(mbeanServer, postOffice, storageManager, configuration, securityRepository, queueSettingsRepository, messagingServer);
}
public void testUnregisterMessagingServer() throws Exception
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerControlTest.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerControlTest.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -24,7 +24,9 @@
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.eq;
import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.isA;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.verify;
import static org.jboss.messaging.tests.util.RandomUtil.randomBoolean;
@@ -35,6 +37,7 @@
import java.lang.management.ManagementFactory;
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
import java.util.concurrent.CountDownLatch;
import javax.management.MBeanServer;
@@ -47,12 +50,21 @@
import org.jboss.messaging.core.client.Location;
import org.jboss.messaging.core.client.impl.LocationImpl;
import org.jboss.messaging.core.config.Configuration;
-import org.jboss.messaging.core.management.MessagingServerManagement;
+import org.jboss.messaging.core.filter.Filter;
import org.jboss.messaging.core.management.impl.ManagementServiceImpl;
import org.jboss.messaging.core.management.impl.MessagingServerControl;
import org.jboss.messaging.core.management.impl.MessagingServerControl.NotificationType;
+import org.jboss.messaging.core.persistence.StorageManager;
+import org.jboss.messaging.core.postoffice.Binding;
+import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.remoting.TransportType;
+import org.jboss.messaging.core.security.Role;
import org.jboss.messaging.core.server.JournalType;
+import org.jboss.messaging.core.server.MessagingServer;
+import org.jboss.messaging.core.server.Queue;
+import org.jboss.messaging.core.settings.HierarchicalRepository;
+import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.version.Version;
import org.jboss.messaging.util.SimpleString;
/**
@@ -67,6 +79,12 @@
{
private MBeanServer mbeanServer;
private ObjectName serverON;
+ private PostOffice postOffice;
+ private StorageManager storageManager;
+ private Configuration configuration;
+ private HierarchicalRepository<Set<Role>> securityRepository;
+ private HierarchicalRepository<QueueSettings> queueSettingsRepository;
+ private MessagingServer server;
// Constants -----------------------------------------------------
@@ -93,48 +111,49 @@
{
boolean started = randomBoolean();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
expect(server.isStarted()).andStubReturn(started);
- Configuration configuration = createMock(Configuration.class);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(started, control.isStarted());
- verify(server, configuration);
+ verifyMocks();
}
public void testGetVersion() throws Exception
{
- String version = randomString();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ String fullVersion = randomString();
+ Version version = createMock(Version.class);
+ expect(version.getFullVersion()).andReturn(fullVersion);
expect(server.getVersion()).andStubReturn(version);
- Configuration configuration = createMock(Configuration.class);
- replay(server, configuration);
+ replayMocks();
+ replay(version);
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
- assertEquals(version, control.getVersion());
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
+ assertEquals(fullVersion, control.getVersion());
- verify(server, configuration);
+ verify(version);
+ verifyMocks();
}
public void testGetBindingsDirectory() throws Exception
{
String dir = randomString();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.getBindingsDirectory()).andReturn(dir);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(dir, control.getBindingsDirectory());
- verify(server, configuration);
+ verifyMocks();
}
public void testGetInterceptorClassNames() throws Exception
@@ -142,308 +161,289 @@
List<String> list = new ArrayList<String>();
list.add(randomString());
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.getInterceptorClassNames()).andReturn(list);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(list, control.getInterceptorClassNames());
- verify(server, configuration);
+ verifyMocks();
}
public void testGetJournalDirectory() throws Exception
{
String dir = randomString();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.getJournalDirectory()).andReturn(dir);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(dir, control.getJournalDirectory());
- verify(server, configuration);
+ verifyMocks();
}
public void testGetJournalFileSize() throws Exception
{
int size = randomInt();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.getJournalFileSize()).andReturn(size);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(size, control.getJournalFileSize());
- verify(server, configuration);
+ verifyMocks();
}
public void testGetJournalMaxAIO() throws Exception
{
int max = randomInt();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.getJournalMaxAIO()).andReturn(max);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(max, control.getJournalMaxAIO());
- verify(server, configuration);
+ verifyMocks();
}
public void testGetJournalMinFiles() throws Exception
{
int minFiles = randomInt();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.getJournalMinFiles()).andReturn(minFiles);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(minFiles, control.getJournalMinFiles());
- verify(server, configuration);
+ verifyMocks();
}
public void testGetJournalType() throws Exception
{
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.getJournalType()).andReturn(JournalType.ASYNCIO);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(JournalType.ASYNCIO.toString(), control.getJournalType());
- verify(server, configuration);
+ verifyMocks();
}
public void testGetKeyStorePath() throws Exception
{
String path = randomString();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.getKeyStorePath()).andReturn(path);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(path, control.getKeyStorePath());
- verify(server, configuration);
+ verifyMocks();
}
public void testGetLocation() throws Exception
{
Location location = new LocationImpl(TransportType.TCP, "localhost");
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.getLocation()).andReturn(location);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(location.toString(), control.getLocation());
- verify(server, configuration);
+ verifyMocks();
}
public void testGetScheduledThreadPoolMaxSize() throws Exception
{
int size = randomInt();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.getScheduledThreadPoolMaxSize()).andReturn(size);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(size, control.getScheduledThreadPoolMaxSize());
- verify(server, configuration);
+ verifyMocks();
}
public void testGetSecurityInvalidationInterval() throws Exception
{
long interval = randomLong();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.getSecurityInvalidationInterval()).andReturn(
interval);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(interval, control.getSecurityInvalidationInterval());
- verify(server, configuration);
+ verifyMocks();
}
public void testGetTrustStorePath() throws Exception
{
String path = randomString();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.getTrustStorePath()).andReturn(path);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(path, control.getTrustStorePath());
- verify(server, configuration);
+ verifyMocks();
}
public void testIsClustered() throws Exception
{
boolean clustered = randomBoolean();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.isClustered()).andReturn(clustered);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(clustered, control.isClustered());
- verify(server, configuration);
+ verifyMocks();
}
public void testIsCreateBindingsDir() throws Exception
{
boolean createBindingsDir = randomBoolean();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.isCreateBindingsDir()).andReturn(createBindingsDir);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(createBindingsDir, control.isCreateBindingsDir());
- verify(server, configuration);
+ verifyMocks();
}
public void testIsCreateJournalDir() throws Exception
{
boolean createJournalDir = randomBoolean();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.isCreateJournalDir()).andReturn(createJournalDir);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(createJournalDir, control.isCreateJournalDir());
- verify(server, configuration);
+ verifyMocks();
}
public void testIsJournalSyncNonTransactional() throws Exception
{
boolean journalSyncNonTransactional = randomBoolean();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.isJournalSyncNonTransactional()).andReturn(
journalSyncNonTransactional);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(journalSyncNonTransactional, control
.isJournalSyncNonTransactional());
- verify(server, configuration);
+ verifyMocks();
}
public void testIsJournalSyncTransactional() throws Exception
{
boolean journalSyncTransactional = randomBoolean();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.isJournalSyncTransactional()).andReturn(
journalSyncTransactional);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(journalSyncTransactional, control
.isJournalSyncTransactional());
- verify(server, configuration);
+ verifyMocks();
}
public void testIsRequireDestinations() throws Exception
{
boolean requireDestinations = randomBoolean();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.isRequireDestinations()).andReturn(
requireDestinations);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(requireDestinations, control.isRequireDestinations());
- verify(server, configuration);
+ verifyMocks();
}
public void testIsSSLEnabled() throws Exception
{
boolean sslEnabled = randomBoolean();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.isSSLEnabled()).andReturn(sslEnabled);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(sslEnabled, control.isSSLEnabled());
- verify(server, configuration);
+ verifyMocks();
}
public void testIsSecurityEnabled() throws Exception
{
boolean securityEnabled = randomBoolean();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(configuration.isSecurityEnabled()).andReturn(securityEnabled);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(securityEnabled, control.isSecurityEnabled());
- verify(server, configuration);
+ verifyMocks();
}
public void testAddDestination() throws Exception
@@ -451,13 +451,13 @@
String address = randomString();
boolean added = randomBoolean();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- expect(server.addDestination(new SimpleString(address))).andReturn(added);
- Configuration configuration = createMock(Configuration.class);
- replay(server, configuration);
+ expect(postOffice.addDestination(new SimpleString(address), false))
+ .andReturn(added);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
mbeanServer.registerMBean(control, serverON);
final CountDownLatch latch = new CountDownLatch(1);
@@ -471,11 +471,9 @@
MessagingServerControl.NotificationType.ADDRESS_ADDED, listener,
latch);
- verify(server, configuration);
+ verifyMocks();
mbeanServer.removeNotificationListener(serverON, listener);
-
- verify(server, configuration);
}
public void testRemoveAddress() throws Exception
@@ -483,14 +481,13 @@
String address = randomString();
boolean removed = randomBoolean();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- expect(server.removeDestination(new SimpleString(address))).andReturn(
- removed);
- Configuration configuration = createMock(Configuration.class);
- replay(server, configuration);
+ expect(postOffice.removeDestination(new SimpleString(address), false))
+ .andReturn(removed);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
mbeanServer.registerMBean(control, serverON);
final CountDownLatch latch = new CountDownLatch(1);
@@ -504,7 +501,7 @@
MessagingServerControl.NotificationType.ADDRESS_REMOVED, listener,
latch);
- verify(server, configuration);
+ verifyMocks();
mbeanServer.removeNotificationListener(serverON, listener);
}
@@ -514,16 +511,21 @@
String address = randomString();
String name = randomString();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
- server.createQueue(new SimpleString(address), new SimpleString(name));
- replay(server, configuration);
+ expect(postOffice.getBinding(new SimpleString(address))).andReturn(null);
+ Binding newBinding = createMock(Binding.class);
+ expect(
+ postOffice.addBinding(new SimpleString(address), new SimpleString(
+ name), null, true, false)).andReturn(newBinding);
+ replayMocks();
+ replay(newBinding);
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
control.createQueue(address, name);
- verify(server, configuration);
+ verifyMocks();
+ verify(newBinding);
}
public void testCreateQueueAndReceiveNotification() throws Exception
@@ -531,13 +533,17 @@
String address = randomString();
String name = randomString();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
- server.createQueue(new SimpleString(address), new SimpleString(name));
- replay(server, configuration);
+ expect(postOffice.getBinding(new SimpleString(address))).andReturn(null);
+ Binding newBinding = createMock(Binding.class);
+ expect(
+ postOffice.addBinding(new SimpleString(address), new SimpleString(
+ name), null, true, false)).andReturn(newBinding);
+ replayMocks();
+ replay(newBinding);
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
mbeanServer.registerMBean(control, serverON);
final CountDownLatch latch = new CountDownLatch(1);
@@ -551,9 +557,10 @@
MessagingServerControl.NotificationType.QUEUE_CREATED, listener,
latch);
- verify(server, configuration);
+ mbeanServer.removeNotificationListener(serverON, listener);
- mbeanServer.removeNotificationListener(serverON, listener);
+ verify(newBinding);
+ verifyMocks();
}
public void testCreateQueueWithAllParameters() throws Exception
@@ -564,17 +571,22 @@
boolean durable = true;
boolean temporary = false;
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
- server.createQueue(new SimpleString(address), new SimpleString(name),
- new SimpleString(filter), durable, temporary);
- replay(server, configuration);
+ expect(postOffice.getBinding(new SimpleString(address))).andReturn(null);
+ Binding newBinding = createMock(Binding.class);
+ expect(
+ postOffice.addBinding(eq(new SimpleString(address)),
+ eq(new SimpleString(name)), isA(Filter.class), eq(durable),
+ eq(temporary))).andReturn(newBinding);
+ replayMocks();
+ replay(newBinding);
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
control.createQueue(address, name, filter, durable, temporary);
- verify(server, configuration);
+ verify(newBinding);
+ verifyMocks();
}
public void testCreateQueueWithEmptyFilter() throws Exception
@@ -585,17 +597,21 @@
boolean durable = true;
boolean temporary = false;
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
- server.createQueue(new SimpleString(address), new SimpleString(name),
- null, durable, temporary);
- replay(server, configuration);
+ expect(postOffice.getBinding(new SimpleString(address))).andReturn(null);
+ Binding newBinding = createMock(Binding.class);
+ expect(
+ postOffice.addBinding(new SimpleString(address), new SimpleString(
+ name), null, durable, temporary)).andReturn(newBinding);
+ replay(newBinding);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
control.createQueue(address, name, filter, durable, temporary);
- verify(server, configuration);
+ verify(newBinding);
+ verifyMocks();
}
public void testCreateQueueWithNullFilter() throws Exception
@@ -606,17 +622,21 @@
boolean durable = true;
boolean temporary = false;
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
- server.createQueue(new SimpleString(address), new SimpleString(name),
- null, durable, temporary);
- replay(server, configuration);
+ expect(postOffice.getBinding(new SimpleString(address))).andReturn(null);
+ Binding newBinding = createMock(Binding.class);
+ expect(
+ postOffice.addBinding(new SimpleString(address), new SimpleString(
+ name), null, durable, temporary)).andReturn(newBinding);
+ replay(newBinding);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
control.createQueue(address, name, filter, durable, temporary);
- verify(server, configuration);
+ verify(newBinding);
+ verifyMocks();
}
public void testCreateQueueWithBothDurableAndTemporarySetToTrueFails()
@@ -627,12 +647,11 @@
boolean durable = true;
boolean temporary = true;
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
try
{
control.createQueue(address, name, null, durable, temporary);
@@ -641,20 +660,27 @@
{
}
- verify(server, configuration);
+ verifyMocks();
}
public void testDestroyQueueAndReceiveNotification() throws Exception
{
String name = randomString();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
- server.destroyQueue(new SimpleString(name));
- replay(server, configuration);
+ Binding binding = createMock(Binding.class);
+ Queue queue = createMock(Queue.class);
+ expect(queue.getName()).andReturn(new SimpleString(name));
+ expect(binding.getQueue()).andReturn(queue);
+ expect(postOffice.getBinding(new SimpleString(name))).andReturn(binding);
+ queue.deleteAllReferences(storageManager);
+ expect(postOffice.removeBinding(new SimpleString(name))).andReturn(
+ binding);
+ replayMocks();
+ replay(binding, queue);
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
mbeanServer.registerMBean(control, serverON);
final CountDownLatch latch = new CountDownLatch(1);
@@ -668,7 +694,8 @@
MessagingServerControl.NotificationType.QUEUE_DESTROYED, listener,
latch);
- verify(server, configuration);
+ verify(binding, queue);
+ verifyMocks();
mbeanServer.removeNotificationListener(serverON, listener);
}
@@ -677,16 +704,15 @@
{
int count = randomInt();
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- Configuration configuration = createMock(Configuration.class);
expect(server.getConnectionCount()).andReturn(count);
- replay(server, configuration);
+ replayMocks();
- MessagingServerControl control = new MessagingServerControl(server,
- configuration);
+ MessagingServerControl control = new MessagingServerControl(postOffice,
+ storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
assertEquals(count, control.getConnectionCount());
- verify(server, configuration);
+ verifyMocks();
}
// Package protected ---------------------------------------------
@@ -700,6 +726,13 @@
mbeanServer = ManagementFactory.getPlatformMBeanServer();
serverON = ManagementServiceImpl.getMessagingServerObjectName();
+
+ postOffice = createMock(PostOffice.class);
+ storageManager = createMock(StorageManager.class);
+ configuration = createMock(Configuration.class);
+ securityRepository = createMock(HierarchicalRepository.class);
+ queueSettingsRepository = createMock(HierarchicalRepository.class);
+ server = createMock(MessagingServer.class);
}
@Override
@@ -713,11 +746,30 @@
serverON = null;
mbeanServer = null;
+ postOffice = null;
+ storageManager = null;
+ configuration = null;
+ securityRepository = null;
+ queueSettingsRepository = null;
+ server = null;
+
super.tearDown();
}
// Private -------------------------------------------------------
+ private void replayMocks()
+ {
+ replay(postOffice, storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
+ }
+
+ private void verifyMocks()
+ {
+ verify(postOffice, storageManager, configuration, securityRepository,
+ queueSettingsRepository, server);
+ }
+
// Inner classes -------------------------------------------------
private final class NotificationListenerWithLatch implements
Deleted: trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerManagementImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerManagementImplTest.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerManagementImplTest.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -1,736 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * 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.
- *
- * 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.impl;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-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.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.easymock.EasyMock;
-import org.jboss.messaging.core.config.Configuration;
-import org.jboss.messaging.core.filter.Filter;
-import org.jboss.messaging.core.filter.impl.FilterImpl;
-import org.jboss.messaging.core.management.impl.MessagingServerManagementImpl;
-import org.jboss.messaging.core.persistence.StorageManager;
-import org.jboss.messaging.core.postoffice.Binding;
-import org.jboss.messaging.core.postoffice.PostOffice;
-import org.jboss.messaging.core.security.Role;
-import org.jboss.messaging.core.server.MessageReference;
-import org.jboss.messaging.core.server.MessagingServer;
-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.QueueSettings;
-import org.jboss.messaging.core.version.Version;
-import org.jboss.messaging.tests.util.RandomUtil;
-import org.jboss.messaging.tests.util.UnitTestCase;
-import org.jboss.messaging.util.SimpleString;
-
-/**
- *
- * @author <a href="mailto:clebert.suconic at jboss.com">Clebert Suconic</a>
- *
- */
-public class MessagingServerManagementImplTest extends UnitTestCase
-{
- // Constants -----------------------------------------------------
-
- // Attributes ----------------------------------------------------
-
- private PostOffice mockPostOffice;
- private StorageManager mockStorageManager;
- private Configuration mockConfiguration;
- private HierarchicalRepository<Set<Role>> mockSecurityRepository;
- private HierarchicalRepository<QueueSettings> mockQueueSettingsRepository;
- private MessagingServer mockServer;
-
- // Static --------------------------------------------------------
-
- // Constructors --------------------------------------------------
-
- // Public --------------------------------------------------------
-
- public void setUp() throws Exception
- {
- super.setUp();
-
- mockPostOffice = EasyMock.createNiceMock(PostOffice.class);
- mockStorageManager = EasyMock.createNiceMock(StorageManager.class);
- mockConfiguration = EasyMock.createNiceMock(Configuration.class);
- mockSecurityRepository = EasyMock
- .createNiceMock(HierarchicalRepository.class);
- mockQueueSettingsRepository = EasyMock
- .createNiceMock(HierarchicalRepository.class);
- mockServer = EasyMock.createNiceMock(MessagingServer.class);
-
- }
-
- public void testcreateQueue() throws Exception
- {
- SimpleString destination = RandomUtil.randomSimpleString();
- SimpleString name = RandomUtil.randomSimpleString();
-
- mockPostOffice = EasyMock.createMock(PostOffice.class);
-
- EasyMock.expect(mockPostOffice.getBinding(name)).andReturn(null);
-
- EasyMock.expect(
- mockPostOffice.addBinding(destination, name, null, true, false))
- .andReturn(null);
-
- EasyMock.replay(mockPostOffice);
-
- MessagingServerManagementImpl impl = createImpl();
-
- impl.createQueue(destination, name);
-
- EasyMock.verify(mockPostOffice);
-
- EasyMock.reset(mockPostOffice);
-
- EasyMock.expect(mockPostOffice.getBinding(name)).andReturn(
- EasyMock.createNiceMock(Binding.class));
-
- EasyMock.replay(mockPostOffice);
-
- impl.createQueue(destination, name);
-
- EasyMock.verify(mockPostOffice);
-
- }
-
- public void testCreateQueueWithFullParameters() throws Exception
- {
- SimpleString destination = RandomUtil.randomSimpleString();
- SimpleString name = RandomUtil.randomSimpleString();
- SimpleString filterStr = new SimpleString("color = 'green'");
- boolean durable = false;
- boolean temporary = true;
-
- mockPostOffice = EasyMock.createMock(PostOffice.class);
-
- EasyMock.expect(mockPostOffice.getBinding(name)).andReturn(null);
-
- EasyMock.expect(
- mockPostOffice.addBinding(eq(destination), eq(name),
- isA(Filter.class), eq(durable), eq(temporary))).andReturn(
- null);
-
- EasyMock.replay(mockPostOffice);
-
- MessagingServerManagementImpl impl = createImpl();
-
- impl.createQueue(destination, name, filterStr, durable, temporary);
-
- EasyMock.verify(mockPostOffice);
-
- EasyMock.reset(mockPostOffice);
-
- EasyMock.expect(mockPostOffice.getBinding(name)).andReturn(
- EasyMock.createNiceMock(Binding.class));
-
- EasyMock.replay(mockPostOffice);
-
- impl.createQueue(destination, name, filterStr, durable, temporary);
-
- EasyMock.verify(mockPostOffice);
-
- }
-
- public void testConnectionCount() throws Exception
- {
- MessagingServerManagementImpl impl = createImpl();
-
- assertEquals(impl.getConnectionCount(), 0);
- }
-
- public void testDestroyQueue() throws Exception
- {
- SimpleString name = RandomUtil.randomSimpleString();
-
- mockPostOffice = EasyMock.createMock(PostOffice.class);
-
- Binding binding = EasyMock.createMock(Binding.class);
-
- Queue queue = EasyMock.createMock(Queue.class);
-
- EasyMock.expect(mockPostOffice.getBinding(name)).andReturn(binding);
- EasyMock.expect(binding.getQueue()).andReturn(queue);
-
- queue.deleteAllReferences(mockStorageManager);
-
- EasyMock.expect(queue.getName()).andReturn(name).atLeastOnce();
-
- EasyMock.expect(mockPostOffice.removeBinding(name)).andReturn(binding);
-
- EasyMock.replay(mockPostOffice, binding, queue);
-
- MessagingServerManagementImpl impl = createImpl();
-
- impl.destroyQueue(name);
-
- EasyMock.verify(mockPostOffice, binding, queue);
-
- EasyMock.reset(mockPostOffice, binding, queue);
-
- EasyMock.expect(mockPostOffice.getBinding(name)).andReturn(null);
-
- EasyMock.replay(mockPostOffice, binding, queue);
-
- impl.destroyQueue(name);
-
- EasyMock.verify(mockPostOffice, binding, queue);
-
- }
-
- public void testAddDestination() throws Exception
- {
- SimpleString address = RandomUtil.randomSimpleString();
-
- mockPostOffice = EasyMock.createMock(PostOffice.class);
-
- EasyMock.expect(mockPostOffice.addDestination(address, false)).andReturn(
- false);
-
- EasyMock.replay(mockPostOffice);
-
- MessagingServerManagementImpl impl = createImpl();
- assertFalse(impl.addDestination(address));
-
- EasyMock.reset(mockPostOffice);
-
- EasyMock.expect(mockPostOffice.addDestination(address, false)).andReturn(
- true);
-
- EasyMock.replay(mockPostOffice);
-
- assertTrue(impl.addDestination(address));
-
- EasyMock.verify(mockPostOffice);
-
- }
-
- public void testRemoveDestination() throws Exception
- {
- SimpleString address = RandomUtil.randomSimpleString();
-
- mockPostOffice = EasyMock.createMock(PostOffice.class);
-
- EasyMock.expect(mockPostOffice.removeDestination(address, false))
- .andReturn(false);
-
- EasyMock.replay(mockPostOffice);
-
- MessagingServerManagementImpl impl = createImpl();
- assertFalse(impl.removeDestination(address));
-
- EasyMock.reset(mockPostOffice);
-
- EasyMock.expect(mockPostOffice.removeDestination(address, false))
- .andReturn(true);
-
- EasyMock.replay(mockPostOffice);
-
- assertTrue(impl.removeDestination(address));
-
- EasyMock.verify(mockPostOffice);
-
- }
-
- public void testRemoveAllMessagesForAddress() throws Exception
- {
- SimpleString address = RandomUtil.randomSimpleString();
-
- int numberOfQueues = 10;
-
- ArrayList<Queue> queues = new ArrayList<Queue>();
- ArrayList<Binding> bindings = new ArrayList<Binding>();
-
- for (int i = 0; i < numberOfQueues; i++)
- {
- Queue queue = EasyMock.createMock(Queue.class);
- queues.add(queue);
-
- Binding binding = EasyMock.createMock(Binding.class);
- bindings.add(binding);
-
- EasyMock.expect(binding.getQueue()).andReturn(queue);
-
- queue.deleteAllReferences(mockStorageManager);
- }
-
- mockPostOffice = EasyMock.createMock(PostOffice.class);
-
- EasyMock.expect(mockPostOffice.getBindingsForAddress(address)).andReturn(
- bindings);
-
- EasyMock.replay(mockPostOffice);
-
- EasyMock.replay(queues.toArray());
-
- EasyMock.replay(bindings.toArray());
-
- MessagingServerManagementImpl impl = createImpl();
-
- impl.removeAllMessagesForAddress(address);
-
- EasyMock.verify(mockPostOffice);
-
- EasyMock.verify(queues.toArray());
-
- EasyMock.verify(bindings.toArray());
-
- }
-
- public void testRemoveMessageFromQueue() throws Exception
- {
- SimpleString queueName = randomSimpleString();
- long messageID = randomLong();
-
- mockPostOffice = createMock(PostOffice.class);
- Binding binding = createMock(Binding.class);
- Queue queue = createMock(Queue.class);
- expect(mockPostOffice.getBinding(queueName)).andReturn(binding);
- expect(binding.getQueue()).andReturn(queue);
- expect(queue.deleteReference(messageID, mockStorageManager)).andReturn(
- true);
-
- replay(mockPostOffice, binding, queue, mockStorageManager);
-
- MessagingServerManagementImpl impl = createImpl();
- assertTrue(impl.removeMessageFromQueue(messageID, queueName));
-
- verify(mockPostOffice, binding, queue, mockStorageManager);
- }
-
- public void testRemoveMessageForUnkownAddress() throws Exception
- {
- SimpleString address = randomSimpleString();
- long messageID = randomLong();
-
- mockPostOffice = createMock(PostOffice.class);
- expect(mockPostOffice.getBinding(address)).andReturn(null);
-
- replay(mockPostOffice);
-
- MessagingServerManagementImpl impl = createImpl();
- assertFalse(impl.removeMessageFromQueue(messageID, address));
-
- verify(mockPostOffice);
- }
-
- public void testExpireMessage() throws Exception
- {
- SimpleString queueName = randomSimpleString();
- long messageID = randomLong();
-
- mockPostOffice = createMock(PostOffice.class);
- Binding binding = createMock(Binding.class);
- Queue queue = createMock(Queue.class);
- expect(mockPostOffice.getBinding(queueName)).andReturn(binding);
- expect(binding.getQueue()).andReturn(queue);
- expect(
- queue.expireMessage(messageID, mockStorageManager, mockPostOffice,
- mockQueueSettingsRepository)).andReturn(true);
-
- replay(mockPostOffice, binding, queue, mockStorageManager);
-
- MessagingServerManagementImpl impl = createImpl();
- assertTrue(impl.expireMessage(messageID, queueName));
-
- verify(mockPostOffice, binding, queue, mockStorageManager);
- }
-
- public void testExpireMessageForUnkownQueueName() throws Exception
- {
- SimpleString queueName = randomSimpleString();
- long messageID = randomLong();
-
- mockPostOffice = createMock(PostOffice.class);
- expect(mockPostOffice.getBinding(queueName)).andReturn(null);
-
- replay(mockPostOffice);
-
- MessagingServerManagementImpl impl = createImpl();
- assertFalse(impl.expireMessage(messageID, queueName));
-
- verify(mockPostOffice);
- }
-
- public void testExpireMessages() throws Exception
- {
- Filter filter = new FilterImpl(new SimpleString("color = 'green'"));
- SimpleString queueName = randomSimpleString();
- long messageID = randomLong();
-
- mockPostOffice = createMock(PostOffice.class);
- Binding binding = createMock(Binding.class);
- Queue queue = createMock(Queue.class);
- expect(mockPostOffice.getBinding(queueName)).andReturn(binding);
- expect(binding.getQueue()).andReturn(queue);
- List<MessageReference> refs = new ArrayList<MessageReference>();
- MessageReference ref = createMock(MessageReference.class);
- refs.add(ref);
- ServerMessage message = createMock(ServerMessage.class);
- expect(message.getMessageID()).andReturn(messageID);
- expect(ref.getMessage()).andReturn(message);
- expect(queue.list(filter)).andReturn(refs);
- expect(
- queue.expireMessage(messageID, mockStorageManager, mockPostOffice,
- mockQueueSettingsRepository)).andReturn(true);
-
- replay(mockPostOffice, binding, queue, mockStorageManager, ref, message);
-
- MessagingServerManagementImpl impl = createImpl();
- assertEquals(1, impl.expireMessages(filter, queueName));
-
- verify(mockPostOffice, binding, queue, mockStorageManager, ref, message);
- }
-
- public void testExpireMessagesForUnknownQueueName() throws Exception
- {
- Filter filter = new FilterImpl(new SimpleString("color = 'green'"));
- SimpleString queueName = randomSimpleString();
-
- mockPostOffice = createMock(PostOffice.class);
- Binding binding = createMock(Binding.class);
- Queue queue = createMock(Queue.class);
- expect(mockPostOffice.getBinding(queueName)).andReturn(null);
-
- replay(mockPostOffice, binding, queue, mockStorageManager);
-
- MessagingServerManagementImpl impl = createImpl();
- assertEquals(0, impl.expireMessages(filter, queueName));
-
- verify(mockPostOffice, binding, queue, mockStorageManager);
- }
-
- public void testSendMessagesToDLQ() throws Exception
- {
- Filter filter = new FilterImpl(new SimpleString("color = 'green'"));
- SimpleString queueName = randomSimpleString();
- long messageID = randomLong();
-
- mockPostOffice = createMock(PostOffice.class);
- Binding binding = createMock(Binding.class);
- Queue queue = createMock(Queue.class);
- expect(mockPostOffice.getBinding(queueName)).andReturn(binding);
- expect(binding.getQueue()).andReturn(queue);
- List<MessageReference> refs = new ArrayList<MessageReference>();
- MessageReference ref = createMock(MessageReference.class);
- refs.add(ref);
- ServerMessage message = createMock(ServerMessage.class);
- expect(message.getMessageID()).andReturn(messageID);
- expect(ref.getMessage()).andReturn(message);
- expect(queue.list(filter)).andReturn(refs);
- expect(
- queue.sendMessageToDLQ(messageID, mockStorageManager,
- mockPostOffice, mockQueueSettingsRepository)).andReturn(true);
-
- replay(mockPostOffice, binding, queue, mockStorageManager, ref, message);
-
- MessagingServerManagementImpl impl = createImpl();
- assertEquals(1, impl.sendMessagesToDLQ(filter, queueName));
-
- verify(mockPostOffice, binding, queue, mockStorageManager, ref, message);
- }
-
- public void testSendMessagesToDLQForUnknownQueueName() throws Exception
- {
- Filter filter = new FilterImpl(new SimpleString("color = 'green'"));
- SimpleString queueName = randomSimpleString();
-
- mockPostOffice = createMock(PostOffice.class);
- expect(mockPostOffice.getBinding(queueName)).andReturn(null);
-
- replay(mockPostOffice);
-
- MessagingServerManagementImpl impl = createImpl();
- assertEquals(0, impl.sendMessagesToDLQ(filter, queueName));
-
- verify(mockPostOffice);
- }
-
- public void testChangeMessagesPriority() throws Exception
- {
- Filter filter = new FilterImpl(new SimpleString("color = 'green'"));
- SimpleString queueName = randomSimpleString();
- long messageID = randomLong();
- byte newPriority = (byte) 9;
-
- mockPostOffice = createMock(PostOffice.class);
- Binding binding = createMock(Binding.class);
- Queue queue = createMock(Queue.class);
- expect(mockPostOffice.getBinding(queueName)).andReturn(binding);
- expect(binding.getQueue()).andReturn(queue);
- List<MessageReference> refs = new ArrayList<MessageReference>();
- MessageReference ref = createMock(MessageReference.class);
- refs.add(ref);
- ServerMessage message = createMock(ServerMessage.class);
- expect(message.getMessageID()).andReturn(messageID);
- expect(ref.getMessage()).andReturn(message);
- expect(queue.list(filter)).andReturn(refs);
- expect(
- queue.changeMessagePriority(messageID, newPriority,
- mockStorageManager, mockPostOffice,
- mockQueueSettingsRepository)).andReturn(true);
-
- replay(mockPostOffice, binding, queue, mockStorageManager, ref, message);
-
- MessagingServerManagementImpl impl = createImpl();
- assertEquals(1, impl.changeMessagesPriority(filter, newPriority, queueName));
-
- verify(mockPostOffice, binding, queue, mockStorageManager, ref, message);
- }
-
- public void testChangeMessagesPriorityForUnknownQueueName() throws Exception
- {
- Filter filter = new FilterImpl(new SimpleString("color = 'green'"));
- SimpleString queueName = randomSimpleString();
- byte newPriority = (byte) 9;
-
- mockPostOffice = createMock(PostOffice.class);
- expect(mockPostOffice.getBinding(queueName)).andReturn(null);
-
- replay(mockPostOffice);
-
- MessagingServerManagementImpl impl = createImpl();
- assertEquals(0, impl.changeMessagesPriority(filter, newPriority, queueName));
-
- verify(mockPostOffice);
- }
-
- public void testGetQueuesForAddress() throws Exception
- {
-
- int numberOfQueues = 10;
-
- ArrayList<Queue> queues = new ArrayList<Queue>();
- ArrayList<Binding> bindings = new ArrayList<Binding>();
-
- for (int i = 0; i < numberOfQueues; i++)
- {
- Queue queue = EasyMock.createMock(Queue.class);
-
- queues.add(queue);
-
- Binding binding = EasyMock.createMock(Binding.class);
-
- bindings.add(binding);
-
- EasyMock.expect(binding.getQueue()).andReturn(queue);
- }
-
- SimpleString address = RandomUtil.randomSimpleString();
-
- EasyMock.expect(mockPostOffice.getBindingsForAddress(address)).andReturn(
- bindings);
-
- EasyMock.replay(mockPostOffice);
- EasyMock.replay(queues.toArray());
- EasyMock.replay(bindings.toArray());
-
- MessagingServerManagementImpl impl = createImpl();
- assertEquals(numberOfQueues, impl.getQueuesForAddress(address).size());
-
- EasyMock.verify(mockPostOffice);
- EasyMock.verify(queues.toArray());
- EasyMock.verify(bindings.toArray());
-
- }
-
- public void testIsStarted() throws Exception
- {
- expect(mockServer.isStarted()).andReturn(true);
-
- replay(mockServer);
- MessagingServerManagementImpl impl = createImpl();
- assertTrue(impl.isStarted());
-
- verify(mockServer);
- }
-
- public void testGetVersion() throws Exception
- {
- String fullVersion = randomString();
- Version version = createMock(Version.class);
- expect(version.getFullVersion()).andReturn(fullVersion);
- expect(mockServer.getVersion()).andReturn(version);
-
- replay(mockServer, version);
- MessagingServerManagementImpl impl = createImpl();
- assertEquals(fullVersion, impl.getVersion());
-
- verify(mockServer, version);
- }
-
- public void testGetConfiguration() throws Exception
- {
- replay(mockConfiguration);
-
- MessagingServerManagementImpl impl = createImpl();
- assertEquals(mockConfiguration, impl.getConfiguration());
-
- verify(mockConfiguration);
- }
-
- public void testGetQueueSettings() throws Exception
- {
- SimpleString address = randomSimpleString();
- QueueSettings settings = new QueueSettings();
- expect(mockQueueSettingsRepository.getMatch(address.toString()))
- .andReturn(settings);
-
- replay(mockQueueSettingsRepository);
-
- MessagingServerManagementImpl impl = createImpl();
- assertEquals(settings, impl.getQueueSettings(address));
-
- verify(mockQueueSettingsRepository);
- }
-
- public void testSetQueueAttributes() throws Exception
- {
- SimpleString address = randomSimpleString();
- QueueSettings settings = new QueueSettings();
- mockQueueSettingsRepository.addMatch(address.toString(), settings);
-
- replay(mockQueueSettingsRepository);
-
- MessagingServerManagementImpl impl = createImpl();
- impl.setQueueAttributes(address, settings);
-
- verify(mockQueueSettingsRepository);
- }
-
- public void testSetSecurityForAddress() throws Exception
- {
- SimpleString address = randomSimpleString();
- Set<Role> roles = new HashSet<Role>();
- roles.add(new Role(randomString()));
- mockSecurityRepository.addMatch(address.toString(), roles);
-
- replay(mockSecurityRepository);
-
- MessagingServerManagementImpl impl = createImpl();
- impl.setSecurityForAddress(address, roles);
-
- verify(mockSecurityRepository);
- }
-
- public void testGetSecurityForAddress() throws Exception
- {
- SimpleString address = randomSimpleString();
- Set<Role> roles = new HashSet<Role>();
- Role role = new Role(randomString());
- roles.add(role);
- expect(mockSecurityRepository.getMatch(address.toString())).andReturn(
- roles);
-
- replay(mockSecurityRepository);
-
- MessagingServerManagementImpl impl = createImpl();
- Set<Role> matchedRoles = impl.getSecurityForAddress(address);
- assertNotNull(matchedRoles);
- assertEquals(1, matchedRoles.size());
-
- verify(mockSecurityRepository);
- }
-
- public void testRemoveSecurityForAddress() throws Exception
- {
- SimpleString address = randomSimpleString();
- Set<Role> roles = new HashSet<Role>();
- roles.add(new Role(randomString()));
- mockSecurityRepository.removeMatch(address.toString());
-
- replay(mockSecurityRepository);
-
- MessagingServerManagementImpl impl = createImpl();
- impl.removeSecurityForAddress(address);
-
- verify(mockSecurityRepository);
- }
-
- public void testGetQueue() throws Exception
- {
- SimpleString address = randomSimpleString();
- Queue queue = createMock(Queue.class);
- Binding binding = createMock(Binding.class);
- expect(binding.getQueue()).andReturn(queue);
- expect(mockPostOffice.getBinding(address)).andReturn(binding);
-
- replay(mockPostOffice, binding, queue);
-
- MessagingServerManagementImpl impl = createImpl();
- assertEquals(queue, impl.getQueue(address));
-
- verify(mockPostOffice, binding, queue);
- }
-
- public void testGetQueueForUnknownAddress() throws Exception
- {
- SimpleString address = randomSimpleString();
- expect(mockPostOffice.getBinding(address)).andReturn(null);
-
- replay(mockPostOffice);
-
- MessagingServerManagementImpl impl = createImpl();
- try
- {
- impl.getQueue(address);
- fail("IllegalArgumentExcepion");
- } catch (IllegalArgumentException e)
- {
- }
-
- verify(mockPostOffice);
- }
-
- // Package protected ---------------------------------------------
-
- // Protected -----------------------------------------------------
-
- // Private -------------------------------------------------------
-
- private MessagingServerManagementImpl createImpl()
- {
- return new MessagingServerManagementImpl(mockPostOffice,
- mockStorageManager, mockConfiguration,
- mockSecurityRepository, mockQueueSettingsRepository, mockServer);
- }
-
- // Inner classes -------------------------------------------------
-
-}
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/server/impl/MessagingServerImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/server/impl/MessagingServerImplTest.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/server/impl/MessagingServerImplTest.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -21,6 +21,10 @@
*/
package org.jboss.messaging.tests.unit.core.server.impl;
+import static org.easymock.EasyMock.eq;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.isA;
+
import java.util.ArrayList;
import java.util.Map;
import java.util.Set;
@@ -31,7 +35,7 @@
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.management.ManagementService;
-import org.jboss.messaging.core.management.MessagingServerManagement;
+import org.jboss.messaging.core.management.MessagingServerControlMBean;
import org.jboss.messaging.core.persistence.StorageManager;
import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.postoffice.impl.PostOfficeImpl;
@@ -167,10 +171,9 @@
//Ok
}
- ManagementService mr = EasyMock.createMock(ManagementService.class);
+ ManagementService ms = EasyMock.createMock(ManagementService.class);
+ server.setManagementService(ms);
- server.setManagementService(mr);
-
try
{
server.start();
@@ -181,7 +184,7 @@
//Ok
}
- EasyMock.reset(sm, rs, mr);
+ EasyMock.reset(sm, rs);
EasyMock.expect(sm.isStarted()).andStubReturn(true);
EasyMock.expect(rs.isStarted()).andStubReturn(false);
@@ -209,7 +212,12 @@
pd.register(EasyMock.isA(MessagingServerPacketHandler.class));
- EasyMock.replay(sm, rs, pd);
+ MessagingServerControlMBean managedServer = EasyMock.createMock(MessagingServerControlMBean.class);
+ expect(ms.registerServer(isA(PostOffice.class), eq(sm), eq(server
+ .getConfiguration()), isA(HierarchicalRepository.class), eq(server
+ .getQueueSettingsRepository()), eq(server))).andReturn(managedServer);
+
+ EasyMock.replay(sm, rs, pd, ms);
assertFalse(server.isStarted());
@@ -217,7 +225,7 @@
assertTrue(server.isStarted());
- EasyMock.verify(sm, rs, pd);
+ EasyMock.verify(sm, rs, pd, ms);
EasyMock.reset(sm, rs, pd);
@@ -299,7 +307,7 @@
EasyMock.verify(sm, rs, pd);
- EasyMock.reset(sm, rs, pd);
+ EasyMock.reset(sm, rs, pd, ms);
EasyMock.expect(rs.getDispatcher()).andReturn(pd);
EasyMock.expect(sm.isStarted()).andStubReturn(true);
@@ -309,12 +317,16 @@
pd.register(EasyMock.isA(MessagingServerPacketHandler.class));
- EasyMock.replay(sm, rs, pd);
+ expect(ms.registerServer(isA(PostOffice.class), eq(sm), eq(server
+ .getConfiguration()), isA(HierarchicalRepository.class), eq(server
+ .getQueueSettingsRepository()), eq(server))).andReturn(managedServer);
+
+ EasyMock.replay(sm, rs, pd, ms);
//Should be able to start again
server.start();
- EasyMock.verify(sm, rs, pd);
+ EasyMock.verify(sm, rs, pd, ms);
assertTrue(server.isStarted());
@@ -381,13 +393,16 @@
server.setSecurityManager(sem);
ManagementService mr = EasyMock.createMock(ManagementService.class);
- mr.setQueueSettingsRepository(EasyMock.isA(HierarchicalRepository.class));
- mr.setPostOffice(EasyMock.isA(PostOffice.class));
- mr.registerServer(EasyMock.isA(MessagingServerManagement.class));
+ MessagingServerControlMBean managedServer = EasyMock.createMock(MessagingServerControlMBean.class);
+ expect(mr.registerServer(isA(PostOffice.class), eq(sm), eq(server
+ .getConfiguration()), isA(HierarchicalRepository.class), eq(server
+ .getQueueSettingsRepository()), eq(server))).andReturn(managedServer);
server.setManagementService(mr);
-
- sm.loadBindings(EasyMock.isA(QueueFactoryImpl.class), EasyMock.isA(ArrayList.class), EasyMock.isA(ArrayList.class));
- sm.loadMessages(EasyMock.isA(PostOfficeImpl.class), EasyMock.isA(Map.class));
+
+ sm.loadBindings(EasyMock.isA(QueueFactoryImpl.class), EasyMock
+ .isA(ArrayList.class), EasyMock.isA(ArrayList.class));
+ sm.loadMessages(EasyMock.isA(PostOfficeImpl.class), EasyMock
+ .isA(Map.class));
PacketDispatcher pd = EasyMock.createMock(PacketDispatcher.class);
EasyMock.expect(rs.getDispatcher()).andReturn(pd);
pd.register(EasyMock.isA(MessagingServerPacketHandler.class));
@@ -420,7 +435,6 @@
server.setStorageManager(sm);
RemotingService rs = EasyMock.createMock(RemotingService.class);
server.setRemotingService(rs);
-
JBMSecurityManager sem = new JBMSecurityManager()
{
public boolean validateUser(String user, String password)
@@ -437,9 +451,10 @@
server.setSecurityManager(sem);
ManagementService mr = EasyMock.createMock(ManagementService.class);
- mr.setQueueSettingsRepository(EasyMock.isA(HierarchicalRepository.class));
- mr.setPostOffice(EasyMock.isA(PostOffice.class));
- mr.registerServer(EasyMock.isA(MessagingServerManagement.class));
+ MessagingServerControlMBean managedServer = EasyMock.createMock(MessagingServerControlMBean.class);
+ expect(mr.registerServer(isA(PostOffice.class), eq(sm), eq(server
+ .getConfiguration()), isA(HierarchicalRepository.class), eq(server
+ .getQueueSettingsRepository()), eq(server))).andReturn(managedServer);
server.setManagementService(mr);
PacketDispatcher pd = EasyMock.createMock(PacketDispatcher.class);
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSManagementServiceImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSManagementServiceImplTest.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSManagementServiceImplTest.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -40,8 +40,12 @@
import junit.framework.TestCase;
import org.jboss.messaging.core.client.ClientConnectionFactory;
-import org.jboss.messaging.core.management.MessagingServerManagement;
+import org.jboss.messaging.core.management.MessagingServerControlMBean;
+import org.jboss.messaging.core.persistence.StorageManager;
+import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.server.Queue;
+import org.jboss.messaging.core.settings.HierarchicalRepository;
+import org.jboss.messaging.core.settings.impl.QueueSettings;
import org.jboss.messaging.jms.JBossQueue;
import org.jboss.messaging.jms.JBossTopic;
import org.jboss.messaging.jms.client.JBossConnectionFactory;
@@ -134,7 +138,9 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager server = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
MBeanServer mbeanServer = createMock(MBeanServer.class);
expect(mbeanServer.isRegistered(objectName)).andReturn(false);
@@ -142,13 +148,13 @@
mbeanServer.registerMBean(isA(JMSQueueControlMBean.class),
eq(objectName))).andReturn(objectInstance);
- replay(mbeanServer, coreQueue, server);
+ replay(mbeanServer, coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSManagementService service = new JMSManagementServiceImpl(mbeanServer,
true);
- service.registerQueue(queue, coreQueue, jndiBinding, server);
+ service.registerQueue(queue, coreQueue, jndiBinding, postOffice, storageManager, queueSettingsRepository);
- verify(mbeanServer, coreQueue, server);
+ verify(mbeanServer, coreQueue, postOffice, storageManager, queueSettingsRepository);
}
public void testRegisterAlreadyRegisteredQueue() throws Exception
@@ -162,7 +168,9 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager server = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
MBeanServer mbeanServer = createMock(MBeanServer.class);
expect(mbeanServer.isRegistered(objectName)).andReturn(true);
@@ -171,13 +179,13 @@
mbeanServer.registerMBean(isA(JMSQueueControlMBean.class),
eq(objectName))).andReturn(objectInstance);
- replay(mbeanServer, coreQueue, server);
+ replay(mbeanServer, coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSManagementService service = new JMSManagementServiceImpl(mbeanServer,
true);
- service.registerQueue(queue, coreQueue, jndiBinding, server);
+ service.registerQueue(queue, coreQueue, jndiBinding, postOffice, storageManager, queueSettingsRepository);
- verify(mbeanServer, coreQueue, server);
+ verify(mbeanServer, coreQueue, postOffice, storageManager, queueSettingsRepository);
}
public void testRegisterTopic() throws Exception
@@ -190,7 +198,8 @@
TopicControl.class.getName());
JBossTopic topic = new JBossTopic(name);
- MessagingServerManagement serverManagement = createMock(MessagingServerManagement.class);
+ PostOffice postOffice= createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
MBeanServer mbeanServer = createMock(MBeanServer.class);
expect(mbeanServer.isRegistered(objectName)).andReturn(false);
@@ -198,13 +207,13 @@
mbeanServer.registerMBean(isA(TopicControlMBean.class),
eq(objectName))).andReturn(objectInstance);
- replay(mbeanServer, serverManagement);
+ replay(mbeanServer, postOffice, storageManager);
JMSManagementService service = new JMSManagementServiceImpl(mbeanServer,
true);
- service.registerTopic(topic, serverManagement, jndiBinding);
+ service.registerTopic(topic, jndiBinding, postOffice, storageManager);
- verify(mbeanServer, serverManagement);
+ verify(mbeanServer, postOffice, storageManager);
}
public void testRegisterAlreadyRegisteredTopic() throws Exception
@@ -217,7 +226,8 @@
TopicControl.class.getName());
JBossTopic topic = new JBossTopic(name);
- MessagingServerManagement serverManagement = createMock(MessagingServerManagement.class);
+ PostOffice postOffice= createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
MBeanServer mbeanServer = createMock(MBeanServer.class);
expect(mbeanServer.isRegistered(objectName)).andReturn(true);
@@ -226,13 +236,13 @@
mbeanServer.registerMBean(isA(TopicControlMBean.class),
eq(objectName))).andReturn(objectInstance);
- replay(mbeanServer, serverManagement);
+ replay(mbeanServer, postOffice, storageManager);
JMSManagementService service = new JMSManagementServiceImpl(mbeanServer,
true);
- service.registerTopic(topic, serverManagement, jndiBinding);
+ service.registerTopic(topic, jndiBinding, postOffice, storageManager);
- verify(mbeanServer, serverManagement);
+ verify(mbeanServer, postOffice, storageManager);
}
public void testRegisterConnectionFactory() throws Exception
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSQueueControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSQueueControlTest.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSQueueControlTest.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -23,7 +23,6 @@
package org.jboss.messaging.tests.unit.jms.server.management.impl;
import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.eq;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.isA;
import static org.easymock.EasyMock.replay;
@@ -36,7 +35,6 @@
import static org.jboss.messaging.tests.util.RandomUtil.randomString;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashSet;
import java.util.List;
@@ -47,12 +45,14 @@
import org.easymock.EasyMock;
import org.jboss.messaging.core.filter.Filter;
+import org.jboss.messaging.core.persistence.StorageManager;
+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.QueueSettings;
import org.jboss.messaging.jms.JBossQueue;
-import org.jboss.messaging.jms.server.JMSServerManager;
import org.jboss.messaging.jms.server.management.impl.JMSQueueControl;
import org.jboss.messaging.util.SimpleString;
@@ -81,15 +81,17 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertEquals(name, control.getName());
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
public void testGetAddress() throws Exception
@@ -99,15 +101,17 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertEquals(queue.getAddress(), control.getAddress());
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
public void testGetJNDIBinding() throws Exception
@@ -117,15 +121,17 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertEquals(jndiBinding, control.getJNDIBinding());
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
public void testIsTemporary() throws Exception
@@ -135,17 +141,19 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertEquals(queue.isTemporary(), control.isTemporary());
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
-
+
public void testIsClustered() throws Exception
{
String jndiBinding = randomString();
@@ -155,15 +163,17 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
expect(coreQueue.isClustered()).andReturn(clustered);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertEquals(clustered, control.isClustered());
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
public void testIsDurabled() throws Exception
@@ -175,15 +185,17 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
expect(coreQueue.isDurable()).andReturn(durable);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertEquals(durable, control.isDurable());
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
public void testGetMessageCount() throws Exception
@@ -195,17 +207,19 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
expect(coreQueue.getMessageCount()).andReturn(count);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertEquals(count, control.getMessageCount());
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
-
+
public void testGetMessagesAdded() throws Exception
{
String jndiBinding = randomString();
@@ -215,17 +229,19 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
expect(coreQueue.getMessagesAdded()).andReturn(count);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertEquals(count, control.getMessagesAdded());
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
-
+
public void testGetConsumerCount() throws Exception
{
String jndiBinding = randomString();
@@ -235,15 +251,17 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
expect(coreQueue.getConsumerCount()).andReturn(count);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertEquals(count, control.getConsumerCount());
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
public void testGetDeliveringCount() throws Exception
@@ -255,15 +273,17 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
expect(coreQueue.getDeliveringCount()).andReturn(count);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertEquals(count, control.getDeliveringCount());
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
public void testGetMaxSizeBytes() throws Exception
@@ -275,17 +295,19 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
expect(coreQueue.getMaxSizeBytes()).andReturn(size);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertEquals(size, control.getMaxSizeBytes());
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
-
+
public void testGetSizeBytes() throws Exception
{
String jndiBinding = randomString();
@@ -295,17 +317,19 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
expect(coreQueue.getSizeBytes()).andReturn(size);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertEquals(size, control.getSizeBytes());
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
-
+
public void testGetScheduledCount() throws Exception
{
String jndiBinding = randomString();
@@ -315,17 +339,19 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
expect(coreQueue.getScheduledCount()).andReturn(count);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertEquals(count, control.getScheduledCount());
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
-
+
public void testGetDLQ() throws Exception
{
String jndiBinding = randomString();
@@ -334,7 +360,10 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+
QueueSettings settings = new QueueSettings()
{
@Override
@@ -343,15 +372,15 @@
return new SimpleString(JBossQueue.JMS_QUEUE_ADDRESS_PREFIX + dlq);
}
};
- expect(serverManager.getSettings(queue)).andReturn(settings);
+ expect(queueSettingsRepository.getMatch(name)).andReturn(settings);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertEquals(dlq, control.getDLQ());
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
public void testGetExpiryQueue() throws Exception
@@ -362,7 +391,10 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+
QueueSettings settings = new QueueSettings()
{
@Override
@@ -372,15 +404,15 @@
+ expiryQueue);
}
};
- expect(serverManager.getSettings(queue)).andReturn(settings);
+ expect(queueSettingsRepository.getMatch(name)).andReturn(settings);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertEquals(expiryQueue, control.getExpiryQueue());
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
public void testRemoveMessage() throws Exception
@@ -392,7 +424,10 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+
List<MessageReference> refs = new ArrayList<MessageReference>();
MessageReference ref = createMock(MessageReference.class);
ServerMessage message = createMock(ServerMessage.class);
@@ -400,15 +435,18 @@
expect(ref.getMessage()).andReturn(message);
refs.add(ref);
expect(coreQueue.list(EasyMock.isA(Filter.class))).andReturn(refs);
- expect(serverManager.removeMessage(messageID, queue)).andReturn(true);
+ expect(coreQueue.deleteReference(messageID, storageManager)).andReturn(
+ true);
- replay(coreQueue, serverManager, ref, message);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository,
+ ref, message);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertTrue(control.removeMessage(jmsMessageID));
- verify(coreQueue, serverManager, ref, message);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository,
+ ref, message);
}
public void testRemoveAllMessages() throws Exception
@@ -418,16 +456,18 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
- serverManager.removeAllMessages(queue);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ coreQueue.deleteAllReferences(storageManager);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
control.removeAllMessages();
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
public void testListMessages() throws Exception
@@ -458,19 +498,23 @@
refs.add(ref);
Queue coreQueue = createMock(Queue.class);
expect(coreQueue.list(isA(Filter.class))).andReturn(refs);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, serverManager, ref, message);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository,
+ ref, message);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
TabularData data = control.listMessages(filterStr);
assertEquals(1, data.size());
CompositeData info = data.get(new Object[] { message.getProperty(
new SimpleString("JMSMessageID")).toString() });
assertNotNull(info);
- verify(coreQueue, serverManager, ref, message);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository,
+ ref, message);
}
public void testListMessagesThrowsException() throws Exception
@@ -481,12 +525,14 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
try
{
control.listMessages(invalidFilterStr);
@@ -495,7 +541,8 @@
{
}
- verify(coreQueue, serverManager);
+
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
public void testExpireMessage() throws Exception
@@ -503,24 +550,34 @@
String jndiBinding = randomString();
String name = randomString();
String jmsMessageID = randomString();
+ long messageID = randomLong();
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+
List<MessageReference> refs = new ArrayList<MessageReference>();
MessageReference ref = createMock(MessageReference.class);
+ ServerMessage serverMessage = createMock(ServerMessage.class);
+ expect(serverMessage.getMessageID()).andReturn(messageID);
+ expect(ref.getMessage()).andReturn(serverMessage);
refs.add(ref);
expect(coreQueue.list(EasyMock.isA(Filter.class))).andReturn(refs);
- expect(serverManager.expireMessages(isA(Filter.class), eq(queue)))
- .andReturn(1);
+ expect(
+ coreQueue.expireMessage(messageID, storageManager, postOffice,
+ queueSettingsRepository)).andReturn(true);
- replay(coreQueue, serverManager, ref);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository,
+ ref, serverMessage);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertTrue(control.expireMessage(jmsMessageID));
- verify(coreQueue, serverManager, ref);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository,
+ ref, serverMessage);
}
public void testExpireMessageWithNoJMSMesageID() throws Exception
@@ -531,14 +588,16 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
expect(coreQueue.list(isA(Filter.class))).andReturn(
new ArrayList<MessageReference>());
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
try
{
control.expireMessage(jmsMessageID);
@@ -547,28 +606,38 @@
{
}
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
-
+
public void testExpireMessages() throws Exception
{
String jndiBinding = randomString();
String name = randomString();
- int expiredMessage = randomInt();
+ long messageID = randomLong();
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
- expect(serverManager.expireMessages(isA(Filter.class), eq(queue)))
- .andReturn(expiredMessage);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ List<MessageReference> refs = new ArrayList<MessageReference>();
+ MessageReference ref = createMock(MessageReference.class);
+ ServerMessage serverMessage = createMock(ServerMessage.class);
+ expect(serverMessage.getMessageID()).andReturn(messageID);
+ expect(ref.getMessage()).andReturn(serverMessage);
+ refs.add(ref);
+ expect(coreQueue.list(isA(Filter.class))).andReturn(refs);
+ expect(
+ coreQueue.expireMessage(messageID, storageManager, postOffice,
+ queueSettingsRepository)).andReturn(true);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository, ref, serverMessage);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
- assertEquals(expiredMessage, control.expireMessages("color = 'green'"));
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ assertEquals(1, control.expireMessages("color = 'green'"));
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository, ref, serverMessage);
}
public void testSendMessageToDLQ() throws Exception
@@ -576,27 +645,32 @@
String jndiBinding = randomString();
String name = randomString();
String jmsMessageID = randomString();
+ long messageID = randomLong();
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
List<MessageReference> refs = new ArrayList<MessageReference>();
MessageReference ref = createMock(MessageReference.class);
+ ServerMessage serverMessage = createMock(ServerMessage.class);
+ expect(serverMessage.getMessageID()).andReturn(messageID);
+ expect(ref.getMessage()).andReturn(serverMessage);
refs.add(ref);
expect(coreQueue.list(isA(Filter.class))).andReturn(refs);
- expect(serverManager.sendMessagesToDLQ(isA(Filter.class), eq(queue)))
- .andReturn(1);
+ expect(coreQueue.sendMessageToDLQ(messageID, storageManager, postOffice, queueSettingsRepository)).andReturn(true);
+
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository, ref, serverMessage);
- replay(coreQueue, serverManager, ref);
-
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
- assertTrue(control.sendMessageTDLQ(jmsMessageID));
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ assertTrue(control.sendMessageToDLQ(jmsMessageID));
- verify(coreQueue, serverManager, ref);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository, ref, serverMessage);
}
- public void testSendMessageToDLQWithNoJMSMesageID() throws Exception
+ public void testSendMessageToDLQWithNoJMSMessageID() throws Exception
{
String jndiBinding = randomString();
String name = randomString();
@@ -604,50 +678,56 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
expect(coreQueue.list(isA(Filter.class))).andReturn(
new ArrayList<MessageReference>());
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
try
{
- control.sendMessageTDLQ(jmsMessageID);
+ control.sendMessageToDLQ(jmsMessageID);
fail("IllegalArgumentException");
} catch (IllegalArgumentException e)
{
}
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
-
+
public void testChangeMessagePriority() throws Exception
{
String jndiBinding = randomString();
String name = randomString();
byte newPriority = 5;
String jmsMessageID = randomString();
-
+ long messageID = randomLong();
+
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
List<MessageReference> refs = new ArrayList<MessageReference>();
MessageReference ref = createMock(MessageReference.class);
+ ServerMessage serverMessage = createMock(ServerMessage.class);
+ expect(serverMessage.getMessageID()).andReturn(messageID);
+ expect(ref.getMessage()).andReturn(serverMessage);
refs.add(ref);
expect(coreQueue.list(isA(Filter.class))).andReturn(refs);
- expect(
- serverManager.changeMessagesPriority(isA(Filter.class),
- eq(newPriority), eq(queue))).andReturn(1);
+ expect(coreQueue.changeMessagePriority(messageID, newPriority, storageManager, postOffice, queueSettingsRepository)).andReturn(true);
- replay(coreQueue, serverManager, ref);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository, ref, serverMessage);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
assertTrue(control.changeMessagePriority(jmsMessageID, newPriority));
- verify(coreQueue, serverManager, ref);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository, ref, serverMessage);
}
public void testChangeMessagePriorityWithInvalidPriorityValues()
@@ -659,12 +739,14 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
try
{
control.changeMessagePriority(jmsMessageID, -1);
@@ -681,10 +763,10 @@
{
}
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
- public void testChangeMessagePriorityWithNoJMSMesageID() throws Exception
+ public void testChangeMessagePriorityWithNoJMSMessageID() throws Exception
{
String jndiBinding = randomString();
String name = randomString();
@@ -693,14 +775,16 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
- JMSServerManager serverManager = createMock(JMSServerManager.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+ HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
expect(coreQueue.list(isA(Filter.class))).andReturn(
new ArrayList<MessageReference>());
- replay(coreQueue, serverManager);
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, serverManager);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository);
try
{
control.changeMessagePriority(jmsMessageID, newPriority);
@@ -709,9 +793,9 @@
{
}
- verify(coreQueue, serverManager);
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
}
-
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/TopicControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/TopicControlTest.java 2008-08-14 09:50:34 UTC (rev 4801)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/TopicControlTest.java 2008-08-14 13:04:40 UTC (rev 4802)
@@ -37,7 +37,9 @@
import junit.framework.TestCase;
-import org.jboss.messaging.core.management.MessagingServerManagement;
+import org.jboss.messaging.core.persistence.StorageManager;
+import org.jboss.messaging.core.postoffice.Binding;
+import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.server.Queue;
import org.jboss.messaging.jms.JBossTopic;
import org.jboss.messaging.jms.server.management.SubscriberInfo;
@@ -67,14 +69,16 @@
String name = randomString();
JBossTopic topic = new JBossTopic(name);
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
- replay(server);
+ replay(postOffice, storageManager);
- TopicControl control = new TopicControl(topic, server, jndiBinding);
+ TopicControl control = new TopicControl(topic, jndiBinding, postOffice,
+ storageManager);
assertEquals(name, control.getName());
- verify(server);
+ verify(postOffice, storageManager);
}
public void testGetAddress() throws Exception
@@ -83,14 +87,16 @@
String name = randomString();
JBossTopic topic = new JBossTopic(name);
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
- replay(server);
+ replay(postOffice, storageManager);
- TopicControl control = new TopicControl(topic, server, jndiBinding);
+ TopicControl control = new TopicControl(topic, jndiBinding, postOffice,
+ storageManager);
assertEquals(topic.getAddress(), control.getAddress());
- verify(server);
+ verify(postOffice, storageManager);
}
public void testGetJNDIBinding() throws Exception
@@ -99,14 +105,16 @@
String name = randomString();
JBossTopic topic = new JBossTopic(name);
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
- replay(server);
+ replay(postOffice, storageManager);
- TopicControl control = new TopicControl(topic, server, jndiBinding);
+ TopicControl control = new TopicControl(topic, jndiBinding, postOffice,
+ storageManager);
assertEquals(jndiBinding, control.getJNDIBinding());
- verify(server);
+ verify(postOffice, storageManager);
}
public void testIsTemporary() throws Exception
@@ -115,14 +123,16 @@
String name = randomString();
JBossTopic topic = new JBossTopic(name);
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
- replay(server);
+ replay(postOffice, storageManager);
- TopicControl control = new TopicControl(topic, server, jndiBinding);
+ TopicControl control = new TopicControl(topic, jndiBinding, postOffice,
+ storageManager);
assertEquals(topic.isTemporary(), control.isTemporary());
- verify(server);
+ verify(postOffice, storageManager);
}
public void testGetMessageCount() throws Exception
@@ -135,35 +145,52 @@
int countForDurableQueue_2 = randomInt();
JBossTopic topic = new JBossTopic(name);
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+
Queue nonDurableQueue = createMock(Queue.class);
expect(nonDurableQueue.isDurable()).andStubReturn(false);
expect(nonDurableQueue.getMessageCount()).andStubReturn(
countForNonDurableQueue);
+ Binding bindingForNonDurableQueue = createMock(Binding.class);
+ expect(bindingForNonDurableQueue.getQueue()).andStubReturn(
+ nonDurableQueue);
+
Queue durableQueue_1 = createMock(Queue.class);
expect(durableQueue_1.isDurable()).andStubReturn(true);
expect(durableQueue_1.getMessageCount()).andStubReturn(
countForDurableQueue_1);
+ Binding bindingForDurableQueue_1 = createMock(Binding.class);
+ expect(bindingForDurableQueue_1.getQueue()).andStubReturn(durableQueue_1);
+
Queue durableQueue_2 = createMock(Queue.class);
expect(durableQueue_2.isDurable()).andStubReturn(true);
expect(durableQueue_2.getMessageCount()).andStubReturn(
countForDurableQueue_2);
- List<Queue> queues = new ArrayList<Queue>();
- queues.add(nonDurableQueue);
- queues.add(durableQueue_1);
- queues.add(durableQueue_2);
- expect(server.getQueuesForAddress(topic.getSimpleAddress()))
- .andStubReturn(queues);
- replay(server, nonDurableQueue, durableQueue_1, durableQueue_2);
+ Binding bindingForDurableQueue_2 = createMock(Binding.class);
+ expect(bindingForDurableQueue_2.getQueue()).andStubReturn(durableQueue_2);
- TopicControl control = new TopicControl(topic, server, jndiBinding);
+ List<Binding> bindings = new ArrayList<Binding>();
+ bindings.add(bindingForNonDurableQueue);
+ bindings.add(bindingForDurableQueue_1);
+ bindings.add(bindingForDurableQueue_2);
+ expect(postOffice.getBindingsForAddress(topic.getSimpleAddress()))
+ .andStubReturn(bindings);
+ replay(postOffice, storageManager, bindingForNonDurableQueue,
+ nonDurableQueue, bindingForDurableQueue_1, durableQueue_1,
+ bindingForDurableQueue_2, durableQueue_2);
+
+ TopicControl control = new TopicControl(topic, jndiBinding, postOffice,
+ storageManager);
assertEquals(countForNonDurableQueue + countForDurableQueue_1
+ countForDurableQueue_2, control.getMessageCount());
assertEquals(countForDurableQueue_1 + countForDurableQueue_2, control
.getDurableMessageCount());
assertEquals(countForNonDurableQueue, control.getNonDurableMessageCount());
- verify(server, nonDurableQueue, durableQueue_1, durableQueue_2);
+ verify(postOffice, storageManager, bindingForNonDurableQueue,
+ nonDurableQueue, bindingForDurableQueue_1, durableQueue_1,
+ bindingForDurableQueue_2, durableQueue_2);
}
public void testGetSubcribersCount() throws Exception
@@ -172,27 +199,44 @@
String name = randomString();
JBossTopic topic = new JBossTopic(name);
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+
Queue nonDurableQueue = createMock(Queue.class);
expect(nonDurableQueue.isDurable()).andStubReturn(false);
+ Binding bindingForNonDurableQueue = createMock(Binding.class);
+ expect(bindingForNonDurableQueue.getQueue()).andStubReturn(
+ nonDurableQueue);
+
Queue durableQueue_1 = createMock(Queue.class);
expect(durableQueue_1.isDurable()).andStubReturn(true);
+ Binding bindingForDurableQueue_1 = createMock(Binding.class);
+ expect(bindingForDurableQueue_1.getQueue()).andStubReturn(durableQueue_1);
+
Queue durableQueue_2 = createMock(Queue.class);
expect(durableQueue_2.isDurable()).andStubReturn(true);
- List<Queue> queues = new ArrayList<Queue>();
- queues.add(nonDurableQueue);
- queues.add(durableQueue_1);
- queues.add(durableQueue_2);
- expect(server.getQueuesForAddress(topic.getSimpleAddress()))
- .andStubReturn(queues);
- replay(server, nonDurableQueue, durableQueue_1, durableQueue_2);
+ Binding bindingForDurableQueue_2 = createMock(Binding.class);
+ expect(bindingForDurableQueue_2.getQueue()).andStubReturn(durableQueue_2);
- TopicControl control = new TopicControl(topic, server, jndiBinding);
+ List<Binding> bindings = new ArrayList<Binding>();
+ bindings.add(bindingForNonDurableQueue);
+ bindings.add(bindingForDurableQueue_1);
+ bindings.add(bindingForDurableQueue_2);
+ expect(postOffice.getBindingsForAddress(topic.getSimpleAddress()))
+ .andStubReturn(bindings);
+ replay(postOffice, storageManager, bindingForNonDurableQueue,
+ nonDurableQueue, bindingForDurableQueue_1, durableQueue_1,
+ bindingForDurableQueue_2, durableQueue_2);
+
+ TopicControl control = new TopicControl(topic, jndiBinding, postOffice,
+ storageManager);
assertEquals(3, control.getSubcribersCount());
assertEquals(2, control.getDurableSubcribersCount());
assertEquals(1, control.getNonDurableSubcribersCount());
- verify(server, nonDurableQueue, durableQueue_1, durableQueue_2);
+ verify(postOffice, storageManager, bindingForNonDurableQueue,
+ nonDurableQueue, bindingForDurableQueue_1, durableQueue_1,
+ bindingForDurableQueue_2, durableQueue_2);
}
public void testRemoveAllMessages() throws Exception
@@ -201,14 +245,34 @@
String name = randomString();
JBossTopic topic = new JBossTopic(name);
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
- server.removeAllMessagesForAddress(topic.getSimpleAddress());
- replay(server);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
- TopicControl control = new TopicControl(topic, server, jndiBinding);
+ Queue queue_1 = createMock(Queue.class);
+ Binding bindingforQueue_1 = createMock(Binding.class);
+ expect(bindingforQueue_1.getQueue()).andStubReturn(queue_1);
+
+ Queue queue_2 = createMock(Queue.class);
+ Binding bindingForQueue_2 = createMock(Binding.class);
+ expect(bindingForQueue_2.getQueue()).andStubReturn(queue_2);
+
+ List<Binding> bindings = new ArrayList<Binding>();
+ bindings.add(bindingforQueue_1);
+ bindings.add(bindingForQueue_2);
+ expect(postOffice.getBindingsForAddress(topic.getSimpleAddress()))
+ .andStubReturn(bindings);
+ queue_1.deleteAllReferences(storageManager);
+ queue_2.deleteAllReferences(storageManager);
+
+ replay(postOffice, storageManager, bindingforQueue_1, queue_1,
+ bindingForQueue_2, queue_2);
+
+ TopicControl control = new TopicControl(topic, jndiBinding, postOffice,
+ storageManager);
control.removeAllMessages();
- verify(server);
+ verify(postOffice, storageManager, bindingforQueue_1, queue_1,
+ bindingForQueue_2, queue_2);
}
public void testListSubscriberInfos() throws Exception
@@ -217,7 +281,9 @@
String name = randomString();
JBossTopic topic = new JBossTopic(name);
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+
Queue durableQueue = createMock(Queue.class);
expect(durableQueue.getName()).andStubReturn(
JBossTopic.createAddressFromName(randomString()));
@@ -225,6 +291,9 @@
expect(durableQueue.isDurable()).andStubReturn(true);
expect(durableQueue.getMessageCount()).andStubReturn(randomInt());
expect(durableQueue.getMaxSizeBytes()).andStubReturn(randomInt());
+ Binding bindingForDurableQueue = createMock(Binding.class);
+ expect(bindingForDurableQueue.getQueue()).andStubReturn(durableQueue);
+
Queue nonDurableQueue = createMock(Queue.class);
expect(nonDurableQueue.getName()).andStubReturn(
JBossTopic.createAddressFromName(randomString()));
@@ -232,14 +301,18 @@
expect(nonDurableQueue.isDurable()).andStubReturn(false);
expect(nonDurableQueue.getMessageCount()).andStubReturn(randomInt());
expect(nonDurableQueue.getMaxSizeBytes()).andStubReturn(randomInt());
- List<Queue> queues = new ArrayList<Queue>();
- queues.add(durableQueue);
- queues.add(nonDurableQueue);
- expect(server.getQueuesForAddress(topic.getSimpleAddress()))
- .andStubReturn(queues);
- replay(server, durableQueue, nonDurableQueue);
+ Binding bindingForNonDurableQueue = createMock(Binding.class);
+ expect(bindingForNonDurableQueue.getQueue()).andStubReturn(nonDurableQueue);
+ List<Binding> bindings = new ArrayList<Binding>();
+ bindings.add(bindingForDurableQueue);
+ bindings.add(bindingForNonDurableQueue);
+ expect(postOffice.getBindingsForAddress(topic.getSimpleAddress()))
+ .andStubReturn(bindings);
+ replay(postOffice, storageManager, bindingForDurableQueue, durableQueue,
+ bindingForNonDurableQueue, nonDurableQueue);
- TopicControl control = new TopicControl(topic, server, jndiBinding);
+ TopicControl control = new TopicControl(topic, jndiBinding, postOffice,
+ storageManager);
SubscriberInfo[] infos = control.listAllSubscriberInfos();
assertEquals(2, infos.length);
infos = control.listDurableSubscriberInfos();
@@ -249,7 +322,8 @@
assertEquals(1, infos.length);
assertEquals(nonDurableQueue.getName().toString(), infos[0].getID());
- verify(server, durableQueue, nonDurableQueue);
+ verify(postOffice, storageManager, bindingForDurableQueue, durableQueue,
+ bindingForNonDurableQueue, nonDurableQueue);
}
public void testListSubscribers() throws Exception
@@ -258,7 +332,9 @@
String name = randomString();
JBossTopic topic = new JBossTopic(name);
- MessagingServerManagement server = createMock(MessagingServerManagement.class);
+ PostOffice postOffice = createMock(PostOffice.class);
+ StorageManager storageManager = createMock(StorageManager.class);
+
Queue durableQueue = createMock(Queue.class);
expect(durableQueue.getName()).andStubReturn(
JBossTopic.createAddressFromName(randomString()));
@@ -266,6 +342,9 @@
expect(durableQueue.isDurable()).andStubReturn(true);
expect(durableQueue.getMessageCount()).andStubReturn(randomInt());
expect(durableQueue.getMaxSizeBytes()).andStubReturn(randomInt());
+ Binding bindingForDurableQueue = createMock(Binding.class);
+ expect(bindingForDurableQueue.getQueue()).andStubReturn(durableQueue);
+
Queue nonDurableQueue = createMock(Queue.class);
expect(nonDurableQueue.getName()).andStubReturn(
JBossTopic.createAddressFromName(randomString()));
@@ -273,26 +352,33 @@
expect(nonDurableQueue.isDurable()).andStubReturn(false);
expect(nonDurableQueue.getMessageCount()).andStubReturn(randomInt());
expect(nonDurableQueue.getMaxSizeBytes()).andStubReturn(randomInt());
- List<Queue> queues = new ArrayList<Queue>();
- queues.add(durableQueue);
- queues.add(nonDurableQueue);
- expect(server.getQueuesForAddress(topic.getSimpleAddress()))
- .andStubReturn(queues);
- replay(server, durableQueue, nonDurableQueue);
+ Binding bindingForNonDurableQueue = createMock(Binding.class);
+ expect(bindingForNonDurableQueue.getQueue()).andStubReturn(nonDurableQueue);
- TopicControl control = new TopicControl(topic, server, jndiBinding);
+ List<Binding> bindings = new ArrayList<Binding>();
+ bindings.add(bindingForDurableQueue);
+ bindings.add(bindingForNonDurableQueue);
+ expect(postOffice.getBindingsForAddress(topic.getSimpleAddress()))
+ .andStubReturn(bindings);
+ replay(postOffice, storageManager, bindingForDurableQueue, durableQueue,
+ bindingForNonDurableQueue, nonDurableQueue);
+
+ TopicControl control = new TopicControl(topic, jndiBinding, postOffice,
+ storageManager);
TabularData data = control.listAllSubscribers();
assertEquals(2, data.size());
data = control.listDurableSubscribers();
assertEquals(1, data.size());
- CompositeData info = data.get(new String[] { durableQueue.getName().toString() });
+ CompositeData info = data.get(new String[] { durableQueue.getName()
+ .toString() });
assertNotNull(info);
data = control.listNonDurableSubscribers();
assertEquals(1, data.size());
info = data.get(new String[] { nonDurableQueue.getName().toString() });
assertNotNull(info);
- verify(server, durableQueue, nonDurableQueue);
+ verify(postOffice, storageManager, bindingForDurableQueue, durableQueue,
+ bindingForNonDurableQueue, nonDurableQueue);
}
// Package protected ---------------------------------------------
More information about the jboss-cvs-commits
mailing list