[jboss-cvs] JBoss Messaging SVN: r5796 - in trunk: src/config and 37 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Feb 3 08:20:44 EST 2009
Author: ataylor
Date: 2009-02-03 08:20:44 -0500 (Tue, 03 Feb 2009)
New Revision: 5796
Added:
trunk/examples/jms/src/org/jboss/jms/example/SoloMessageTopicExample.java
trunk/src/main/org/jboss/messaging/core/deployers/impl/AddressSettingsDeployer.java
trunk/src/main/org/jboss/messaging/core/server/impl/SoloQueueImpl.java
trunk/src/main/org/jboss/messaging/core/settings/impl/AddressSettings.java
trunk/tests/src/org/jboss/messaging/tests/integration/queue/FakeStorageManager.java
trunk/tests/src/org/jboss/messaging/tests/integration/queue/SoloQueueRecoveryTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/queue/SoloQueueTest.java
Modified:
trunk/src/config/jbm-cluster-standalone-beans.xml
trunk/src/config/jbm-jboss-beans.xml
trunk/src/config/jbm-jms.xml
trunk/src/config/jbm-queues.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/impl/ManagementServiceImpl.java
trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java
trunk/src/main/org/jboss/messaging/core/management/impl/QueueControl.java
trunk/src/main/org/jboss/messaging/core/message/impl/MessageImpl.java
trunk/src/main/org/jboss/messaging/core/paging/PagingStoreFactory.java
trunk/src/main/org/jboss/messaging/core/paging/impl/PagingManagerImpl.java
trunk/src/main/org/jboss/messaging/core/paging/impl/PagingStoreFactoryNIO.java
trunk/src/main/org/jboss/messaging/core/paging/impl/PagingStoreImpl.java
trunk/src/main/org/jboss/messaging/core/persistence/StorageManager.java
trunk/src/main/org/jboss/messaging/core/persistence/impl/journal/JournalStorageManager.java
trunk/src/main/org/jboss/messaging/core/persistence/impl/nullpm/NullStorageManager.java
trunk/src/main/org/jboss/messaging/core/server/Messaging.java
trunk/src/main/org/jboss/messaging/core/server/MessagingServer.java
trunk/src/main/org/jboss/messaging/core/server/QueueFactory.java
trunk/src/main/org/jboss/messaging/core/server/cluster/impl/ClusterConnectionImpl.java
trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java
trunk/src/main/org/jboss/messaging/core/server/impl/QueueFactoryImpl.java
trunk/src/main/org/jboss/messaging/core/server/impl/QueueImpl.java
trunk/src/main/org/jboss/messaging/core/server/impl/ServerSessionImpl.java
trunk/src/main/org/jboss/messaging/core/transaction/impl/ResourceManagerImpl.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/impl/JMSManagementServiceImpl.java
trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSQueueControl.java
trunk/src/schemas/jbm-queues.xsd
trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java
trunk/tests/src/org/jboss/messaging/tests/concurrent/server/impl/QueueTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/basic/AutoGroupClientTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/chunkmessage/MessageChunkTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/paging/PageCrashTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/paging/PagingManagerIntegrationTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/paging/PagingServiceIntegrationTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/queue/DeadLetterAddressTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/queue/ExpiryAddressTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/queue/ExpiryRunnerTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/queue/MessageGroupingTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/scheduling/ScheduledMessageTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/xa/BasicXaRecoveryTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/xa/BasicXaTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/xa/XaTimeoutTest.java
trunk/tests/src/org/jboss/messaging/tests/performance/paging/MeasurePagingMultiThreadTest.java
trunk/tests/src/org/jboss/messaging/tests/stress/paging/PageStressTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/QueueSettingsDeployerTest.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/management/impl/QueueControlTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/paging/impl/PagingStoreImplTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/paging/impl/PagingStoreTestBase.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/server/impl/MessagingServerImplTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/server/impl/QueueFactoryImplTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/server/impl/fakes/FakeQueueFactory.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/settings/impl/QueueSettingsTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/transaction/impl/TransactionImplTest.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/util/ServiceTestBase.java
Log:
https://jira.jboss.org/jira/browse/JBMESSAGING-1214 + some refactoring
Copied: trunk/examples/jms/src/org/jboss/jms/example/SoloMessageTopicExample.java (from rev 5772, trunk/examples/jms/src/org/jboss/jms/example/TopicExample.java)
===================================================================
--- trunk/examples/jms/src/org/jboss/jms/example/SoloMessageTopicExample.java (rev 0)
+++ trunk/examples/jms/src/org/jboss/jms/example/SoloMessageTopicExample.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -0,0 +1,120 @@
+/*
+ * 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.jms.example;
+
+import java.util.concurrent.CountDownLatch;
+
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageListener;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
+import javax.jms.TextMessage;
+import javax.jms.Topic;
+import javax.jms.ObjectMessage;
+import javax.naming.InitialContext;
+
+import org.jboss.messaging.core.logging.Logger;
+
+/**
+ * A simple JMS Topic example that creates a producer and consumer on a queue and sends and receives a message via a
+ * Message Listener..
+ *
+ * @author <a href="ataylor at redhat.com">Andy Taylor</a>
+ */
+public class SoloMessageTopicExample
+{
+ final static Logger log = Logger.getLogger(SoloMessageTopicExample.class);
+
+ public static void main(final String[] args)
+ {
+ Connection connection = null;
+ try
+ {
+ //create an initial context, env will be picked up from jndi.properties
+ InitialContext initialContext = new InitialContext();
+ Topic topic = (Topic) initialContext.lookup("/topic/testSoloTopic");
+ ConnectionFactory cf = (ConnectionFactory) initialContext.lookup("/ConnectionFactory");
+ connection = cf.createConnection();
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ MessageProducer messageProducer = session.createProducer(topic);
+
+ MessageConsumer messageConsumer = session.createConsumer(topic);
+ Message message = session.createObjectMessage(101.10);
+ message.setStringProperty("_JBM_SOLO_MESSAGE", "SHARE_PRICE");
+ Message message2 = session.createObjectMessage(121.10);
+ message2.setStringProperty("_JBM_SOLO_MESSAGE", "SHARE_PRICE");
+ final CountDownLatch latch = new CountDownLatch(1);
+ messageConsumer.setMessageListener(new MessageListener()
+ {
+ public void onMessage(Message message)
+ {
+ try
+ {
+ log.info("message received from topic");
+ ObjectMessage textMessage = (ObjectMessage) message;
+ log.info("Share Price is £" + textMessage.getObject());
+ }
+ catch (JMSException e)
+ {
+ e.printStackTrace();
+ }
+ latch.countDown();
+ }
+ });
+
+ log.info("publishing message to topic");
+ messageProducer.send(message);
+ messageProducer.send(message2);
+ connection.start();
+ try
+ {
+ latch.await();
+ }
+ catch (InterruptedException e)
+ {
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+
+ finally
+ {
+ if (connection != null)
+ {
+ try
+ {
+ connection.close();
+ }
+ catch (JMSException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/examples/jms/src/org/jboss/jms/example/SoloMessageTopicExample.java
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: trunk/src/config/jbm-cluster-standalone-beans.xml
===================================================================
--- trunk/src/config/jbm-cluster-standalone-beans.xml 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/config/jbm-cluster-standalone-beans.xml 2009-02-03 13:20:44 UTC (rev 5796)
@@ -46,7 +46,7 @@
</bean>
<bean name="MessagingServer" class="org.jboss.messaging.core.server.impl.MessagingServerImpl">
- <depends>QueueSettingsDeployer</depends>
+ <depends>AddressSettingsDeployer</depends>
<property name="storageManager">
<inject bean="StorageManager"/>
</property>
@@ -95,7 +95,7 @@
<inject bean="MessagingServer" property="storageManager"/>
</parameter>
<parameter>
- <inject bean="MessagingServer" property="queueSettingsRepository"/>
+ <inject bean="MessagingServer" property="addressSettingsRepository"/>
</parameter>
<parameter>
<inject bean="JMSManagementService"/>
@@ -117,13 +117,13 @@
</property>
</bean>
- <bean name="QueueSettingsDeployer" class="org.jboss.messaging.core.deployers.impl.QueueSettingsDeployer">
+ <bean name="AddressSettingsDeployer" class="org.jboss.messaging.core.deployers.impl.AddressSettingsDeployer">
<constructor>
<parameter>
<inject bean="DeploymentManager"/>
</parameter>
<parameter>
- <inject bean="MessagingServer" property="queueSettingsRepository" state="Configured"/>
+ <inject bean="MessagingServer" property="addressSettingsRepository" state="Configured"/>
</parameter>
</constructor>
</bean>
Modified: trunk/src/config/jbm-jboss-beans.xml
===================================================================
--- trunk/src/config/jbm-jboss-beans.xml 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/config/jbm-jboss-beans.xml 2009-02-03 13:20:44 UTC (rev 5796)
@@ -31,7 +31,7 @@
</bean>-->
<bean name="MessagingServer" class="org.jboss.messaging.core.server.impl.MessagingServerImpl">
- <depends>QueueSettingsDeployer</depends>
+ <depends>AddressSettingsDeployer</depends>
<property name="storageManager">
<inject bean="StorageManager"/>
</property>
@@ -80,7 +80,7 @@
<inject bean="MessagingServer" property="storageManager"/>
</parameter>
<parameter>
- <inject bean="MessagingServer" property="queueSettingsRepository"/>
+ <inject bean="MessagingServer" property="addressSettingsRepository"/>
</parameter>
<parameter>
<inject bean="JMSManagementService"/>
@@ -102,13 +102,13 @@
</property>
</bean>
- <bean name="QueueSettingsDeployer" class="org.jboss.messaging.core.deployers.impl.QueueSettingsDeployer">
+ <bean name="AddressSettingsDeployer" class="org.jboss.messaging.core.deployers.impl.AddressSettingsDeployer">
<constructor>
<parameter>
<inject bean="JBMDeploymentManager"/>
</parameter>
<parameter>
- <inject bean="MessagingServer" property="queueSettingsRepository" state="Configured"/>
+ <inject bean="MessagingServer" property="addressSettingsRepository" state="Configured"/>
</parameter>
</constructor>
</bean>
Modified: trunk/src/config/jbm-jms.xml
===================================================================
--- trunk/src/config/jbm-jms.xml 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/config/jbm-jms.xml 2009-02-03 13:20:44 UTC (rev 5796)
@@ -115,6 +115,9 @@
<topic name="testDurableTopic">
<entry name="/topic/testDurableTopic"/>
</topic>
+ <topic name="testSoloTopic">
+ <entry name="/topic/testSoloTopic"/>
+ </topic>
<queue name="testQueue">
<entry name="/queue/testQueue"/>
</queue>
Modified: trunk/src/config/jbm-queues.xml
===================================================================
--- trunk/src/config/jbm-queues.xml 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/config/jbm-queues.xml 2009-02-03 13:20:44 UTC (rev 5796)
@@ -65,51 +65,55 @@
<permission type="write" roles="guest,def"/>
</security>
- <queue-settings match="queuejms.QueueWithOwnDLQAndExpiryQueue">
+ <address-settings match="queuejms.QueueWithOwnDLQAndExpiryQueue">
<dead-letter-address>queuejms.PrivateDLQ</dead-letter-address>
<expiry-address>queuejms.PrivateExpiryQueue</expiry-address>
- </queue-settings>
+ </address-settings>
- <queue-settings match="topicjms.TopicWithOwnDLQAndExpiryQueue">
+ <address-settings match="topicjms.TopicWithOwnDLQAndExpiryQueue">
<dead-letter-address>queuejms.PrivateDLQ</dead-letter-address>
<expiry-address>queuejms.PrivateExpiryQueue</expiry-address>
- </queue-settings>
+ </address-settings>
- <queue-settings match="queuejms.QueueWithOwnRedeliveryDelay">
+ <address-settings match="queuejms.QueueWithOwnRedeliveryDelay">
<redelivery-delay>5000</redelivery-delay>
- </queue-settings>
+ </address-settings>
- <queue-settings match="topicjms.TopicWithOwnRedeliveryDelay">
+ <address-settings match="topicjms.TopicWithOwnRedeliveryDelay">
<redelivery-delay>5000</redelivery-delay>
- </queue-settings>
+ </address-settings>
- <queue-settings match="queuejms.testDistributedQueue">
+ <address-settings match="queuejms.testDistributedQueue">
<clustered>true</clustered>
- </queue-settings>
+ </address-settings>
- <queue-settings match="topicjms.testDistributedTopic">
+ <address-settings match="topicjms.testDistributedTopic">
<clustered>true</clustered>
- </queue-settings>
+ </address-settings>
- <queue-settings match="queuejms.testPerfQueue">
+ <address-settings match="queuejms.testPerfQueue">
<clustered>false</clustered>
- </queue-settings>
+ </address-settings>
- <queue-settings match="queuejms.MyQueue">
+ <address-settings match="queuejms.MyQueue">
<max-size-bytes>-1</max-size-bytes>
<page-size-bytes>10485760</page-size-bytes>
<drop-messages-when-full>false</drop-messages-when-full>
- </queue-settings>
+ </address-settings>
- <queue-settings match="queuejms.testGroupQueue">
+ <address-settings match="queuejms.testGroupQueue">
<max-size-bytes>-1</max-size-bytes>
<page-size-bytes>10485760</page-size-bytes>
<drop-messages-when-full>false</drop-messages-when-full>
<distribution-policy-class>org.jboss.messaging.core.server.impl.GroupingRoundRobinDistributor</distribution-policy-class>
- </queue-settings>
+ </address-settings>
+ <address-settings match="topicjms.testSoloTopic">
+ <solo-queue>true</solo-queue>
+ </address-settings>
+
<!--default for catch all-->
- <queue-settings match="*">
+ <address-settings match="*">
<clustered>false</clustered>
<dead-letter-address>queuejms.DLQ</dead-letter-address>
<expiry-address>queuejms.ExpiryQueue</expiry-address>
@@ -117,5 +121,5 @@
<max-size-bytes>-1</max-size-bytes>
<distribution-policy-class>org.jboss.messaging.core.server.impl.RoundRobinDistributor</distribution-policy-class>
<message-counter-history-day-limit>10</message-counter-history-day-limit>
- </queue-settings>
+ </address-settings>
</settings>
Modified: trunk/src/config/jbm-standalone-beans.xml
===================================================================
--- trunk/src/config/jbm-standalone-beans.xml 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/config/jbm-standalone-beans.xml 2009-02-03 13:20:44 UTC (rev 5796)
@@ -44,7 +44,7 @@
</bean>
<bean name="MessagingServer" class="org.jboss.messaging.core.server.impl.MessagingServerImpl">
- <depends>QueueSettingsDeployer</depends>
+ <depends>AddressSettingsDeployer</depends>
<depends>QueueDeployer</depends>
<property name="storageManager">
@@ -95,7 +95,7 @@
<inject bean="MessagingServer" property="storageManager"/>
</parameter>
<parameter>
- <inject bean="MessagingServer" property="queueSettingsRepository"/>
+ <inject bean="MessagingServer" property="addressSettingsRepository"/>
</parameter>
<parameter>
<inject bean="JMSManagementService"/>
@@ -117,13 +117,13 @@
</property>
</bean>
- <bean name="QueueSettingsDeployer" class="org.jboss.messaging.core.deployers.impl.QueueSettingsDeployer">
+ <bean name="AddressSettingsDeployer" class="org.jboss.messaging.core.deployers.impl.AddressSettingsDeployer">
<constructor>
<parameter>
<inject bean="DeploymentManager"/>
</parameter>
<parameter>
- <inject bean="MessagingServer" property="queueSettingsRepository" state="Configured"/>
+ <inject bean="MessagingServer" property="addressSettingsRepository" state="Configured"/>
</parameter>
</constructor>
</bean>
Copied: trunk/src/main/org/jboss/messaging/core/deployers/impl/AddressSettingsDeployer.java (from rev 5794, trunk/src/main/org/jboss/messaging/core/deployers/impl/QueueSettingsDeployer.java)
===================================================================
--- trunk/src/main/org/jboss/messaging/core/deployers/impl/AddressSettingsDeployer.java (rev 0)
+++ trunk/src/main/org/jboss/messaging/core/deployers/impl/AddressSettingsDeployer.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -0,0 +1,178 @@
+/*
+ * 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.deployers.impl;
+
+import org.jboss.messaging.core.deployers.DeploymentManager;
+import org.jboss.messaging.core.settings.HierarchicalRepository;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
+import org.jboss.messaging.util.SimpleString;
+import org.jboss.messaging.util.XMLUtil;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * A deployer for creating a set of queue settings and adding them to a repository
+ * @author <a href="ataylor at redhat.com">Andy Taylor</a>
+ */
+public class AddressSettingsDeployer extends XmlDeployer
+{
+ private static final String CLUSTERED_NODE_NAME = "clustered";
+
+ private static final String DEAD_LETTER_ADDRESS_NODE_NAME = "dead-letter-address";
+
+ private static final String EXPIRY_ADDRESS_NODE_NAME = "expiry-address";
+
+ private static final String REDELIVERY_DELAY_NODE_NAME = "redelivery-delay";
+
+ private static final String MAX_SIZE_BYTES_NODE_NAME = "max-size-bytes";
+
+ private static final String DROP_MESSAGES_WHEN_FULL_NODE_NAME = "drop-messages-when-full";
+
+ private static final String PAGE_SIZE_BYTES_NODE_NAME = "page-size-bytes";
+
+ private static final String DISTRIBUTION_POLICY_CLASS_NODE_NAME = "distribution-policy-class";
+
+ private static final String MESSAGE_COUNTER_HISTORY_DAY_LIMIT_NODE_NAME = "message-counter-history-day-limit";
+
+ private static final String SOLO_MESSAGE_NODE_NAME = "solo-queue";
+
+ private final HierarchicalRepository<AddressSettings> queueSettingsRepository;
+
+ public AddressSettingsDeployer(final DeploymentManager deploymentManager, final HierarchicalRepository<AddressSettings> queueSettingsRepository)
+ {
+ super(deploymentManager);
+ this.queueSettingsRepository = queueSettingsRepository;
+ }
+
+ /**
+ * the names of the elements to deploy
+ * @return the names of the elements todeploy
+ */
+ public String[] getElementTagName()
+ {
+ return new String[]{"address-settings"};
+ }
+
+ @Override
+ public void validate(Node rootNode) throws Exception
+ {
+ if ("deployment".equals(rootNode.getNodeName()))
+ {
+ XMLUtil.validate(rootNode, "jbm-configuration.xsd");
+ } else
+ {
+ XMLUtil.validate(rootNode, "jbm-queues.xsd");
+ }
+ }
+
+ /**
+ * deploy an element
+ * @param node the element to deploy
+ * @throws Exception .
+ */
+ public void deploy(Node node) throws Exception
+ {
+ String match = node.getAttributes().getNamedItem(getKeyAttribute()).getNodeValue();
+
+ NodeList children = node.getChildNodes();
+
+ AddressSettings addressSettings = new AddressSettings();
+
+ for (int i = 0; i < children.getLength(); i++)
+ {
+ Node child = children.item(i);
+
+ if (CLUSTERED_NODE_NAME.equalsIgnoreCase(child.getNodeName()))
+ {
+ addressSettings.setClustered(Boolean.valueOf(child.getTextContent()));
+ }
+ else if (DEAD_LETTER_ADDRESS_NODE_NAME.equalsIgnoreCase(child.getNodeName()))
+ {
+ SimpleString queueName = new SimpleString(child.getTextContent());
+ addressSettings.setDeadLetterAddress(queueName);
+ }
+ else if (EXPIRY_ADDRESS_NODE_NAME.equalsIgnoreCase(child.getNodeName()))
+ {
+ SimpleString queueName = new SimpleString(child.getTextContent());
+ addressSettings.setExpiryAddress(queueName);
+ }
+ else if (REDELIVERY_DELAY_NODE_NAME.equalsIgnoreCase(child.getNodeName()))
+ {
+ addressSettings.setRedeliveryDelay(Long.valueOf(child.getTextContent()));
+ }
+ else if (MAX_SIZE_BYTES_NODE_NAME.equalsIgnoreCase(child.getNodeName()))
+ {
+ addressSettings.setMaxSizeBytes(Integer.valueOf(child.getTextContent()));
+ }
+ else if (PAGE_SIZE_BYTES_NODE_NAME.equalsIgnoreCase(child.getNodeName()))
+ {
+ addressSettings.setPageSizeBytes(Integer.valueOf(child.getTextContent()));
+ }
+ else if (DISTRIBUTION_POLICY_CLASS_NODE_NAME.equalsIgnoreCase(child.getNodeName()))
+ {
+ addressSettings.setDistributionPolicyClass(child.getTextContent());
+ }
+ else if (MESSAGE_COUNTER_HISTORY_DAY_LIMIT_NODE_NAME.equalsIgnoreCase(child.getNodeName()))
+ {
+ addressSettings.setMessageCounterHistoryDayLimit(Integer.valueOf(child.getTextContent()));
+ }
+ else if (DROP_MESSAGES_WHEN_FULL_NODE_NAME.equalsIgnoreCase(child.getNodeName()))
+ {
+ addressSettings.setDropMessagesWhenFull(Boolean.valueOf(child.getTextContent().trim()));
+ }
+ else if (SOLO_MESSAGE_NODE_NAME.equalsIgnoreCase(child.getNodeName()))
+ {
+ addressSettings.setSoloQueue(Boolean.valueOf(child.getTextContent().trim()));
+ }
+ }
+
+ queueSettingsRepository.addMatch(match, addressSettings);
+ }
+
+ public String[] getConfigFileNames()
+ {
+ return new String[] {"jbm-configuration", "jbm-queues.xml"};
+ }
+
+ /**
+ * undeploys an element
+ * @param node the element to undeploy
+ * @throws Exception .
+ */
+ public void undeploy(Node node) throws Exception
+ {
+ String match = node.getAttributes().getNamedItem(getKeyAttribute()).getNodeValue();
+
+ queueSettingsRepository.removeMatch(match);
+ }
+
+ /**
+ * the key attribute for theelement, usually 'name' but can be overridden
+ * @return the key attribute
+ */
+ public String getKeyAttribute()
+ {
+ return "match";
+ }
+
+}
Modified: trunk/src/main/org/jboss/messaging/core/management/ManagementService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/ManagementService.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/management/ManagementService.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -49,7 +49,7 @@
import org.jboss.messaging.core.server.cluster.BroadcastGroup;
import org.jboss.messaging.core.server.cluster.ClusterConnection;
import org.jboss.messaging.core.settings.HierarchicalRepository;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.ResourceManager;
import org.jboss.messaging.util.SimpleString;
@@ -66,7 +66,7 @@
MessagingServerControlMBean registerServer(PostOffice postOffice,
StorageManager storageManager,
Configuration configuration,
- HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ HierarchicalRepository<AddressSettings> queueSettingsRepository,
HierarchicalRepository<Set<Role>> securityRepository,
ResourceManager resourceManager,
RemotingService remotingService,
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -80,7 +80,7 @@
import org.jboss.messaging.core.server.cluster.ClusterConnection;
import org.jboss.messaging.core.server.impl.ServerMessageImpl;
import org.jboss.messaging.core.settings.HierarchicalRepository;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.ResourceManager;
import org.jboss.messaging.util.ConcurrentHashSet;
import org.jboss.messaging.util.SimpleString;
@@ -116,7 +116,7 @@
private HierarchicalRepository<Set<Role>> securityRepository;
- private HierarchicalRepository<QueueSettings> queueSettingsRepository;
+ private HierarchicalRepository<AddressSettings> queueSettingsRepository;
private MessagingServerControl managedServer;
@@ -200,7 +200,7 @@
public MessagingServerControlMBean registerServer(final PostOffice postOffice,
final StorageManager storageManager,
final Configuration configuration,
- final HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ final HierarchicalRepository<AddressSettings> queueSettingsRepository,
final HierarchicalRepository<Set<Role>> securityRepository,
final ResourceManager resourceManager,
final RemotingService remotingService,
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -295,7 +295,7 @@
SimpleString sName = new SimpleString(name);
if (postOffice.getBinding(sName) == null)
{
- Queue queue = queueFactory.createQueue(-1, sName, null, true, false);
+ Queue queue = queueFactory.createQueue(-1, sAddress, sName, null, true, false);
Binding binding = new LocalQueueBinding(sAddress, queue);
storageManager.addQueueBinding(binding);
postOffice.addBinding(binding);
@@ -314,7 +314,7 @@
}
if (postOffice.getBinding(sName) == null)
{
- Queue queue = queueFactory.createQueue(-1, sName, filter, durable, false);
+ Queue queue = queueFactory.createQueue(-1, sAddress, sName, filter, durable, false);
Binding binding = new LocalQueueBinding(sAddress, queue);
if (durable)
{
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/QueueControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/QueueControl.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/QueueControl.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -46,7 +46,7 @@
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.settings.impl.AddressSettings;
import org.jboss.messaging.util.SimpleString;
/**
@@ -68,7 +68,7 @@
private final PostOffice postOffice;
- private final HierarchicalRepository<QueueSettings> queueSettingsRepository;
+ private final HierarchicalRepository<AddressSettings> queueSettingsRepository;
private final MessageCounter counter;
@@ -79,7 +79,7 @@
public QueueControl(final Queue queue,
final StorageManager storageManager,
final PostOffice postOffice,
- final HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ final HierarchicalRepository<AddressSettings> queueSettingsRepository,
final MessageCounter counter)
{
this.queue = queue;
@@ -152,10 +152,10 @@
public String getDeadLetterAddress()
{
- QueueSettings queueSettings = queueSettingsRepository.getMatch(getName());
- if (queueSettings != null && queueSettings.getDeadLetterAddress() != null)
+ AddressSettings addressSettings = queueSettingsRepository.getMatch(getName());
+ if (addressSettings != null && addressSettings.getDeadLetterAddress() != null)
{
- return queueSettings.getDeadLetterAddress().toString();
+ return addressSettings.getDeadLetterAddress().toString();
}
else
{
@@ -165,20 +165,20 @@
public void setDeadLetterAddress(String deadLetterAddress) throws Exception
{
- QueueSettings queueSettings = queueSettingsRepository.getMatch(getName());
+ AddressSettings addressSettings = queueSettingsRepository.getMatch(getName());
if (deadLetterAddress != null)
{
- queueSettings.setDeadLetterAddress(new SimpleString(deadLetterAddress));
+ addressSettings.setDeadLetterAddress(new SimpleString(deadLetterAddress));
}
}
public String getExpiryAddress()
{
- QueueSettings queueSettings = queueSettingsRepository.getMatch(getName());
- if (queueSettings != null && queueSettings.getExpiryAddress() != null)
+ AddressSettings addressSettings = queueSettingsRepository.getMatch(getName());
+ if (addressSettings != null && addressSettings.getExpiryAddress() != null)
{
- return queueSettings.getExpiryAddress().toString();
+ return addressSettings.getExpiryAddress().toString();
}
else
{
@@ -188,11 +188,11 @@
public void setExpiryAddress(String expiryAddres) throws Exception
{
- QueueSettings queueSettings = queueSettingsRepository.getMatch(getName());
+ AddressSettings addressSettings = queueSettingsRepository.getMatch(getName());
if (expiryAddres != null)
{
- queueSettings.setExpiryAddress(new SimpleString(expiryAddres));
+ addressSettings.setExpiryAddress(new SimpleString(expiryAddres));
}
}
Modified: trunk/src/main/org/jboss/messaging/core/message/impl/MessageImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/message/impl/MessageImpl.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/message/impl/MessageImpl.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -70,6 +70,8 @@
public static final SimpleString HDR_ROUTE_TO_IDS = new SimpleString("_JBM_ROUTE_TO");
public static final SimpleString HDR_FROM_CLUSTER = new SimpleString("_JBM_FROM_CLUSTER");
+
+ public static final SimpleString HDR_SOLE_MESSAGE = new SimpleString("_JBM_SOLO_MESSAGE");
// Attributes ----------------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/paging/PagingStoreFactory.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/paging/PagingStoreFactory.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/paging/PagingStoreFactory.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -29,7 +29,7 @@
import org.jboss.messaging.core.persistence.StorageManager;
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.core.settings.impl.AddressSettings;
import org.jboss.messaging.util.SimpleString;
/**
@@ -40,7 +40,7 @@
*/
public interface PagingStoreFactory
{
- PagingStore newStore(SimpleString destinationName, QueueSettings queueSettings) throws Exception;
+ PagingStore newStore(SimpleString destinationName, AddressSettings addressSettings) throws Exception;
Executor getGlobalDepagerExecutor();
@@ -52,7 +52,7 @@
void setPostOffice(PostOffice office);
- List<PagingStore> reloadStores(HierarchicalRepository<QueueSettings> queueSettingsRepository) throws Exception;
+ List<PagingStore> reloadStores(HierarchicalRepository<AddressSettings> queueSettingsRepository) throws Exception;
/**
* @param storeName
Modified: trunk/src/main/org/jboss/messaging/core/paging/impl/PagingManagerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/paging/impl/PagingManagerImpl.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/paging/impl/PagingManagerImpl.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -38,7 +38,7 @@
import org.jboss.messaging.core.postoffice.PostOffice;
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.settings.impl.AddressSettings;
import org.jboss.messaging.util.SimpleString;
/**
@@ -67,7 +67,7 @@
private final ConcurrentMap<SimpleString, PagingStore> stores = new ConcurrentHashMap<SimpleString, PagingStore>();
- private final HierarchicalRepository<QueueSettings> queueSettingsRepository;
+ private final HierarchicalRepository<AddressSettings> queueSettingsRepository;
private final PagingStoreFactory pagingStoreFactory;
@@ -89,7 +89,7 @@
public PagingManagerImpl(final PagingStoreFactory pagingSPI,
final StorageManager storageManager,
- final HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ final HierarchicalRepository<AddressSettings> queueSettingsRepository,
final long maxGlobalSize,
final long defaultPageSize,
final boolean syncNonTransactional,
Modified: trunk/src/main/org/jboss/messaging/core/paging/impl/PagingStoreFactoryNIO.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/paging/impl/PagingStoreFactoryNIO.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/paging/impl/PagingStoreFactoryNIO.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -46,7 +46,7 @@
import org.jboss.messaging.core.persistence.StorageManager;
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.core.settings.impl.AddressSettings;
import org.jboss.messaging.util.JBMThreadFactory;
import org.jboss.messaging.util.OrderedExecutorFactory;
import org.jboss.messaging.util.SimpleString;
@@ -111,7 +111,7 @@
parentExecutor.awaitTermination(30, TimeUnit.SECONDS);
}
- public synchronized PagingStore newStore(final SimpleString destinationName, final QueueSettings settings) throws Exception
+ public synchronized PagingStore newStore(final SimpleString destinationName, final AddressSettings settings) throws Exception
{
return new PagingStoreImpl(pagingManager,
@@ -169,7 +169,7 @@
this.postOffice = postOffice;
}
- public List<PagingStore> reloadStores(final HierarchicalRepository<QueueSettings> queueSettingsRepository) throws Exception
+ public List<PagingStore> reloadStores(final HierarchicalRepository<AddressSettings> queueSettingsRepository) throws Exception
{
File pageDirectory = new File(directory);
@@ -213,7 +213,7 @@
SequentialFileFactory factory = newFileFactory(guid);
- QueueSettings settings = queueSettingsRepository.getMatch(destinationName.toString());
+ AddressSettings settings = queueSettingsRepository.getMatch(destinationName.toString());
PagingStore store = new PagingStoreImpl(pagingManager,
storageManager,
Modified: trunk/src/main/org/jboss/messaging/core/paging/impl/PagingStoreImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/paging/impl/PagingStoreImpl.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/paging/impl/PagingStoreImpl.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -48,7 +48,7 @@
import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.server.SendLock;
import org.jboss.messaging.core.server.ServerMessage;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.Transaction;
import org.jboss.messaging.core.transaction.TransactionPropertyIndexes;
import org.jboss.messaging.core.transaction.impl.TransactionImpl;
@@ -138,7 +138,7 @@
final SequentialFileFactory fileFactory,
final PagingStoreFactory storeFactory,
final SimpleString storeName,
- final QueueSettings queueSettings,
+ final AddressSettings addressSettings,
final Executor executor)
{
if (pagingManager == null)
@@ -152,18 +152,18 @@
this.storeName = storeName;
- maxSize = queueSettings.getMaxSizeBytes();
+ maxSize = addressSettings.getMaxSizeBytes();
- if (queueSettings.getPageSizeBytes() != null)
+ if (addressSettings.getPageSizeBytes() != null)
{
- pageSize = queueSettings.getPageSizeBytes();
+ pageSize = addressSettings.getPageSizeBytes();
}
else
{
pageSize = pagingManager.getDefaultPageSize();
}
- dropMessagesWhenFull = queueSettings.isDropMessagesWhenFull();
+ dropMessagesWhenFull = addressSettings.isDropMessagesWhenFull();
this.executor = executor;
Modified: trunk/src/main/org/jboss/messaging/core/persistence/StorageManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/persistence/StorageManager.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/persistence/StorageManager.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -36,7 +36,7 @@
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.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.ResourceManager;
import org.jboss.messaging.util.Pair;
import org.jboss.messaging.util.SimpleString;
@@ -103,7 +103,7 @@
void loadMessageJournal(PostOffice postOffice,
StorageManager storageManager,
- HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ HierarchicalRepository<AddressSettings> queueSettingsRepository,
Map<Long, Queue> queues,
ResourceManager resourceManager,
Map<SimpleString, List<Pair<byte[], Long>>> duplicateIDMap) throws Exception;
Modified: trunk/src/main/org/jboss/messaging/core/persistence/impl/journal/JournalStorageManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/persistence/impl/journal/JournalStorageManager.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/persistence/impl/journal/JournalStorageManager.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -72,7 +72,7 @@
import org.jboss.messaging.core.server.ServerMessage;
import org.jboss.messaging.core.server.impl.ServerMessageImpl;
import org.jboss.messaging.core.settings.HierarchicalRepository;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.ResourceManager;
import org.jboss.messaging.core.transaction.Transaction;
import org.jboss.messaging.core.transaction.TransactionOperation;
@@ -436,7 +436,7 @@
public void loadMessageJournal(final PostOffice postOffice,
final StorageManager storageManager,
- final HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ final HierarchicalRepository<AddressSettings> queueSettingsRepository,
final Map<Long, Queue> queues,
final ResourceManager resourceManager,
final Map<SimpleString, List<Pair<byte[], Long>>> duplicateIDMap) throws Exception
@@ -668,7 +668,7 @@
private void loadPreparedTransactions(final PostOffice postOffice,
final StorageManager storageManager,
- final HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ final HierarchicalRepository<AddressSettings> queueSettingsRepository,
final Map<Long, Queue> queues,
final ResourceManager resourceManager,
final List<PreparedTransactionInfo> preparedTransactions,
@@ -843,12 +843,11 @@
MessageReference removed = queue.removeReferenceWithID(messageID);
- referencesToAck.add(removed);
-
- if (removed == null)
+ if (removed != null)
{
- throw new IllegalStateException("Failed to remove reference for " + messageID);
+ referencesToAck.add(removed);
}
+
}
for (MessageReference ack : referencesToAck)
Modified: trunk/src/main/org/jboss/messaging/core/persistence/impl/nullpm/NullStorageManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/persistence/impl/nullpm/NullStorageManager.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/persistence/impl/nullpm/NullStorageManager.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -37,7 +37,7 @@
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.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.ResourceManager;
import org.jboss.messaging.util.IDGenerator;
import org.jboss.messaging.util.Pair;
@@ -215,7 +215,7 @@
public void loadMessageJournal(PostOffice postOffice,
StorageManager storageManager,
- HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ HierarchicalRepository<AddressSettings> queueSettingsRepository,
Map<Long, Queue> queues,
ResourceManager resourceManager,
Map<SimpleString, List<Pair<byte[], Long>>> duplicateIDMap) throws Exception
Modified: trunk/src/main/org/jboss/messaging/core/server/Messaging.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/Messaging.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/server/Messaging.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -84,7 +84,33 @@
return new MessagingServiceImpl(server, storageManager, remotingService);
}
-
+
+ public static MessagingServiceImpl newMessagingService(final Configuration config, StorageManager storageManager)
+ {
+ RemotingService remotingService = new RemotingServiceImpl(config);
+
+ JBMSecurityManager securityManager = new JBMSecurityManagerImpl(true);
+
+ ManagementService managementService = new ManagementServiceImpl(ManagementFactory.getPlatformMBeanServer(),
+ config.isJMXManagementEnabled());
+
+ remotingService.setManagementService(managementService);
+
+ MessagingServer server = new MessagingServerImpl();
+
+ server.setConfiguration(config);
+
+ server.setStorageManager(storageManager);
+
+ server.setRemotingService(remotingService);
+
+ server.setSecurityManager(securityManager);
+
+ server.setManagementService(managementService);
+
+ return new MessagingServiceImpl(server, storageManager, remotingService);
+ }
+
public static MessagingServiceImpl newNullStorageMessagingService(final Configuration config, MBeanServer mbeanServer)
{
StorageManager storageManager = new NullStorageManager();
Modified: trunk/src/main/org/jboss/messaging/core/server/MessagingServer.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/MessagingServer.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/server/MessagingServer.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -28,7 +28,7 @@
import org.jboss.messaging.core.security.Role;
import org.jboss.messaging.core.server.cluster.ClusterManager;
import org.jboss.messaging.core.settings.HierarchicalRepository;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.ResourceManager;
import org.jboss.messaging.core.version.Version;
@@ -100,7 +100,7 @@
HierarchicalRepository<Set<Role>> getSecurityRepository();
- HierarchicalRepository<QueueSettings> getQueueSettingsRepository();
+ HierarchicalRepository<AddressSettings> getAddressSettingsRepository();
int getConnectionCount();
Modified: trunk/src/main/org/jboss/messaging/core/server/QueueFactory.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/QueueFactory.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/server/QueueFactory.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -38,7 +38,7 @@
*/
public interface QueueFactory
{
- Queue createQueue(long persistenceID, SimpleString name, Filter filter, boolean durable, boolean temporary);
+ Queue createQueue(long persistenceID, final SimpleString address, SimpleString name, Filter filter, boolean durable, boolean temporary);
/**
* This is required for delete-all-reference to work correctly with paging
Modified: trunk/src/main/org/jboss/messaging/core/server/cluster/impl/ClusterConnectionImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/cluster/impl/ClusterConnectionImpl.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/server/cluster/impl/ClusterConnectionImpl.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -277,7 +277,7 @@
}
else
{
- queue = queueFactory.createQueue(-1, name, null, true, false);
+ queue = queueFactory.createQueue(-1, name, name, null, true, false);
// Add binding in storage so the queue will get reloaded on startup and we can find it - it's never
// actually routed to at that address though
Modified: trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -72,7 +72,7 @@
import org.jboss.messaging.core.server.cluster.impl.ClusterManagerImpl;
import org.jboss.messaging.core.settings.HierarchicalRepository;
import org.jboss.messaging.core.settings.impl.HierarchicalObjectRepository;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.ResourceManager;
import org.jboss.messaging.core.transaction.impl.ResourceManagerImpl;
import org.jboss.messaging.core.version.Version;
@@ -111,7 +111,7 @@
private SecurityStore securityStore;
- private final HierarchicalRepository<QueueSettings> queueSettingsRepository = new HierarchicalObjectRepository<QueueSettings>();
+ private final HierarchicalRepository<AddressSettings> addressSettingsRepository = new HierarchicalObjectRepository<AddressSettings>();
private ScheduledExecutorService scheduledExecutor;
@@ -220,10 +220,10 @@
securityStore = new SecurityStoreImpl(configuration.getSecurityInvalidationInterval(),
configuration.isSecurityEnabled());
- queueSettingsRepository.setDefault(new QueueSettings());
+ addressSettingsRepository.setDefault(new AddressSettings());
scheduledExecutor = new ScheduledThreadPoolExecutor(configuration.getScheduledThreadPoolMaxSize(),
new JBMThreadFactory("JBM-scheduled-threads"));
- queueFactory = new QueueFactoryImpl(scheduledExecutor, queueSettingsRepository, storageManager);
+ queueFactory = new QueueFactoryImpl(scheduledExecutor, addressSettingsRepository, storageManager);
pagingManager = createPagingManager();
@@ -253,7 +253,7 @@
serverManagement = managementService.registerServer(postOffice,
storageManager,
configuration,
- queueSettingsRepository,
+ addressSettingsRepository,
securityRepository,
resourceManager,
remotingService,
@@ -284,6 +284,7 @@
}
Queue queue = queueFactory.createQueue(queueBindingInfo.getPersistenceID(),
+ queueBindingInfo.getAddress(),
queueBindingInfo.getQueueName(),
filter,
true,
@@ -301,7 +302,7 @@
storageManager.loadMessageJournal(postOffice,
storageManager,
- queueSettingsRepository,
+ addressSettingsRepository,
queues,
resourceManager,
duplicateIDMap);
@@ -421,7 +422,7 @@
postOffice = null;
securityRepository = null;
securityStore = null;
- queueSettingsRepository.clear();
+ addressSettingsRepository.clear();
scheduledExecutor.shutdown();
queueFactory = null;
resourceManager = null;
@@ -515,9 +516,9 @@
}
// This is needed for the queue settings deployer
- public HierarchicalRepository<QueueSettings> getQueueSettingsRepository()
+ public HierarchicalRepository<AddressSettings> getAddressSettingsRepository()
{
- return queueSettingsRepository;
+ return addressSettingsRepository;
}
public ResourceManager getResourceManager()
@@ -757,7 +758,7 @@
return new PagingManagerImpl(new PagingStoreFactoryNIO(configuration.getPagingDirectory(),
configuration.getPagingMaxThreads()),
storageManager,
- queueSettingsRepository,
+ addressSettingsRepository,
configuration.getPagingMaxGlobalSizeBytes(),
configuration.getPagingDefaultSize(),
configuration.isJournalSyncNonTransactional(),
@@ -787,6 +788,8 @@
SimpleString name = new SimpleString(config.getName());
+ SimpleString address = new SimpleString(config.getAddress());
+
Binding binding = postOffice.getBinding(name);
if (binding == null)
@@ -798,7 +801,7 @@
filter = new FilterImpl(new SimpleString(config.getFilterString()));
}
- Queue queue = queueFactory.createQueue(-1, name, filter, config.isDurable(), false);
+ Queue queue = queueFactory.createQueue(-1, address, name, filter, config.isDurable(), false);
Binding queueBinding = new LocalQueueBinding(new SimpleString(config.getAddress()), queue);
@@ -930,7 +933,7 @@
connection,
storageManager,
postOffice,
- queueSettingsRepository,
+ addressSettingsRepository,
resourceManager,
securityStore,
executorFactory.getExecutor(),
Modified: trunk/src/main/org/jboss/messaging/core/server/impl/QueueFactoryImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/impl/QueueFactoryImpl.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/server/impl/QueueFactoryImpl.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -30,7 +30,7 @@
import org.jboss.messaging.core.server.Queue;
import org.jboss.messaging.core.server.QueueFactory;
import org.jboss.messaging.core.settings.HierarchicalRepository;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.util.SimpleString;
/**
@@ -43,7 +43,7 @@
*/
public class QueueFactoryImpl implements QueueFactory
{
- private final HierarchicalRepository<QueueSettings> queueSettingsRepository;
+ private final HierarchicalRepository<AddressSettings> addressSettingsRepository;
private final ScheduledExecutorService scheduledExecutor;
@@ -53,10 +53,10 @@
private final StorageManager storageManager;
public QueueFactoryImpl(final ScheduledExecutorService scheduledExecutor,
- final HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ final HierarchicalRepository<AddressSettings> addressSettingsRepository,
final StorageManager storageManager)
{
- this.queueSettingsRepository = queueSettingsRepository;
+ this.addressSettingsRepository = addressSettingsRepository;
this.scheduledExecutor = scheduledExecutor;
@@ -69,25 +69,41 @@
}
public Queue createQueue(final long persistenceID,
+ final SimpleString address,
final SimpleString name,
final Filter filter,
final boolean durable,
final boolean temporary)
{
- QueueSettings queueSettings = queueSettingsRepository.getMatch(name.toString());
+ AddressSettings addressSettings = addressSettingsRepository.getMatch(address.toString());
- Queue queue = new QueueImpl(persistenceID,
- name,
- filter,
+ Queue queue;
+ if(addressSettings.isSoloQueue())
+ {
+ queue = new SoloQueueImpl(persistenceID,name,
+ filter,
durable,
temporary,
scheduledExecutor,
postOffice,
storageManager,
- queueSettingsRepository);
+ addressSettingsRepository);
+ }
+ else
+ {
+ queue = new QueueImpl(persistenceID,name,
+ filter,
+ durable,
+ temporary,
+ scheduledExecutor,
+ postOffice,
+ storageManager,
+ addressSettingsRepository);
+ }
- queue.setDistributionPolicy(queueSettings.getDistributionPolicy());
+ queue.setDistributionPolicy(addressSettings.getDistributionPolicy());
+
return queue;
}
}
Modified: trunk/src/main/org/jboss/messaging/core/server/impl/QueueImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/impl/QueueImpl.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/server/impl/QueueImpl.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -12,28 +12,14 @@
package org.jboss.messaging.core.server.impl;
-import static org.jboss.messaging.core.message.impl.MessageImpl.HDR_ACTUAL_EXPIRY_TIME;
-import static org.jboss.messaging.core.message.impl.MessageImpl.HDR_ORIGINAL_DESTINATION;
-import static org.jboss.messaging.core.message.impl.MessageImpl.HDR_ORIG_MESSAGE_ID;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.Executor;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-
import org.jboss.messaging.core.filter.Filter;
import org.jboss.messaging.core.list.PriorityLinkedList;
import org.jboss.messaging.core.list.impl.PriorityLinkedListImpl;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.message.impl.MessageImpl;
+import static org.jboss.messaging.core.message.impl.MessageImpl.HDR_ACTUAL_EXPIRY_TIME;
+import static org.jboss.messaging.core.message.impl.MessageImpl.HDR_ORIGINAL_DESTINATION;
+import static org.jboss.messaging.core.message.impl.MessageImpl.HDR_ORIG_MESSAGE_ID;
import org.jboss.messaging.core.paging.PagingManager;
import org.jboss.messaging.core.paging.PagingStore;
import org.jboss.messaging.core.persistence.StorageManager;
@@ -47,7 +33,7 @@
import org.jboss.messaging.core.server.ScheduledDeliveryHandler;
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.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.Transaction;
import org.jboss.messaging.core.transaction.TransactionOperation;
import org.jboss.messaging.core.transaction.TransactionPropertyIndexes;
@@ -56,6 +42,19 @@
import org.jboss.messaging.util.ConcurrentSet;
import org.jboss.messaging.util.SimpleString;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.Executor;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+
/**
* Implementation of a Queue TODO use Java 5 concurrent queue
*
@@ -73,7 +72,7 @@
public static final int NUM_PRIORITIES = 10;
private volatile long persistenceID = -1;
-
+
private final SimpleString name;
private volatile Filter filter;
@@ -110,13 +109,13 @@
private final StorageManager storageManager;
- private final HierarchicalRepository<QueueSettings> queueSettingsRepository;
+ private final HierarchicalRepository<AddressSettings> queueSettingsRepository;
private volatile boolean backup;
private int consumersToFailover = -1;
- public QueueImpl(final long persistenceID,
+ public QueueImpl(final long persistenceID,
final SimpleString name,
final Filter filter,
final boolean durable,
@@ -124,10 +123,10 @@
final ScheduledExecutorService scheduledExecutor,
final PostOffice postOffice,
final StorageManager storageManager,
- final HierarchicalRepository<QueueSettings> queueSettingsRepository)
+ final HierarchicalRepository<AddressSettings> queueSettingsRepository)
{
this.persistenceID = persistenceID;
-
+
this.name = name;
this.filter = filter;
@@ -157,7 +156,7 @@
}
// Bindable implementation -------------------------------------------------------------------------------------
-
+
public SimpleString getRoutingName()
{
return name;
@@ -189,9 +188,9 @@
if (durableRef)
{
message.incrementDurableRefCount();
- }
+ }
}
-
+
public void route(final ServerMessage message, final Transaction tx) throws Exception
{
boolean durableRef = message.isDurable() && durable;
@@ -203,7 +202,7 @@
store.addSize(ref.getMemoryEstimate());
- Long scheduledDeliveryTime = (Long)message.getProperty(MessageImpl.HDR_SCHEDULED_DELIVERY_TIME);
+ Long scheduledDeliveryTime = (Long) message.getProperty(MessageImpl.HDR_SCHEDULED_DELIVERY_TIME);
if (scheduledDeliveryTime != null)
{
@@ -280,7 +279,7 @@
message.incrementDurableRefCount();
}
- Long scheduledDeliveryTime = (Long)message.getProperty(MessageImpl.HDR_SCHEDULED_DELIVERY_TIME);
+ Long scheduledDeliveryTime = (Long) message.getProperty(MessageImpl.HDR_SCHEDULED_DELIVERY_TIME);
if (scheduledDeliveryTime != null)
{
@@ -327,7 +326,7 @@
{
persistenceID = id;
}
-
+
public Filter getFilter()
{
return filter;
@@ -523,9 +522,9 @@
getRefsOperation(tx).addAck(ref);
}
- private final RefsOperation getRefsOperation(final Transaction tx)
+ final RefsOperation getRefsOperation(final Transaction tx)
{
- RefsOperation oper = (RefsOperation)tx.getProperty(TransactionPropertyIndexes.REFS_OPERATION);
+ RefsOperation oper = (RefsOperation) tx.getProperty(TransactionPropertyIndexes.REFS_OPERATION);
if (oper == null)
{
@@ -1021,9 +1020,9 @@
storageManager.updateDeliveryCount(reference);
}
- QueueSettings queueSettings = queueSettingsRepository.getMatch(name.toString());
+ AddressSettings addressSettings = queueSettingsRepository.getMatch(name.toString());
- int maxDeliveries = queueSettings.getMaxDeliveryAttempts();
+ int maxDeliveries = addressSettings.getMaxDeliveryAttempts();
if (maxDeliveries > 0 && reference.getDeliveryCount() >= maxDeliveries)
{
@@ -1035,7 +1034,7 @@
}
else
{
- long redeliveryDelay = queueSettings.getRedeliveryDelay();
+ long redeliveryDelay = addressSettings.getRedeliveryDelay();
if (redeliveryDelay > 0)
{
@@ -1248,7 +1247,7 @@
{
ServerMessage message = ref.getMessage();
- QueueImpl queue = (QueueImpl)ref.getQueue();
+ QueueImpl queue = (QueueImpl) ref.getQueue();
boolean durableRef = message.isDurable() && queue.durable;
@@ -1294,6 +1293,95 @@
}
}
+ void postRollback(LinkedList<MessageReference> refs) throws Exception
+ {
+ synchronized (this)
+ {
+ for (MessageReference ref : refs)
+ {
+ ServerMessage msg = ref.getMessage();
+
+ if (!scheduledDeliveryHandler.checkAndSchedule(ref, backup))
+ {
+ messageReferences.addFirst(ref, msg.getPriority());
+ }
+ }
+
+ deliver();
+ }
+ }
+
+ final void discardMessage(MessageReference ref, Transaction tx) throws Exception
+ {
+ deliveringCount.decrementAndGet();
+ PagingStore store = pagingManager.getPageStore(ref.getMessage().getDestination());
+ store.addSize(-ref.getMemoryEstimate());
+ QueueImpl queue = (QueueImpl) ref.getQueue();
+ ServerMessage msg = ref.getMessage();
+ boolean durableRef = msg.isDurable() && queue.isDurable();
+
+ if (durableRef)
+ {
+ int count = msg.decrementDurableRefCount();
+
+ if (count == 0)
+ {
+ if (tx == null)
+ {
+ storageManager.deleteMessage(msg.getMessageID());
+ }
+ else
+ {
+ storageManager.deleteMessageTransactional(tx.getID(), getPersistenceID(), msg.getMessageID());
+ }
+ }
+ }
+ }
+
+ final void discardMessage(Long id, Transaction tx) throws Exception
+ {
+ RefsOperation oper = getRefsOperation(tx);
+ Iterator<MessageReference> iterator = oper.refsToAdd.iterator();
+
+ while (iterator.hasNext())
+ {
+ MessageReference ref = iterator.next();
+
+ if (ref.getMessage().getMessageID() == id)
+ {
+ iterator.remove();
+ discardMessage(ref, tx);
+ break;
+ }
+ }
+
+ }
+
+
+ final void rediscardMessage(long id, Transaction tx) throws Exception
+ {
+ RefsOperation oper = getRefsOperation(tx);
+ Iterator<MessageReference> iterator = oper.refsToAdd.iterator();
+
+ while (iterator.hasNext())
+ {
+ MessageReference ref = iterator.next();
+
+ if (ref.getMessage().getMessageID() == id)
+ {
+ iterator.remove();
+ rediscardMessage(ref);
+ break;
+ }
+ }
+ }
+
+ final void rediscardMessage(MessageReference ref) throws Exception
+ {
+ deliveringCount.decrementAndGet();
+ PagingStore store = pagingManager.getPageStore(ref.getMessage().getDestination());
+ store.addSize(-ref.getMemoryEstimate());
+ }
// Inner classes
// --------------------------------------------------------------------------
@@ -1349,7 +1437,7 @@
{
toCancel = new LinkedList<MessageReference>();
- queueMap.put((QueueImpl)ref.getQueue(), toCancel);
+ queueMap.put((QueueImpl) ref.getQueue(), toCancel);
}
toCancel.addFirst(ref);
@@ -1364,17 +1452,7 @@
synchronized (queue)
{
- for (MessageReference ref : refs)
- {
- ServerMessage msg = ref.getMessage();
-
- if (!scheduledDeliveryHandler.checkAndSchedule(ref, backup))
- {
- queue.messageReferences.addFirst(ref, msg.getPriority());
- }
- }
-
- queue.deliver();
+ queue.postRollback(refs);
}
}
}
Modified: trunk/src/main/org/jboss/messaging/core/server/impl/ServerSessionImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/impl/ServerSessionImpl.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/server/impl/ServerSessionImpl.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -91,7 +91,7 @@
import org.jboss.messaging.core.server.ServerMessage;
import org.jboss.messaging.core.server.ServerSession;
import org.jboss.messaging.core.settings.HierarchicalRepository;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.ResourceManager;
import org.jboss.messaging.core.transaction.Transaction;
import org.jboss.messaging.core.transaction.impl.TransactionImpl;
@@ -149,7 +149,7 @@
private final StorageManager storageManager;
- private final HierarchicalRepository<QueueSettings> queueSettingsRepository;
+ private final HierarchicalRepository<AddressSettings> queueSettingsRepository;
private final ResourceManager resourceManager;
@@ -199,7 +199,7 @@
final RemotingConnection remotingConnection,
final StorageManager storageManager,
final PostOffice postOffice,
- final HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ final HierarchicalRepository<AddressSettings> queueSettingsRepository,
final ResourceManager resourceManager,
final SecurityStore securityStore,
final Executor executor,
@@ -1386,7 +1386,7 @@
// We consume a copy of the queue - TODO - this is a temporary measure
// and will disappear once we can provide a proper iterator on the queue
- theQueue = queueFactory.createQueue(-1, name, filter, false, true);
+ theQueue = queueFactory.createQueue(-1, binding.getAddress(), name, filter, false, true);
// There's no need for any special locking since the list method is synchronized
List<MessageReference> refs = ((Queue)binding.getBindable()).list(filter);
@@ -1490,7 +1490,7 @@
filter = new FilterImpl(filterString);
}
- final Queue queue = queueFactory.createQueue(-1, name, filter, durable, temporary);
+ final Queue queue = queueFactory.createQueue(-1, address, name, filter, durable, temporary);
binding = new LocalQueueBinding(address, queue);
Added: trunk/src/main/org/jboss/messaging/core/server/impl/SoloQueueImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/impl/SoloQueueImpl.java (rev 0)
+++ trunk/src/main/org/jboss/messaging/core/server/impl/SoloQueueImpl.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -0,0 +1,195 @@
+/*
+ * 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.server.impl;
+
+import org.jboss.messaging.core.filter.Filter;
+import org.jboss.messaging.core.message.impl.MessageImpl;
+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.ServerMessage;
+import org.jboss.messaging.core.settings.HierarchicalRepository;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
+import org.jboss.messaging.core.transaction.Transaction;
+import org.jboss.messaging.util.SimpleString;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ScheduledExecutorService;
+
+/**
+ * A queue that will discard messages if a newer message with the same MessageImpl.HDR_SOLE_MESSAGE property value.
+ * @author <a href="mailto:andy.taylor at jboss.org">Andy Taylor</a>
+ */
+public class SoloQueueImpl extends QueueImpl
+{
+ private final Map<SimpleString, ServerMessage> map = new HashMap<SimpleString, ServerMessage>();
+
+ public SoloQueueImpl(long persistenceID, SimpleString name, Filter filter, boolean durable, boolean temporary, ScheduledExecutorService scheduledExecutor, PostOffice postOffice, StorageManager storageManager, HierarchicalRepository<AddressSettings> queueSettingsRepository)
+ {
+ super(persistenceID, name, filter, durable, temporary, scheduledExecutor, postOffice, storageManager, queueSettingsRepository);
+ }
+
+ public void route(ServerMessage message, Transaction tx) throws Exception
+ {
+ SimpleString prop = (SimpleString) message.getProperty(MessageImpl.HDR_SOLE_MESSAGE);
+ if (prop != null)
+ {
+ synchronized (map)
+ {
+ ServerMessage msg = map.put(prop, message);
+ //if an older message existed then we discard it
+ if (msg != null)
+ {
+ MessageReference ref;
+ if (tx != null)
+ {
+ discardMessage(msg.getMessageID(), tx);
+ }
+ else
+ {
+ ref = removeReferenceWithID(msg.getMessageID());
+ if (ref != null)
+ {
+ QueueImpl queue = (QueueImpl) ref.getQueue();
+ queue.discardMessage(ref, tx);
+ }
+ }
+
+ }
+ }
+ }
+ super.route(message, tx);
+ }
+
+ public MessageReference reroute(ServerMessage message, Transaction tx) throws Exception
+ {
+ SimpleString prop = (SimpleString) message.getProperty(MessageImpl.HDR_SOLE_MESSAGE);
+ if (prop != null)
+ {
+ synchronized (map)
+ {
+ ServerMessage msg = map.put(prop, message);
+ if (msg != null)
+ {
+ if (tx != null)
+ {
+ rediscardMessage(msg.getMessageID(), tx);
+ }
+ else
+ {
+ MessageReference ref = removeReferenceWithID(msg.getMessageID());
+ rediscardMessage(ref);
+ }
+ }
+ }
+ }
+ return super.reroute(message, tx);
+ }
+
+
+
+ public void acknowledge(MessageReference ref) throws Exception
+ {
+ super.acknowledge(ref);
+ SimpleString prop = (SimpleString) ref.getMessage().getProperty(MessageImpl.HDR_SOLE_MESSAGE);
+ if (prop != null)
+ {
+ synchronized (map)
+ {
+ ServerMessage serverMessage = map.get(prop);
+ if (serverMessage != null && ref.getMessage().getMessageID() == serverMessage.getMessageID())
+ {
+ map.remove(prop);
+ }
+ }
+ }
+ }
+
+
+ public void cancel(Transaction tx, MessageReference ref) throws Exception
+ {
+ SimpleString prop = (SimpleString) ref.getMessage().getProperty(MessageImpl.HDR_SOLE_MESSAGE);
+ if (prop != null)
+ {
+ synchronized (map)
+ {
+ ServerMessage msg = map.get(prop);
+ if (msg.getMessageID() == ref.getMessage().getMessageID())
+ {
+ super.cancel(tx, ref);
+ }
+ else
+ {
+ discardMessage(ref, tx);
+ }
+ }
+ }
+ else
+ {
+ super.cancel(tx, ref);
+ }
+ }
+
+ void postRollback(LinkedList<MessageReference> refs) throws Exception
+ {
+ List<MessageReference> refsToDiscard = new ArrayList<MessageReference>();
+ List<SimpleString> refsToClear = new ArrayList<SimpleString>();
+ synchronized (map)
+ {
+ for (MessageReference ref : refs)
+ {
+ SimpleString prop = (SimpleString) ref.getMessage().getProperty(MessageImpl.HDR_SOLE_MESSAGE);
+ if (prop != null)
+ {
+ ServerMessage msg = map.get(prop);
+ if (msg != null)
+ {
+ if (msg.getMessageID() != ref.getMessage().getMessageID())
+ {
+ refsToDiscard.add(ref);
+ }
+ else
+ {
+ refsToClear.add(prop);
+ }
+ }
+ }
+ }
+ for (SimpleString simpleString : refsToClear)
+ {
+ map.remove(simpleString);
+ }
+ }
+ for (MessageReference ref : refsToDiscard)
+ {
+ refs.remove(ref);
+ discardMessage(ref, null);
+ }
+ super.postRollback(refs);
+ }
+
+
+}
Copied: trunk/src/main/org/jboss/messaging/core/settings/impl/AddressSettings.java (from rev 5794, trunk/src/main/org/jboss/messaging/core/settings/impl/QueueSettings.java)
===================================================================
--- trunk/src/main/org/jboss/messaging/core/settings/impl/AddressSettings.java (rev 0)
+++ trunk/src/main/org/jboss/messaging/core/settings/impl/AddressSettings.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -0,0 +1,260 @@
+/*
+ * 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.settings.impl;
+
+import org.jboss.messaging.core.logging.Logger;
+import org.jboss.messaging.core.server.Distributor;
+import org.jboss.messaging.core.server.impl.RoundRobinDistributor;
+import org.jboss.messaging.core.settings.Mergeable;
+import org.jboss.messaging.util.SimpleString;
+
+/**
+ * Configuration settings that are applied on the address level
+ *
+ * @author <a href="ataylor at redhat.com">Andy Taylor</a>
+ * @author <a href="tim.fox at jboss.com">Tim Fox</a>
+ */
+public class AddressSettings implements Mergeable<AddressSettings>
+{
+ private static Logger log = Logger.getLogger(AddressSettings.class);
+
+ /**
+ * defaults used if null, this allows merging
+ */
+ public static final Class<?> DEFAULT_DISTRIBUTION_POLICY_CLASS = new RoundRobinDistributor().getClass();
+
+ public static final Boolean DEFAULT_CLUSTERED = false;
+
+ public static final Integer DEFAULT_MAX_SIZE_BYTES = -1;
+
+ public static final Boolean DEFAULT_DROP_MESSAGES_WHEN_FULL = Boolean.FALSE;
+
+ public static final Integer DEFAULT_MAX_DELIVERY_ATTEMPTS = 10;
+
+ public static final Integer DEFAULT_MESSAGE_COUNTER_HISTORY_DAY_LIMIT = 0;
+
+ public static final Long DEFAULT_REDELIVER_DELAY = 0L;
+
+ public static final Boolean DEFAULT_SOLOQUEUE = false;
+
+ private Boolean clustered = null;
+
+ private Integer maxSizeBytes = null;
+
+ private Integer pageSizeBytes = null;
+
+ private Boolean dropMessagesWhenFull = null;
+
+ private String distributionPolicyClass = null;
+
+ private Integer maxDeliveryAttempts = null;
+
+ private Integer messageCounterHistoryDayLimit = null;
+
+ private Long redeliveryDelay = null;
+
+ private SimpleString deadLetterAddress = null;
+
+ private SimpleString ExpiryAddress = null;
+
+ private Boolean soloQueue = null;
+
+ public Boolean isSoloQueue()
+ {
+ return soloQueue != null?soloQueue:DEFAULT_SOLOQUEUE;
+ }
+
+ public void setSoloQueue(Boolean soloQueue)
+ {
+ this.soloQueue = soloQueue;
+ }
+
+ public Boolean isClustered()
+ {
+ return clustered != null ? clustered : DEFAULT_CLUSTERED;
+ }
+
+ public void setClustered(Boolean clustered)
+ {
+ this.clustered = clustered;
+ }
+
+ public Integer getPageSizeBytes()
+ {
+ return pageSizeBytes;
+ }
+
+ public Boolean isDropMessagesWhenFull()
+ {
+ return dropMessagesWhenFull != null ? this.dropMessagesWhenFull : DEFAULT_DROP_MESSAGES_WHEN_FULL;
+ }
+
+ public void setDropMessagesWhenFull(Boolean value)
+ {
+ this.dropMessagesWhenFull = value;
+ }
+
+ public void setPageSizeBytes(Integer pageSize)
+ {
+ this.pageSizeBytes = pageSize;
+ }
+
+ public Integer getMaxSizeBytes()
+ {
+ return maxSizeBytes != null ? maxSizeBytes : DEFAULT_MAX_SIZE_BYTES;
+ }
+
+ public void setMaxSizeBytes(Integer maxSizeBytes)
+ {
+ this.maxSizeBytes = maxSizeBytes;
+ }
+
+ public Integer getMaxDeliveryAttempts()
+ {
+ return maxDeliveryAttempts != null ? maxDeliveryAttempts : DEFAULT_MAX_DELIVERY_ATTEMPTS;
+ }
+
+ public void setMaxDeliveryAttempts(Integer maxDeliveryAttempts)
+ {
+ this.maxDeliveryAttempts = maxDeliveryAttempts;
+ }
+
+ public Integer getMessageCounterHistoryDayLimit()
+ {
+ return messageCounterHistoryDayLimit != null ? messageCounterHistoryDayLimit
+ : DEFAULT_MESSAGE_COUNTER_HISTORY_DAY_LIMIT;
+ }
+
+ public void setMessageCounterHistoryDayLimit(Integer messageCounterHistoryDayLimit)
+ {
+ this.messageCounterHistoryDayLimit = messageCounterHistoryDayLimit;
+ }
+
+ public Long getRedeliveryDelay()
+ {
+ return redeliveryDelay != null ? redeliveryDelay : DEFAULT_REDELIVER_DELAY;
+ }
+
+ public void setRedeliveryDelay(Long redeliveryDelay)
+ {
+ this.redeliveryDelay = redeliveryDelay;
+ }
+
+ public String getDistributionPolicyClass()
+ {
+ return distributionPolicyClass;
+ }
+
+ public void setDistributionPolicyClass(String distributionPolicyClass)
+ {
+ this.distributionPolicyClass = distributionPolicyClass;
+ }
+
+ public SimpleString getDeadLetterAddress()
+ {
+ return deadLetterAddress;
+ }
+
+ public void setDeadLetterAddress(SimpleString deadLetterAddress)
+ {
+ this.deadLetterAddress = deadLetterAddress;
+ }
+
+ public SimpleString getExpiryAddress()
+ {
+ return ExpiryAddress;
+ }
+
+ public void setExpiryAddress(SimpleString expiryAddress)
+ {
+ ExpiryAddress = expiryAddress;
+ }
+
+ public Distributor getDistributionPolicy()
+ {
+ try
+ {
+ if (distributionPolicyClass != null)
+ {
+ return (Distributor)getClass().getClassLoader().loadClass(distributionPolicyClass).newInstance();
+ }
+ else
+ {
+ return (Distributor)DEFAULT_DISTRIBUTION_POLICY_CLASS.newInstance();
+ }
+ }
+ catch (Exception e)
+ {
+ throw new IllegalArgumentException("Error instantiating distribution policy '" + e + " '");
+ }
+ }
+
+ /**
+ * merge 2 objects in to 1
+ * @param merged
+ */
+ public void merge(AddressSettings merged)
+ {
+ if (clustered == null)
+ {
+ clustered = merged.clustered;
+ }
+ if (maxDeliveryAttempts == null)
+ {
+ maxDeliveryAttempts = merged.maxDeliveryAttempts;
+ }
+ if (dropMessagesWhenFull == null)
+ {
+ dropMessagesWhenFull = merged.dropMessagesWhenFull;
+ }
+ if (maxSizeBytes == null)
+ {
+ maxSizeBytes = merged.maxSizeBytes;
+ }
+ if (pageSizeBytes == null)
+ {
+ pageSizeBytes = merged.getPageSizeBytes();
+ }
+ if (messageCounterHistoryDayLimit == null)
+ {
+ messageCounterHistoryDayLimit = merged.messageCounterHistoryDayLimit;
+ }
+ if (redeliveryDelay == null)
+ {
+ redeliveryDelay = merged.redeliveryDelay;
+ }
+ if (distributionPolicyClass == null)
+ {
+ distributionPolicyClass = merged.distributionPolicyClass;
+ }
+ if (deadLetterAddress == null)
+ {
+ deadLetterAddress = merged.deadLetterAddress;
+ }
+ if (ExpiryAddress == null)
+ {
+ ExpiryAddress = merged.ExpiryAddress;
+ }
+ }
+
+}
Modified: trunk/src/main/org/jboss/messaging/core/transaction/impl/ResourceManagerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/transaction/impl/ResourceManagerImpl.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/core/transaction/impl/ResourceManagerImpl.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -36,11 +36,7 @@
import javax.transaction.xa.Xid;
import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.persistence.StorageManager;
-import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.server.MessagingComponent;
-import org.jboss.messaging.core.settings.HierarchicalRepository;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
import org.jboss.messaging.core.transaction.ResourceManager;
import org.jboss.messaging.core.transaction.Transaction;
Modified: trunk/src/main/org/jboss/messaging/jms/server/impl/JMSServerManagerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/impl/JMSServerManagerImpl.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/jms/server/impl/JMSServerManagerImpl.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -44,7 +44,7 @@
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.settings.impl.AddressSettings;
import org.jboss.messaging.jms.JBossQueue;
import org.jboss.messaging.jms.JBossTopic;
import org.jboss.messaging.jms.client.JBossConnectionFactory;
@@ -82,7 +82,7 @@
private final StorageManager storageManager;
- private final HierarchicalRepository<QueueSettings> queueSettingsRepository;
+ private final HierarchicalRepository<AddressSettings> queueSettingsRepository;
private final JMSManagementService managementService;
@@ -101,14 +101,14 @@
return new JMSServerManagerImpl(control,
server.getPostOffice(),
server.getStorageManager(),
- server.getQueueSettingsRepository(),
+ server.getAddressSettingsRepository(),
jmsManagementService);
}
public JMSServerManagerImpl(final MessagingServerControlMBean server,
final PostOffice postOffice,
final StorageManager storageManager,
- final HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ final HierarchicalRepository<AddressSettings> queueSettingsRepository,
final JMSManagementService managementService)
{
messagingServer = server;
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/JMSManagementService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/JMSManagementService.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/JMSManagementService.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -28,7 +28,7 @@
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.core.settings.impl.AddressSettings;
import org.jboss.messaging.jms.JBossQueue;
import org.jboss.messaging.jms.JBossTopic;
import org.jboss.messaging.jms.client.JBossConnectionFactory;
@@ -51,7 +51,7 @@
String jndiBinding,
PostOffice postOffice,
StorageManager storageManager,
- HierarchicalRepository<QueueSettings> queueSettingsRepository) throws Exception;
+ HierarchicalRepository<AddressSettings> queueSettingsRepository) throws Exception;
void unregisterQueue(String name) throws Exception;
@@ -59,7 +59,7 @@
String jndiBinding,
PostOffice postOffice,
StorageManager storageManager,
- HierarchicalRepository<QueueSettings> queueSettingsRepository) throws Exception;
+ HierarchicalRepository<AddressSettings> queueSettingsRepository) throws Exception;
void unregisterTopic(String name) 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 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -36,7 +36,7 @@
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.core.settings.impl.AddressSettings;
import org.jboss.messaging.jms.JBossQueue;
import org.jboss.messaging.jms.JBossTopic;
import org.jboss.messaging.jms.client.JBossConnectionFactory;
@@ -117,7 +117,7 @@
final String jndiBinding,
final PostOffice postOffice,
final StorageManager storageManager,
- HierarchicalRepository<QueueSettings> queueSettingsRepository) throws Exception
+ HierarchicalRepository<AddressSettings> queueSettingsRepository) throws Exception
{
MessageCounterManager messageCounterManager = managementService.getMessageCounterManager();
MessageCounter counter = new MessageCounter(queue.getName(),
@@ -149,7 +149,7 @@
final String jndiBinding,
final PostOffice postOffice,
final StorageManager storageManager,
- final HierarchicalRepository<QueueSettings> queueSettingsRepository) throws Exception
+ final HierarchicalRepository<AddressSettings> queueSettingsRepository) throws Exception
{
ObjectName objectName = getJMSTopicObjectName(topic.getTopicName());
TopicControl control = new TopicControl(topic, jndiBinding, postOffice);
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSQueueControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSQueueControl.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSQueueControl.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -45,7 +45,7 @@
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.settings.impl.AddressSettings;
import org.jboss.messaging.jms.JBossQueue;
import org.jboss.messaging.jms.client.JBossMessage;
import org.jboss.messaging.jms.client.SelectorTranslator;
@@ -75,7 +75,7 @@
private final PostOffice postOffice;
- private final HierarchicalRepository<QueueSettings> queueSettingsRepository;
+ private final HierarchicalRepository<AddressSettings> queueSettingsRepository;
private final MessageCounter counter;
@@ -98,7 +98,7 @@
final Queue coreQueue,
final String jndiBinding,
final PostOffice postOffice,
- final HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ final HierarchicalRepository<AddressSettings> queueSettingsRepository,
final MessageCounter counter)
{
this.managedQueue = queue;
@@ -165,10 +165,10 @@
public String getDeadLetterAddress()
{
- QueueSettings queueSettings = queueSettingsRepository.getMatch(getName());
- if (queueSettings != null && queueSettings.getDeadLetterAddress() != null)
+ AddressSettings addressSettings = queueSettingsRepository.getMatch(getName());
+ if (addressSettings != null && addressSettings.getDeadLetterAddress() != null)
{
- return queueSettings.getDeadLetterAddress().toString();
+ return addressSettings.getDeadLetterAddress().toString();
}
else
{
@@ -178,20 +178,20 @@
public void setDeadLetterAddress(String deadLetterAddress) throws Exception
{
- QueueSettings queueSettings = queueSettingsRepository.getMatch(getName());
+ AddressSettings addressSettings = queueSettingsRepository.getMatch(getName());
if (deadLetterAddress != null)
{
- queueSettings.setDeadLetterAddress(new SimpleString(deadLetterAddress));
+ addressSettings.setDeadLetterAddress(new SimpleString(deadLetterAddress));
}
}
public String getExpiryAddress()
{
- QueueSettings queueSettings = queueSettingsRepository.getMatch(getName());
- if (queueSettings != null && queueSettings.getExpiryAddress() != null)
+ AddressSettings addressSettings = queueSettingsRepository.getMatch(getName());
+ if (addressSettings != null && addressSettings.getExpiryAddress() != null)
{
- return queueSettings.getExpiryAddress().toString();
+ return addressSettings.getExpiryAddress().toString();
}
else
{
@@ -201,11 +201,11 @@
public void setExpiryAddress(String expiryQueueName)
{
- QueueSettings queueSettings = queueSettingsRepository.getMatch(getName());
+ AddressSettings addressSettings = queueSettingsRepository.getMatch(getName());
if (expiryQueueName != null)
{
- queueSettings.setExpiryAddress(new SimpleString(expiryQueueName));
+ addressSettings.setExpiryAddress(new SimpleString(expiryQueueName));
}
}
Modified: trunk/src/schemas/jbm-queues.xsd
===================================================================
--- trunk/src/schemas/jbm-queues.xsd 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/src/schemas/jbm-queues.xsd 2009-02-03 13:20:44 UTC (rev 5796)
@@ -13,7 +13,7 @@
<xsd:element ref="security" maxOccurs="unbounded"
minOccurs="0">
</xsd:element>
- <xsd:element ref="queue-settings" maxOccurs="unbounded"
+ <xsd:element ref="address-settings" maxOccurs="unbounded"
minOccurs="0">
</xsd:element>
<xsd:element ref="queue" maxOccurs="unbounded"
@@ -39,9 +39,9 @@
</xsd:complexType>
</xsd:element>
- <xsd:element name="queue-settings" type="queue-settingsType"></xsd:element>
+ <xsd:element name="address-settings" type="address-settingsType"></xsd:element>
- <xsd:complexType name="queue-settingsType">
+ <xsd:complexType name="address-settingsType">
<xsd:sequence>
<xsd:element name="clustered" type="xsd:boolean"
maxOccurs="1" minOccurs="0">
@@ -70,7 +70,10 @@
<xsd:element name="message-counter-history-day-limit" type="xsd:int"
maxOccurs="1" minOccurs="0">
</xsd:element>
- </xsd:sequence>
+ <xsd:element name="solo-queue" type="xsd:boolean"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ </xsd:sequence>
<xsd:attribute name="match" type="xsd:string" use="required"></xsd:attribute>
</xsd:complexType>
Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -53,11 +53,10 @@
import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.postoffice.Binding;
-import org.jboss.messaging.core.postoffice.BindingType;
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.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.integration.bootstrap.JBMBootstrapServer;
import org.jboss.messaging.jms.JBossDestination;
import org.jboss.messaging.jms.server.JMSServerManager;
@@ -654,16 +653,16 @@
public void addQueueSettings(String name, long redeliveryDelay)
{
- QueueSettings qs = getMessagingServer().getQueueSettingsRepository().getMatch("*");
- QueueSettings newSets = new QueueSettings();
+ AddressSettings qs = getMessagingServer().getAddressSettingsRepository().getMatch("*");
+ AddressSettings newSets = new AddressSettings();
newSets.setRedeliveryDelay(redeliveryDelay);
newSets.merge(qs);
- getMessagingServer().getQueueSettingsRepository().addMatch(name, newSets);
+ getMessagingServer().getAddressSettingsRepository().addMatch(name, newSets);
}
public void removeQueueSettings(String name)
{
- getMessagingServer().getQueueSettingsRepository().removeMatch(name);
+ getMessagingServer().getAddressSettingsRepository().removeMatch(name);
}
public InitialContext getInitialContext() throws Exception
@@ -745,8 +744,8 @@
public void setRedeliveryDelayOnDestination(String dest, boolean queue, long delay) throws Exception
{
SimpleString condition = new SimpleString((queue ? "queuejms." : "topicjms.") + dest);
- QueueSettings queueSettings = new QueueSettings();
- queueSettings.setRedeliveryDelay(delay);
+ AddressSettings addressSettings = new AddressSettings();
+ addressSettings.setRedeliveryDelay(delay);
// FIXME we need to expose queue attributes in another way
// getMessagingServer().getServerManagement().setQueueAttributes(condition, queueSettings);
}
Modified: trunk/tests/src/org/jboss/messaging/tests/concurrent/server/impl/QueueTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/concurrent/server/impl/QueueTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/concurrent/server/impl/QueueTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -56,7 +56,7 @@
*/
public void testConcurrentAddsDeliver() throws Exception
{
- Queue queue = queueFactory.createQueue(1, new SimpleString("queue1"), null, false, false);
+ Queue queue = queueFactory.createQueue(1, new SimpleString("address1"), new SimpleString("queue1"), null, false, false);
FakeConsumer consumer = new FakeConsumer();
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/basic/AutoGroupClientTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/basic/AutoGroupClientTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/basic/AutoGroupClientTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -40,7 +40,7 @@
import org.jboss.messaging.core.server.Messaging;
import org.jboss.messaging.core.server.MessagingService;
import org.jboss.messaging.core.server.impl.GroupingRoundRobinDistributor;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.jms.client.JBossTextMessage;
import org.jboss.messaging.util.SimpleString;
@@ -54,7 +54,7 @@
public void testGroupIdAutomaticallySet() throws Exception
{
final SimpleString QUEUE = new SimpleString("testGroupQueue");
- QueueSettings qs = new QueueSettings();
+ AddressSettings qs = new AddressSettings();
qs.setDistributionPolicyClass(GroupingRoundRobinDistributor.class.getName());
Configuration conf = new ConfigurationImpl();
@@ -65,7 +65,7 @@
MessagingService messagingService = Messaging.newNullStorageMessagingService(conf);
- messagingService.getServer().getQueueSettingsRepository().addMatch("testGroupQueue", qs);
+ messagingService.getServer().getAddressSettingsRepository().addMatch("testGroupQueue", qs);
messagingService.start();
ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory"));
@@ -115,7 +115,7 @@
public void testGroupIdAutomaticallySetMultipleProducers() throws Exception
{
final SimpleString QUEUE = new SimpleString("testGroupQueue");
- QueueSettings qs = new QueueSettings();
+ AddressSettings qs = new AddressSettings();
qs.setDistributionPolicyClass(GroupingRoundRobinDistributor.class.getName());
Configuration conf = new ConfigurationImpl();
@@ -126,7 +126,7 @@
MessagingService messagingService = Messaging.newNullStorageMessagingService(conf);
- messagingService.getServer().getQueueSettingsRepository().addMatch("testGroupQueue", qs);
+ messagingService.getServer().getAddressSettingsRepository().addMatch("testGroupQueue", qs);
messagingService.start();
ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory"));
@@ -185,7 +185,7 @@
public void testGroupIdAutomaticallyNotSet() throws Exception
{
final SimpleString QUEUE = new SimpleString("testGroupQueue");
- QueueSettings qs = new QueueSettings();
+ AddressSettings qs = new AddressSettings();
qs.setDistributionPolicyClass(GroupingRoundRobinDistributor.class.getName());
Configuration conf = new ConfigurationImpl();
@@ -194,7 +194,7 @@
conf.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMAcceptorFactory"));
MessagingService messagingService = Messaging.newNullStorageMessagingService(conf);
- messagingService.getServer().getQueueSettingsRepository().addMatch("testGroupQueue", qs);
+ messagingService.getServer().getAddressSettingsRepository().addMatch("testGroupQueue", qs);
messagingService.start();
ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory"));
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/chunkmessage/MessageChunkTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/chunkmessage/MessageChunkTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/chunkmessage/MessageChunkTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -46,7 +46,7 @@
import org.jboss.messaging.core.remoting.impl.RemotingConnectionImpl;
import org.jboss.messaging.core.remoting.impl.RemotingServiceImpl;
import org.jboss.messaging.core.remoting.spi.MessagingBuffer;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.tests.integration.chunkmessage.mock.MockConnector;
import org.jboss.messaging.tests.integration.chunkmessage.mock.MockConnectorFactory;
import org.jboss.messaging.util.DataConstants;
@@ -87,7 +87,7 @@
Configuration config = createDefaultConfig();
- messagingService = createService(true, config, new HashMap<String, QueueSettings>());
+ messagingService = createService(true, config, new HashMap<String, AddressSettings>());
messagingService.start();
@@ -113,7 +113,7 @@
config.setPagingMaxGlobalSizeBytes(20 * 1024);
config.setPagingDefaultSize(10 * 1024);
- messagingService = createService(true, config, new HashMap<String, QueueSettings>());
+ messagingService = createService(true, config, new HashMap<String, AddressSettings>());
messagingService.start();
@@ -631,7 +631,7 @@
config.setPagingMaxGlobalSizeBytes(20 * 1024);
config.setPagingDefaultSize(10 * 1024);
- messagingService = createService(realFiles, config, new HashMap<String, QueueSettings>());
+ messagingService = createService(realFiles, config, new HashMap<String, AddressSettings>());
messagingService.start();
@@ -695,7 +695,7 @@
{
messagingService.stop();
- messagingService = createService(true, config, new HashMap<String, QueueSettings>());
+ messagingService = createService(true, config, new HashMap<String, AddressSettings>());
messagingService.start();
sf = createInVMFactory();
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/paging/PageCrashTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/paging/PageCrashTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/paging/PageCrashTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -57,7 +57,7 @@
import org.jboss.messaging.core.server.MessagingService;
import org.jboss.messaging.core.server.impl.MessagingServerImpl;
import org.jboss.messaging.core.server.impl.MessagingServiceImpl;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.tests.util.ServiceTestBase;
import org.jboss.messaging.util.OrderedExecutorFactory;
import org.jboss.messaging.util.SimpleString;
@@ -107,7 +107,7 @@
config.setPagingMaxGlobalSizeBytes(100 * 1024);
config.setPagingDefaultSize(10 * 1024);
- MessagingService messagingService = createService(true, config, new HashMap<String, QueueSettings>());
+ MessagingService messagingService = createService(true, config, new HashMap<String, AddressSettings>());
messagingService.start();
@@ -285,7 +285,7 @@
return new PagingManagerImpl(new FailurePagingStoreFactoryNIO(super.getConfiguration().getPagingDirectory(),
super.getConfiguration().getPagingMaxThreads()),
super.getStorageManager(),
- super.getQueueSettingsRepository(),
+ super.getAddressSettingsRepository(),
super.getConfiguration().getPagingMaxGlobalSizeBytes(),
super.getConfiguration().getPagingDefaultSize(),
super.getConfiguration().isJournalSyncNonTransactional(),
@@ -315,7 +315,7 @@
// Public --------------------------------------------------------
@Override
- public synchronized PagingStore newStore(final SimpleString destinationName, final QueueSettings settings) throws Exception
+ public synchronized PagingStore newStore(final SimpleString destinationName, final AddressSettings settings) throws Exception
{
Field factoryField = PagingStoreFactoryNIO.class.getDeclaredField("executorFactory");
factoryField.setAccessible(true);
@@ -341,11 +341,11 @@
* @param fileFactory
* @param storeFactory
* @param storeName
- * @param queueSettings
+ * @param addressSettings
* @param executor
*/
public FailingPagingStore(final SimpleString storeName,
- final QueueSettings queueSettings,
+ final AddressSettings addressSettings,
final Executor executor)
{
super(getPostOffice().getPagingManager(),
@@ -354,7 +354,7 @@
null,
FailurePagingStoreFactoryNIO.this,
storeName,
- queueSettings,
+ addressSettings,
executor);
}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/paging/PagingManagerIntegrationTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/paging/PagingManagerIntegrationTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/paging/PagingManagerIntegrationTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -38,7 +38,7 @@
import org.jboss.messaging.core.server.impl.ServerMessageImpl;
import org.jboss.messaging.core.settings.HierarchicalRepository;
import org.jboss.messaging.core.settings.impl.HierarchicalObjectRepository;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.tests.util.RandomUtil;
import org.jboss.messaging.tests.util.UnitTestCase;
import org.jboss.messaging.util.SimpleString;
@@ -64,8 +64,8 @@
public void testPagingManager() throws Exception
{
- HierarchicalRepository<QueueSettings> queueSettings = new HierarchicalObjectRepository<QueueSettings>();
- queueSettings.setDefault(new QueueSettings());
+ HierarchicalRepository<AddressSettings> queueSettings = new HierarchicalObjectRepository<AddressSettings>();
+ queueSettings.setDefault(new AddressSettings());
PagingManagerImpl managerImpl = new PagingManagerImpl(new PagingStoreFactoryNIO(getPageDir(), 10),
new NullStorageManager(),
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/paging/PagingServiceIntegrationTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/paging/PagingServiceIntegrationTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/paging/PagingServiceIntegrationTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -39,7 +39,7 @@
import org.jboss.messaging.core.remoting.spi.MessagingBuffer;
import org.jboss.messaging.core.server.MessagingService;
import org.jboss.messaging.core.server.Queue;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.tests.util.ServiceTestBase;
import org.jboss.messaging.util.DataConstants;
import org.jboss.messaging.util.SimpleString;
@@ -84,7 +84,7 @@
config.setPagingMaxGlobalSizeBytes(100 * 1024);
config.setPagingDefaultSize(10 * 1024);
- MessagingService messagingService = createService(true, config, new HashMap<String, QueueSettings>());
+ MessagingService messagingService = createService(true, config, new HashMap<String, AddressSettings>());
messagingService.start();
@@ -138,7 +138,7 @@
messagingService.stop();
- messagingService = createService(true, config, new HashMap<String, QueueSettings>());
+ messagingService = createService(true, config, new HashMap<String, AddressSettings>());
messagingService.start();
sf = createInVMFactory();
@@ -212,7 +212,7 @@
config.setPagingMaxGlobalSizeBytes(100 * 1024);
config.setPagingDefaultSize(10 * 1024);
- MessagingService messagingService = createService(true, config, new HashMap<String, QueueSettings>());
+ MessagingService messagingService = createService(true, config, new HashMap<String, AddressSettings>());
messagingService.start();
@@ -352,7 +352,7 @@
config.setPagingMaxGlobalSizeBytes(100 * 1024);
config.setPagingDefaultSize(10 * 1024);
- MessagingService messagingService = createService(true, config, new HashMap<String, QueueSettings>());
+ MessagingService messagingService = createService(true, config, new HashMap<String, AddressSettings>());
messagingService.start();
@@ -415,7 +415,7 @@
messagingService.stop();
- messagingService = createService(true, config, new HashMap<String, QueueSettings>());
+ messagingService = createService(true, config, new HashMap<String, AddressSettings>());
messagingService.start();
sf = createInVMFactory();
@@ -484,7 +484,7 @@
config.setPagingMaxGlobalSizeBytes(100 * 1024);
config.setPagingDefaultSize(10 * 1024);
- MessagingService messagingService = createService(true, config, new HashMap<String, QueueSettings>());
+ MessagingService messagingService = createService(true, config, new HashMap<String, AddressSettings>());
messagingService.start();
@@ -563,7 +563,7 @@
config.setPagingMaxGlobalSizeBytes(100 * 1024);
config.setPagingDefaultSize(10 * 1024);
- MessagingService messagingService = createService(true, config, new HashMap<String, QueueSettings>());
+ MessagingService messagingService = createService(true, config, new HashMap<String, AddressSettings>());
messagingService.start();
@@ -676,9 +676,9 @@
config.setPagingDefaultSize(10 * 1024);
- HashMap<String, QueueSettings> settings = new HashMap<String, QueueSettings>();
+ HashMap<String, AddressSettings> settings = new HashMap<String, AddressSettings>();
- QueueSettings set = new QueueSettings();
+ AddressSettings set = new AddressSettings();
set.setDropMessagesWhenFull(true);
if (!global)
{
@@ -842,7 +842,7 @@
config.setPagingMaxGlobalSizeBytes(100 * 1024);
config.setPagingDefaultSize(10 * 1024);
- MessagingService messagingService = createService(true, config, new HashMap<String, QueueSettings>());
+ MessagingService messagingService = createService(true, config, new HashMap<String, AddressSettings>());
messagingService.start();
@@ -886,7 +886,7 @@
messagingService.stop();
- messagingService = createService(true, config, new HashMap<String, QueueSettings>());
+ messagingService = createService(true, config, new HashMap<String, AddressSettings>());
messagingService.start();
sf = createInVMFactory();
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/queue/DeadLetterAddressTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/queue/DeadLetterAddressTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/queue/DeadLetterAddressTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -40,7 +40,7 @@
import org.jboss.messaging.core.server.Messaging;
import org.jboss.messaging.core.server.MessagingService;
import org.jboss.messaging.core.server.Queue;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.impl.XidImpl;
import org.jboss.messaging.tests.util.UnitTestCase;
import org.jboss.messaging.util.SimpleString;
@@ -59,10 +59,10 @@
Xid xid = new XidImpl("bq".getBytes(), 0, "gt".getBytes());
SimpleString dla = new SimpleString("DLA");
SimpleString qName = new SimpleString("q1");
- QueueSettings queueSettings = new QueueSettings();
- queueSettings.setMaxDeliveryAttempts(1);
- queueSettings.setDeadLetterAddress(dla);
- messagingService.getServer().getQueueSettingsRepository().addMatch(qName.toString(), queueSettings);
+ AddressSettings addressSettings = new AddressSettings();
+ addressSettings.setMaxDeliveryAttempts(1);
+ addressSettings.setDeadLetterAddress(dla);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(qName.toString(), addressSettings);
SimpleString dlq = new SimpleString("DLQ1");
clientSession.createQueue(dla, dlq, null, false, false);
clientSession.createQueue(qName, qName, null, false, false);
@@ -92,10 +92,10 @@
Xid xid = new XidImpl("bq".getBytes(), 0, "gt".getBytes());
SimpleString dla = new SimpleString("DLA");
SimpleString qName = new SimpleString("q1");
- QueueSettings queueSettings = new QueueSettings();
- queueSettings.setMaxDeliveryAttempts(1);
- queueSettings.setDeadLetterAddress(dla);
- messagingService.getServer().getQueueSettingsRepository().addMatch(qName.toString(), queueSettings);
+ AddressSettings addressSettings = new AddressSettings();
+ addressSettings.setMaxDeliveryAttempts(1);
+ addressSettings.setDeadLetterAddress(dla);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(qName.toString(), addressSettings);
SimpleString dlq = new SimpleString("DLQ1");
SimpleString dlq2 = new SimpleString("DLQ2");
clientSession.createQueue(dla, dlq, null, false, false);
@@ -135,9 +135,9 @@
{
Xid xid = new XidImpl("bq".getBytes(), 0, "gt".getBytes());
SimpleString qName = new SimpleString("q1");
- QueueSettings queueSettings = new QueueSettings();
- queueSettings.setMaxDeliveryAttempts(1);
- messagingService.getServer().getQueueSettingsRepository().addMatch(qName.toString(), queueSettings);
+ AddressSettings addressSettings = new AddressSettings();
+ addressSettings.setMaxDeliveryAttempts(1);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(qName.toString(), addressSettings);
clientSession.createQueue(qName, qName, null, false, false);
ClientProducer producer = clientSession.createProducer(qName);
producer.send(createTextMessage("heyho!", clientSession));
@@ -163,10 +163,10 @@
Xid xid = new XidImpl("bq".getBytes(), 0, "gt".getBytes());
SimpleString dla = new SimpleString("DLA");
SimpleString qName = new SimpleString("q1");
- QueueSettings queueSettings = new QueueSettings();
- queueSettings.setMaxDeliveryAttempts(MAX_DELIVERIES);
- queueSettings.setDeadLetterAddress(dla);
- messagingService.getServer().getQueueSettingsRepository().addMatch(qName.toString(), queueSettings);
+ AddressSettings addressSettings = new AddressSettings();
+ addressSettings.setMaxDeliveryAttempts(MAX_DELIVERIES);
+ addressSettings.setDeadLetterAddress(dla);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(qName.toString(), addressSettings);
SimpleString dlq = new SimpleString("DLQ1");
clientSession.createQueue(dla, dlq, null, false, false);
clientSession.createQueue(qName, qName, null, false, false);
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/queue/ExpiryAddressTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/queue/ExpiryAddressTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/queue/ExpiryAddressTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -35,7 +35,7 @@
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.server.Messaging;
import org.jboss.messaging.core.server.MessagingService;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.tests.util.UnitTestCase;
import org.jboss.messaging.util.SimpleString;
@@ -55,9 +55,9 @@
SimpleString ea = new SimpleString("EA");
SimpleString qName = new SimpleString("q1");
SimpleString eq = new SimpleString("EA1");
- QueueSettings queueSettings = new QueueSettings();
- queueSettings.setExpiryAddress(ea);
- messagingService.getServer().getQueueSettingsRepository().addMatch(qName.toString(), queueSettings);
+ AddressSettings addressSettings = new AddressSettings();
+ addressSettings.setExpiryAddress(ea);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(qName.toString(), addressSettings);
clientSession.createQueue(ea, eq, null, false, false);
clientSession.createQueue(qName, qName, null, false, false);
@@ -90,9 +90,9 @@
SimpleString qName = new SimpleString("q1");
SimpleString eq = new SimpleString("EQ1");
SimpleString eq2 = new SimpleString("EQ2");
- QueueSettings queueSettings = new QueueSettings();
- queueSettings.setExpiryAddress(ea);
- messagingService.getServer().getQueueSettingsRepository().addMatch(qName.toString(), queueSettings);
+ AddressSettings addressSettings = new AddressSettings();
+ addressSettings.setExpiryAddress(ea);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(qName.toString(), addressSettings);
clientSession.createQueue(ea, eq, null, false, false);
clientSession.createQueue(ea, eq2, null, false, false);
clientSession.createQueue(qName, qName, null, false, false);
@@ -173,9 +173,9 @@
final int NUM_MESSAGES = 5;
SimpleString ea = new SimpleString("DLA");
SimpleString qName = new SimpleString("q1");
- QueueSettings queueSettings = new QueueSettings();
- queueSettings.setExpiryAddress(ea);
- messagingService.getServer().getQueueSettingsRepository().addMatch(qName.toString(), queueSettings);
+ AddressSettings addressSettings = new AddressSettings();
+ addressSettings.setExpiryAddress(ea);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(qName.toString(), addressSettings);
SimpleString eq = new SimpleString("EA1");
clientSession.createQueue(ea, eq, null, false, false);
clientSession.createQueue(qName, qName, null, false, false);
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/queue/ExpiryRunnerTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/queue/ExpiryRunnerTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/queue/ExpiryRunnerTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -42,7 +42,7 @@
import org.jboss.messaging.core.server.Messaging;
import org.jboss.messaging.core.server.MessagingService;
import org.jboss.messaging.core.server.Queue;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.tests.util.UnitTestCase;
import org.jboss.messaging.util.SimpleString;
@@ -93,9 +93,9 @@
{
ClientProducer producer = clientSession.createProducer(qName);
clientSession.createQueue(qName2, qName2, null, false, false);
- QueueSettings queueSettings = new QueueSettings();
- queueSettings.setExpiryAddress(expiryAddress);
- messagingService.getServer().getQueueSettingsRepository().addMatch(qName2.toString(), queueSettings);
+ AddressSettings addressSettings = new AddressSettings();
+ addressSettings.setExpiryAddress(expiryAddress);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(qName2.toString(), addressSettings);
ClientProducer producer2 = clientSession.createProducer(qName2);
int numMessages = 100;
long expiration = System.currentTimeMillis();
@@ -191,9 +191,9 @@
public void testExpireToMultipleQueues() throws Exception
{
clientSession.createQueue(qName, qName2, null, false, false);
- QueueSettings queueSettings = new QueueSettings();
- queueSettings.setExpiryAddress(expiryAddress);
- messagingService.getServer().getQueueSettingsRepository().addMatch(qName2.toString(), queueSettings);
+ AddressSettings addressSettings = new AddressSettings();
+ addressSettings.setExpiryAddress(expiryAddress);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(qName2.toString(), addressSettings);
ClientProducer producer = clientSession.createProducer(qName);
int numMessages = 100;
long expiration = System.currentTimeMillis();
@@ -303,10 +303,10 @@
clientSession.createQueue(qName, qName, null, false, false);
expiryAddress = new SimpleString("EA");
expiryQueue = new SimpleString("expiryQ");
- QueueSettings queueSettings = new QueueSettings();
- queueSettings.setExpiryAddress(expiryAddress);
- messagingService.getServer().getQueueSettingsRepository().addMatch(qName.toString(), queueSettings);
- messagingService.getServer().getQueueSettingsRepository().addMatch(qName2.toString(), queueSettings);
+ AddressSettings addressSettings = new AddressSettings();
+ addressSettings.setExpiryAddress(expiryAddress);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(qName.toString(), addressSettings);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(qName2.toString(), addressSettings);
clientSession.createQueue(expiryAddress, expiryQueue, null, false, false);
}
Added: trunk/tests/src/org/jboss/messaging/tests/integration/queue/FakeStorageManager.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/queue/FakeStorageManager.java (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/queue/FakeStorageManager.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -0,0 +1,68 @@
+/*
+ * 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.integration.queue;
+
+import org.jboss.messaging.core.persistence.impl.nullpm.NullStorageManager;
+import org.jboss.messaging.core.server.ServerMessage;
+
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * @author <a href="mailto:andy.taylor at jboss.org">Andy Taylor</a>
+ */
+public class FakeStorageManager extends NullStorageManager
+{
+ List<Long> messageIds = new ArrayList<Long>();
+
+ List<Long> ackIds = new ArrayList<Long>();
+
+ public void storeMessage(ServerMessage message) throws Exception
+ {
+ messageIds.add(message.getMessageID());
+ }
+
+ public void storeMessageTransactional(long txID, ServerMessage message) throws Exception
+ {
+ messageIds.add(message.getMessageID());
+ }
+
+ public void deleteMessageTransactional(long txID, long queueID, long messageID) throws Exception
+ {
+ messageIds.remove(messageID);
+ }
+
+ public void deleteMessage(long messageID) throws Exception
+ {
+ messageIds.remove(messageID);
+ }
+
+ public void storeAcknowledge(long queueID, long messageID) throws Exception
+ {
+ ackIds.add(messageID);
+ }
+
+ public void storeAcknowledgeTransactional(long txID, long queueID, long messageiD) throws Exception
+ {
+ ackIds.add(messageiD);
+ }
+}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/queue/MessageGroupingTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/queue/MessageGroupingTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/queue/MessageGroupingTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -42,7 +42,7 @@
import org.jboss.messaging.core.server.Messaging;
import org.jboss.messaging.core.server.MessagingService;
import org.jboss.messaging.core.server.impl.GroupingRoundRobinDistributor;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.impl.XidImpl;
import org.jboss.messaging.tests.util.UnitTestCase;
import org.jboss.messaging.util.SimpleString;
@@ -555,9 +555,9 @@
// start the server
messagingService.start();
- QueueSettings qs = new QueueSettings();
+ AddressSettings qs = new AddressSettings();
qs.setDistributionPolicyClass(GroupingRoundRobinDistributor.class.getName());
- messagingService.getServer().getQueueSettingsRepository().addMatch(qName.toString(), qs);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(qName.toString(), qs);
// then we create a client as normal
ClientSessionFactory sessionFactory = new ClientSessionFactoryImpl(new TransportConfiguration(INVM_CONNECTOR_FACTORY));
clientSession = sessionFactory.createSession(false, true, true);
Added: trunk/tests/src/org/jboss/messaging/tests/integration/queue/SoloQueueRecoveryTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/queue/SoloQueueRecoveryTest.java (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/queue/SoloQueueRecoveryTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -0,0 +1,232 @@
+/*
+ * 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.integration.queue;
+
+import org.jboss.messaging.core.client.ClientConsumer;
+import org.jboss.messaging.core.client.ClientMessage;
+import org.jboss.messaging.core.client.ClientProducer;
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
+import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.config.impl.ConfigurationImpl;
+import org.jboss.messaging.core.exception.MessagingException;
+import org.jboss.messaging.core.message.impl.MessageImpl;
+import org.jboss.messaging.core.server.MessagingService;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
+import org.jboss.messaging.core.transaction.impl.XidImpl;
+import org.jboss.messaging.tests.util.ServiceTestBase;
+import org.jboss.messaging.util.SimpleString;
+
+import javax.transaction.xa.XAResource;
+import javax.transaction.xa.Xid;
+
+/**
+ * @author <a href="mailto:andy.taylor at jboss.org">Andy Taylor</a>
+ */
+public class SoloQueueRecoveryTest extends ServiceTestBase
+{
+ private MessagingService messagingService;
+
+ private ClientSession clientSession;
+
+ private SimpleString address = new SimpleString("SoloQueueTestAddress");
+
+ private SimpleString qName1 = new SimpleString("SoloQueueTestQ1");
+
+ private ClientSession clientSessionXa;
+
+ private ConfigurationImpl configuration;
+
+ private AddressSettings qs;
+
+ public void testMultipleMessagesAfterRecovery() throws Exception
+ {
+ Xid xid = new XidImpl("bq1".getBytes(), 4, "gtid1".getBytes());
+ ClientProducer producer = clientSessionXa.createProducer(address, -1, true, true);
+ SimpleString messageId1 = new SimpleString("SMID1");
+ SimpleString messageId2 = new SimpleString("SMID2");
+ clientSessionXa.start(xid, XAResource.TMNOFLAGS);
+ ClientMessage m1 = createTextMessage("m1", clientSession);
+ m1.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, messageId1);
+ ClientMessage m2 = createTextMessage("m2", clientSession);
+ m2.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, messageId2);
+ ClientMessage m3 = createTextMessage("m3", clientSession);
+ m3.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, messageId1);
+ ClientMessage m4 = createTextMessage("m4", clientSession);
+ m4.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, messageId2);
+ producer.send(m1);
+ producer.send(m2);
+ producer.send(m3);
+ producer.send(m4);
+ clientSessionXa.end(xid, XAResource.TMSUCCESS);
+ clientSessionXa.prepare(xid);
+ restartServer();
+ clientSessionXa.commit(xid, true);
+ ClientConsumer consumer = clientSession.createConsumer(qName1);
+ clientSession.start();
+ ClientMessage m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m3");
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m4");
+ }
+
+ public void testManyMessagesReceivedWithRollback() throws Exception
+ {
+ Xid xid = new XidImpl("bq1".getBytes(), 4, "gtid1".getBytes());
+ ClientProducer producer = clientSession.createProducer(address, -1, true, true);
+ ClientConsumer consumer = clientSessionXa.createConsumer(qName1);
+
+ SimpleString rh = new SimpleString("SMID1");
+ ClientMessage m1 = createTextMessage("m1", clientSession);
+ m1.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m1.setDurable(true);
+ ClientMessage m2 = createTextMessage("m2", clientSession);
+ m2.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m2.setDurable(true);
+ ClientMessage m3 = createTextMessage("m3", clientSession);
+ m3.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m3.setDurable(true);
+ ClientMessage m4 = createTextMessage("m4", clientSession);
+ m4.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m4.setDurable(true);
+ ClientMessage m5 = createTextMessage("m5", clientSession);
+ m5.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m5.setDurable(true);
+ ClientMessage m6 = createTextMessage("m6", clientSession);
+ m6.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m6.setDurable(true);
+ clientSessionXa.start(xid, XAResource.TMNOFLAGS);
+ clientSessionXa.start();
+ producer.send(m1);
+ ClientMessage m = consumer.receive(1000);
+ assertNotNull(m);
+ assertEquals(m.getBody().getString(), "m1");
+ producer.send(m2);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ assertEquals(m.getBody().getString(), "m2");
+ producer.send(m3);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ assertEquals(m.getBody().getString(), "m3");
+ producer.send(m4);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ assertEquals(m.getBody().getString(), "m4");
+ producer.send(m5);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ assertEquals(m.getBody().getString(), "m5");
+ producer.send(m6);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ assertEquals(m.getBody().getString(), "m6");
+ clientSessionXa.end(xid, XAResource.TMSUCCESS);
+ clientSessionXa.prepare(xid);
+
+ restartServer();
+ clientSessionXa.rollback(xid);
+ consumer = clientSession.createConsumer(qName1);
+ clientSession.start();
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m6");
+ m = consumer.receive(1000);
+ assertNull(m);
+ }
+ protected void tearDown() throws Exception
+ {
+ if (clientSession != null)
+ {
+ try
+ {
+ clientSession.close();
+ }
+ catch (MessagingException e1)
+ {
+ //
+ }
+ }
+ if (messagingService != null && messagingService.isStarted())
+ {
+ try
+ {
+ messagingService.stop();
+ }
+ catch (Exception e1)
+ {
+ //
+ }
+ }
+ messagingService = null;
+ clientSession = null;
+ }
+
+ protected void setUp() throws Exception
+ {
+ clearData();
+ configuration = createFileConfig();
+ configuration.setSecurityEnabled(false);
+ TransportConfiguration transportConfig = new TransportConfiguration(INVM_ACCEPTOR_FACTORY);
+ configuration.getAcceptorConfigurations().add(transportConfig);
+ messagingService = createService(true, configuration);
+ // start the server
+ messagingService.start();
+
+ qs = new AddressSettings();
+ qs.setSoloQueue(true);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(address.toString(), qs);
+ // then we create a client as normal
+ ClientSessionFactory sessionFactory = new ClientSessionFactoryImpl(new TransportConfiguration(INVM_CONNECTOR_FACTORY));
+ sessionFactory.setBlockOnAcknowledge(true);
+ sessionFactory.setAckBatchSize(0);
+ clientSession = sessionFactory.createSession(false, true, true);
+ clientSessionXa = sessionFactory.createSession(true, false, false);
+ clientSession.createQueue(address, qName1, null, true, false);
+ }
+
+ private void restartServer() throws Exception
+ {
+ messagingService.stop();
+ messagingService = null;
+ messagingService = createService(true, configuration);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(address.toString(), qs);
+ // start the server
+ messagingService.start();
+
+ AddressSettings qs = new AddressSettings();
+ qs.setSoloQueue(true);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(address.toString(), qs);
+ // then we create a client as normal
+ ClientSessionFactory sessionFactory = new ClientSessionFactoryImpl(new TransportConfiguration(INVM_CONNECTOR_FACTORY));
+ sessionFactory.setBlockOnAcknowledge(true);
+ sessionFactory.setAckBatchSize(0);
+ clientSession = sessionFactory.createSession(false, true, true);
+ clientSessionXa = sessionFactory.createSession(true, false, false);
+ }
+}
Added: trunk/tests/src/org/jboss/messaging/tests/integration/queue/SoloQueueTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/queue/SoloQueueTest.java (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/queue/SoloQueueTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -0,0 +1,580 @@
+/*
+ * 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.integration.queue;
+
+import org.jboss.messaging.core.client.ClientConsumer;
+import org.jboss.messaging.core.client.ClientMessage;
+import org.jboss.messaging.core.client.ClientProducer;
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
+import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.config.impl.ConfigurationImpl;
+import org.jboss.messaging.core.exception.MessagingException;
+import org.jboss.messaging.core.message.impl.MessageImpl;
+import org.jboss.messaging.core.server.Messaging;
+import org.jboss.messaging.core.server.MessagingService;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
+import org.jboss.messaging.tests.util.UnitTestCase;
+import org.jboss.messaging.util.SimpleString;
+
+/**
+ * @author <a href="mailto:andy.taylor at jboss.org">Andy Taylor</a>
+ */
+public class SoloQueueTest extends UnitTestCase
+{
+ private MessagingService messagingService;
+
+ private ClientSession clientSession;
+
+ private ClientSession clientSessionTxReceives;
+
+ private ClientSession clientSessionTxSends;
+
+ private SimpleString address = new SimpleString("SoloQueueTestAddress");
+
+ private SimpleString qName1 = new SimpleString("SoloQueueTestQ1");
+
+ private FakeStorageManager storageManager;
+
+
+ public void testSimple() throws Exception
+ {
+ ClientProducer producer = clientSession.createProducer(address, -1, true, true);
+ ClientConsumer consumer = clientSession.createConsumer(qName1);
+ ClientMessage m1 = createTextMessage("m1", clientSession);
+ SimpleString rh = new SimpleString("SMID1");
+ m1.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ ClientMessage m2 = createTextMessage("m2", clientSession);
+ m2.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ producer.send(m1);
+ producer.send(m2);
+ clientSession.start();
+ ClientMessage m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m2");
+ }
+
+ public void testMultipleMessages() throws Exception
+ {
+ ClientProducer producer = clientSession.createProducer(address, -1, true, true);
+ ClientConsumer consumer = clientSession.createConsumer(qName1);
+ SimpleString messageId1 = new SimpleString("SMID1");
+ SimpleString messageId2 = new SimpleString("SMID2");
+ ClientMessage m1 = createTextMessage("m1", clientSession);
+ m1.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, messageId1);
+ ClientMessage m2 = createTextMessage("m2", clientSession);
+ m2.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, messageId2);
+ ClientMessage m3 = createTextMessage("m3", clientSession);
+ m3.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, messageId1);
+ ClientMessage m4 = createTextMessage("m4", clientSession);
+ m4.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, messageId2);
+ producer.send(m1);
+ producer.send(m2);
+ producer.send(m3);
+ producer.send(m4);
+ clientSession.start();
+ ClientMessage m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m3");
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m4");
+ }
+
+ public void testFirstMessageReceivedButAckedAfter() throws Exception
+ {
+ ClientProducer producer = clientSession.createProducer(address, -1, true, true);
+ ClientConsumer consumer = clientSession.createConsumer(qName1);
+ ClientMessage m1 = createTextMessage("m1", clientSession);
+ SimpleString rh = new SimpleString("SMID1");
+ m1.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ ClientMessage m2 = createTextMessage("m2", clientSession);
+ m2.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ producer.send(m1);
+ clientSession.start();
+ ClientMessage m = consumer.receive(1000);
+ assertNotNull(m);
+ producer.send(m2);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m1");
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m2");
+ }
+
+ public void testFirstMessageReceivedAndCancelled() throws Exception
+ {
+ ClientProducer producer = clientSession.createProducer(address, -1, true, true);
+ ClientConsumer consumer = clientSession.createConsumer(qName1);
+ ClientMessage m1 = createTextMessage("m1", clientSession);
+ SimpleString rh = new SimpleString("SMID1");
+ m1.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ ClientMessage m2 = createTextMessage("m2", clientSession);
+ m2.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ producer.send(m1);
+ clientSession.start();
+ ClientMessage m = consumer.receive(1000);
+ assertNotNull(m);
+ producer.send(m2);
+ consumer.close();
+ consumer = clientSession.createConsumer(qName1);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m2");
+ m = consumer.receive(1000);
+ assertNull(m);
+ }
+
+ public void testManyMessagesReceivedAndCancelled() throws Exception
+ {
+ ClientProducer producer = clientSession.createProducer(address, -1, true, true);
+ ClientConsumer consumer = clientSession.createConsumer(qName1);
+
+ SimpleString rh = new SimpleString("SMID1");
+ ClientMessage m1 = createTextMessage("m1", clientSession);
+ m1.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ ClientMessage m2 = createTextMessage("m2", clientSession);
+ m2.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ ClientMessage m3 = createTextMessage("m3", clientSession);
+ m3.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ ClientMessage m4 = createTextMessage("m4", clientSession);
+ m4.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ ClientMessage m5 = createTextMessage("m5", clientSession);
+ m5.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ ClientMessage m6 = createTextMessage("m6", clientSession);
+ m6.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ clientSession.start();
+ producer.send(m1);
+ ClientMessage m = consumer.receive(1000);
+ assertNotNull(m);
+ assertEquals(m.getBody().getString(), "m1");
+ producer.send(m2);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ assertEquals(m.getBody().getString(), "m2");
+ producer.send(m3);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ assertEquals(m.getBody().getString(), "m3");
+ producer.send(m4);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ assertEquals(m.getBody().getString(), "m4");
+ producer.send(m5);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ assertEquals(m.getBody().getString(), "m5");
+ producer.send(m6);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ assertEquals(m.getBody().getString(), "m6");
+ consumer.close();
+ consumer = clientSession.createConsumer(qName1);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m6");
+ m = consumer.receive(1000);
+ assertNull(m);
+ }
+
+ public void testSimpleInTx() throws Exception
+ {
+
+ ClientProducer producer = clientSessionTxReceives.createProducer(address, -1, true, true);
+ ClientConsumer consumer = clientSessionTxReceives.createConsumer(qName1);
+ ClientMessage m1 = createTextMessage("m1", clientSession);
+ SimpleString rh = new SimpleString("SMID1");
+ m1.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ ClientMessage m2 = createTextMessage("m2", clientSession);
+ m2.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ producer.send(m1);
+ producer.send(m2);
+ clientSessionTxReceives.start();
+ ClientMessage m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m2");
+ }
+
+ public void testMultipleMessagesInTx() throws Exception
+ {
+ ClientProducer producer = clientSessionTxReceives.createProducer(address, -1, true, true);
+ ClientConsumer consumer = clientSessionTxReceives.createConsumer(qName1);
+ SimpleString messageId1 = new SimpleString("SMID1");
+ SimpleString messageId2 = new SimpleString("SMID2");
+ ClientMessage m1 = createTextMessage("m1", clientSession);
+ m1.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, messageId1);
+ ClientMessage m2 = createTextMessage("m2", clientSession);
+ m2.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, messageId2);
+ ClientMessage m3 = createTextMessage("m3", clientSession);
+ m3.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, messageId1);
+ ClientMessage m4 = createTextMessage("m4", clientSession);
+ m4.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, messageId2);
+ producer.send(m1);
+ producer.send(m2);
+ producer.send(m3);
+ producer.send(m4);
+ clientSessionTxReceives.start();
+ ClientMessage m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m3");
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m4");
+ clientSessionTxReceives.commit();
+ m = consumer.receive(1000);
+ assertNull(m);
+ }
+
+ public void testMultipleMessagesInTxRollback() throws Exception
+ {
+ ClientProducer producer = clientSessionTxReceives.createProducer(address, -1, true, true);
+ ClientConsumer consumer = clientSessionTxReceives.createConsumer(qName1);
+ SimpleString messageId1 = new SimpleString("SMID1");
+ SimpleString messageId2 = new SimpleString("SMID2");
+ ClientMessage m1 = createTextMessage("m1", clientSession);
+ m1.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, messageId1);
+ ClientMessage m2 = createTextMessage("m2", clientSession);
+ m2.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, messageId2);
+ ClientMessage m3 = createTextMessage("m3", clientSession);
+ m3.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, messageId1);
+ ClientMessage m4 = createTextMessage("m4", clientSession);
+ m4.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, messageId2);
+ producer.send(m1);
+ producer.send(m2);
+ clientSessionTxReceives.start();
+ ClientMessage m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m1");
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m2");
+ producer.send(m3);
+ producer.send(m4);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m3");
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m4");
+ clientSessionTxReceives.rollback();
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m3");
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m4");
+ }
+
+ public void testMultipleMessagesInTxSend() throws Exception
+ {
+ ClientProducer producer = clientSessionTxSends.createProducer(address, -1, true, true);
+ ClientConsumer consumer = clientSessionTxSends.createConsumer(qName1);
+ SimpleString rh = new SimpleString("SMID1");
+ ClientMessage m1 = createTextMessage("m1", clientSession);
+ m1.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ ClientMessage m2 = createTextMessage("m2", clientSession);
+ m2.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ ClientMessage m3 = createTextMessage("m3", clientSession);
+ m3.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ ClientMessage m4 = createTextMessage("m4", clientSession);
+ m4.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ ClientMessage m5 = createTextMessage("m5", clientSession);
+ m5.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ ClientMessage m6 = createTextMessage("m6", clientSession);
+ m6.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ producer.send(m1);
+ producer.send(m2);
+ producer.send(m3);
+ producer.send(m4);
+ producer.send(m5);
+ producer.send(m6);
+ clientSessionTxSends.commit();
+ clientSessionTxSends.start();
+ ClientMessage m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m6");
+ }
+
+ public void testMultipleMessagesPersistedCorrectly() throws Exception
+ {
+ ClientProducer producer = clientSession.createProducer(address, -1, true, true);
+ ClientConsumer consumer = clientSession.createConsumer(qName1);
+ SimpleString rh = new SimpleString("SMID1");
+ ClientMessage m1 = createTextMessage("m1", clientSession);
+ m1.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m1.setDurable(true);
+ ClientMessage m2 = createTextMessage("m2", clientSession);
+ m2.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m2.setDurable(true);
+ ClientMessage m3 = createTextMessage("m3", clientSession);
+ m3.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m3.setDurable(true);
+ ClientMessage m4 = createTextMessage("m4", clientSession);
+ m4.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m4.setDurable(true);
+ ClientMessage m5 = createTextMessage("m5", clientSession);
+ m5.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m5.setDurable(true);
+ ClientMessage m6 = createTextMessage("m6", clientSession);
+ m6.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m6.setDurable(true);
+ producer.send(m1);
+ producer.send(m2);
+ producer.send(m3);
+ producer.send(m4);
+ producer.send(m5);
+ producer.send(m6);
+ assertEquals(1, storageManager.messageIds.size());
+ clientSession.start();
+ ClientMessage m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m6");
+ assertEquals(0, storageManager.messageIds.size());
+ }
+
+ public void testMultipleMessagesPersistedCorrectlyInTx() throws Exception
+ {
+ ClientProducer producer = clientSessionTxSends.createProducer(address, -1, true, true);
+ ClientConsumer consumer = clientSessionTxSends.createConsumer(qName1);
+ SimpleString rh = new SimpleString("SMID1");
+ ClientMessage m1 = createTextMessage("m1", clientSession);
+ m1.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m1.setDurable(true);
+ ClientMessage m2 = createTextMessage("m2", clientSession);
+ m2.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m2.setDurable(true);
+ ClientMessage m3 = createTextMessage("m3", clientSession);
+ m3.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m3.setDurable(true);
+ ClientMessage m4 = createTextMessage("m4", clientSession);
+ m4.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m4.setDurable(true);
+ ClientMessage m5 = createTextMessage("m5", clientSession);
+ m5.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m5.setDurable(true);
+ ClientMessage m6 = createTextMessage("m6", clientSession);
+ m6.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m6.setDurable(true);
+ producer.send(m1);
+ producer.send(m2);
+ producer.send(m3);
+ producer.send(m4);
+ producer.send(m5);
+ producer.send(m6);
+ clientSessionTxSends.commit();
+ assertEquals(1, storageManager.messageIds.size());
+ clientSessionTxSends.start();
+ ClientMessage m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m6");
+ assertEquals(0, storageManager.messageIds.size());
+ }
+
+ public void testMultipleAcksPersistedCorrectly() throws Exception
+ {
+ ClientProducer producer = clientSession.createProducer(address, -1, true, true);
+ ClientConsumer consumer = clientSession.createConsumer(qName1);
+ SimpleString rh = new SimpleString("SMID1");
+ ClientMessage m1 = createTextMessage("m1", clientSession);
+ m1.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m1.setDurable(true);
+ ClientMessage m2 = createTextMessage("m2", clientSession);
+ m2.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m2.setDurable(true);
+ ClientMessage m3 = createTextMessage("m3", clientSession);
+ m3.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m3.setDurable(true);
+ ClientMessage m4 = createTextMessage("m4", clientSession);
+ m4.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m4.setDurable(true);
+ ClientMessage m5 = createTextMessage("m5", clientSession);
+ m5.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m5.setDurable(true);
+ ClientMessage m6 = createTextMessage("m6", clientSession);
+ m6.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m6.setDurable(true);
+ clientSession.start();
+ producer.send(m1);
+ ClientMessage m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m1");
+ producer.send(m2);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m2");
+ producer.send(m3);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m3");
+ producer.send(m4);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m4");
+ producer.send(m5);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m5");
+ producer.send(m6);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m6");
+ assertEquals(6, storageManager.ackIds.size());
+ }
+
+ public void testMultipleAcksPersistedCorrectlyInTx() throws Exception
+ {
+ ClientProducer producer = clientSessionTxReceives.createProducer(address, -1, true, true);
+ ClientConsumer consumer = clientSessionTxReceives.createConsumer(qName1);
+ SimpleString rh = new SimpleString("SMID1");
+ ClientMessage m1 = createTextMessage("m1", clientSession);
+ m1.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m1.setDurable(true);
+ ClientMessage m2 = createTextMessage("m2", clientSession);
+ m2.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m2.setDurable(true);
+ ClientMessage m3 = createTextMessage("m3", clientSession);
+ m3.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m3.setDurable(true);
+ ClientMessage m4 = createTextMessage("m4", clientSession);
+ m4.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m4.setDurable(true);
+ ClientMessage m5 = createTextMessage("m5", clientSession);
+ m5.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m5.setDurable(true);
+ ClientMessage m6 = createTextMessage("m6", clientSession);
+ m6.putStringProperty(MessageImpl.HDR_SOLE_MESSAGE, rh);
+ m6.setDurable(true);
+ clientSessionTxReceives.start();
+ producer.send(m1);
+ ClientMessage m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m1");
+ producer.send(m2);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m2");
+ producer.send(m3);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m3");
+ producer.send(m4);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m4");
+ producer.send(m5);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m5");
+ producer.send(m6);
+ m = consumer.receive(1000);
+ assertNotNull(m);
+ m.acknowledge();
+ assertEquals(m.getBody().getString(), "m6");
+ clientSessionTxReceives.commit();
+ assertEquals(6, storageManager.ackIds.size());
+ }
+
+
+
+
+ protected void tearDown() throws Exception
+ {
+ if (clientSession != null)
+ {
+ try
+ {
+ clientSession.close();
+ }
+ catch (MessagingException e1)
+ {
+ //
+ }
+ }
+ if (messagingService != null && messagingService.isStarted())
+ {
+ try
+ {
+ messagingService.stop();
+ }
+ catch (Exception e1)
+ {
+ //
+ }
+ }
+ messagingService = null;
+ clientSession = null;
+ }
+
+ protected void setUp() throws Exception
+ {
+ ConfigurationImpl configuration = new ConfigurationImpl();
+ configuration.setSecurityEnabled(false);
+ TransportConfiguration transportConfig = new TransportConfiguration(INVM_ACCEPTOR_FACTORY);
+ configuration.getAcceptorConfigurations().add(transportConfig);
+ storageManager = new FakeStorageManager();
+ messagingService = Messaging.newMessagingService(configuration, storageManager);
+ // start the server
+ messagingService.start();
+
+ AddressSettings qs = new AddressSettings();
+ qs.setSoloQueue(true);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(address.toString(), qs);
+ // then we create a client as normal
+ ClientSessionFactory sessionFactory = new ClientSessionFactoryImpl(new TransportConfiguration(INVM_CONNECTOR_FACTORY));
+ sessionFactory.setBlockOnAcknowledge(true);
+ sessionFactory.setAckBatchSize(0);
+ clientSession = sessionFactory.createSession(false, true, true);
+ clientSessionTxReceives = sessionFactory.createSession(false, true, false);
+ clientSessionTxSends = sessionFactory.createSession(false, false, true);
+ clientSession.createQueue(address, qName1, null, true, false);
+ }
+}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/scheduling/ScheduledMessageTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/scheduling/ScheduledMessageTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/scheduling/ScheduledMessageTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -35,7 +35,7 @@
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.message.impl.MessageImpl;
import org.jboss.messaging.core.server.MessagingService;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.impl.XidImpl;
import org.jboss.messaging.jms.client.JBossTextMessage;
import org.jboss.messaging.tests.util.ServiceTestBase;
@@ -170,9 +170,9 @@
public void testPagedMessageDeliveredMultipleConsumersCorrectly() throws Exception
{
- QueueSettings qs = new QueueSettings();
+ AddressSettings qs = new AddressSettings();
qs.setRedeliveryDelay(5000l);
- messagingService.getServer().getQueueSettingsRepository().addMatch(atestq2.toString(), qs);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(atestq2.toString(), qs);
// then we create a client as normal
ClientSessionFactory sessionFactory = createInVMFactory();
ClientSession session = sessionFactory.createSession(false, true, false);
@@ -219,9 +219,9 @@
public void testPagedMessageDeliveredMultipleConsumersAfterRecoverCorrectly() throws Exception
{
- QueueSettings qs = new QueueSettings();
+ AddressSettings qs = new AddressSettings();
qs.setRedeliveryDelay(5000l);
- messagingService.getServer().getQueueSettingsRepository().addMatch(atestq2.toString(), qs);
+ messagingService.getServer().getAddressSettingsRepository().addMatch(atestq2.toString(), qs);
// then we create a client as normal
ClientSessionFactory sessionFactory = createInVMFactory();
ClientSession session = sessionFactory.createSession(false, true, false);
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/xa/BasicXaRecoveryTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/xa/BasicXaRecoveryTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/xa/BasicXaRecoveryTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -37,7 +37,7 @@
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.server.MessagingService;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.impl.XidImpl;
import org.jboss.messaging.jms.client.JBossBytesMessage;
import org.jboss.messaging.jms.client.JBossTextMessage;
@@ -53,7 +53,7 @@
{
private static Logger log = Logger.getLogger(BasicXaRecoveryTest.class);
- private final Map<String, QueueSettings> queueSettings = new HashMap<String, QueueSettings>();
+ private final Map<String, AddressSettings> queueSettings = new HashMap<String, AddressSettings>();
private MessagingService messagingService;
@@ -246,11 +246,11 @@
SimpleString pageQueue = new SimpleString("pagequeue");
- QueueSettings pageQueueSettings = new QueueSettings();
- pageQueueSettings.setMaxSizeBytes(100 * 1024);
- pageQueueSettings.setPageSizeBytes(10 * 1024);
+ AddressSettings pageAddressSettings = new AddressSettings();
+ pageAddressSettings.setMaxSizeBytes(100 * 1024);
+ pageAddressSettings.setPageSizeBytes(10 * 1024);
- queueSettings.put(pageQueue.toString(), pageQueueSettings);
+ queueSettings.put(pageQueue.toString(), pageAddressSettings);
addSettings();
@@ -329,11 +329,11 @@
SimpleString pageQueue = new SimpleString("pagequeue");
- QueueSettings pageQueueSettings = new QueueSettings();
- pageQueueSettings.setMaxSizeBytes(100 * 1024);
- pageQueueSettings.setPageSizeBytes(10 * 1024);
+ AddressSettings pageAddressSettings = new AddressSettings();
+ pageAddressSettings.setMaxSizeBytes(100 * 1024);
+ pageAddressSettings.setPageSizeBytes(10 * 1024);
- queueSettings.put(pageQueue.toString(), pageQueueSettings);
+ queueSettings.put(pageQueue.toString(), pageAddressSettings);
addSettings();
@@ -1221,9 +1221,9 @@
private void addSettings()
{
- for (Map.Entry<String, QueueSettings> setting : queueSettings.entrySet())
+ for (Map.Entry<String, AddressSettings> setting : queueSettings.entrySet())
{
- messagingService.getServer().getQueueSettingsRepository().addMatch(setting.getKey(), setting.getValue());
+ messagingService.getServer().getAddressSettingsRepository().addMatch(setting.getKey(), setting.getValue());
}
}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/xa/BasicXaTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/xa/BasicXaTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/xa/BasicXaTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -28,7 +28,7 @@
import org.jboss.messaging.core.client.ClientSessionFactory;
import org.jboss.messaging.core.transaction.impl.XidImpl;
import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.core.server.MessagingService;
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.exception.MessagingException;
@@ -48,7 +48,7 @@
{
private static Logger log = Logger.getLogger(BasicXaTest.class);
- private final Map<String, QueueSettings> queueSettings = new HashMap<String, QueueSettings>();
+ private final Map<String, AddressSettings> queueSettings = new HashMap<String, AddressSettings>();
private MessagingService messagingService;
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/xa/XaTimeoutTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/xa/XaTimeoutTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/xa/XaTimeoutTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -39,7 +39,7 @@
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.server.Messaging;
import org.jboss.messaging.core.server.MessagingService;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.impl.XidImpl;
import org.jboss.messaging.tests.util.UnitTestCase;
import org.jboss.messaging.util.SimpleString;
@@ -51,7 +51,7 @@
public class XaTimeoutTest extends UnitTestCase
{
- private Map<String, QueueSettings> queueSettings = new HashMap<String, QueueSettings>();
+ private Map<String, AddressSettings> queueSettings = new HashMap<String, AddressSettings>();
private MessagingService messagingService;
Modified: trunk/tests/src/org/jboss/messaging/tests/performance/paging/MeasurePagingMultiThreadTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/performance/paging/MeasurePagingMultiThreadTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/performance/paging/MeasurePagingMultiThreadTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -35,7 +35,7 @@
import org.jboss.messaging.core.remoting.impl.ByteBufferWrapper;
import org.jboss.messaging.core.remoting.spi.MessagingBuffer;
import org.jboss.messaging.core.server.MessagingService;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.tests.util.ServiceTestBase;
import org.jboss.messaging.util.SimpleString;
@@ -83,7 +83,7 @@
Configuration config = createDefaultConfig();
- HashMap<String, QueueSettings> settings = new HashMap<String, QueueSettings>();
+ HashMap<String, AddressSettings> settings = new HashMap<String, AddressSettings>();
config.setPagingMaxGlobalSizeBytes(20 * 1024);
Modified: trunk/tests/src/org/jboss/messaging/tests/stress/paging/PageStressTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/stress/paging/PageStressTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/stress/paging/PageStressTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -22,7 +22,7 @@
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.server.MessagingService;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.tests.util.ServiceTestBase;
import org.jboss.messaging.util.SimpleString;
@@ -60,19 +60,19 @@
{
Configuration config = createDefaultConfig();
- HashMap<String, QueueSettings> settings = new HashMap<String, QueueSettings>();
+ HashMap<String, AddressSettings> settings = new HashMap<String, AddressSettings>();
if (globalPage)
{
config.setPagingMaxGlobalSizeBytes(20 * 1024 * 1024);
- QueueSettings setting = new QueueSettings();
+ AddressSettings setting = new AddressSettings();
setting.setMaxSizeBytes(-1);
settings.put("page-adr", setting);
}
else
{
config.setPagingMaxGlobalSizeBytes(-1);
- QueueSettings setting = new QueueSettings();
+ AddressSettings setting = new AddressSettings();
setting.setMaxSizeBytes(20 * 1024 * 1024);
settings.put("page-adr", setting);
}
@@ -191,19 +191,19 @@
{
Configuration config = createDefaultConfig();
- HashMap<String, QueueSettings> settings = new HashMap<String, QueueSettings>();
+ HashMap<String, AddressSettings> settings = new HashMap<String, AddressSettings>();
if (globalPage)
{
config.setPagingMaxGlobalSizeBytes(20 * 1024 * 1024);
- QueueSettings setting = new QueueSettings();
+ AddressSettings setting = new AddressSettings();
setting.setMaxSizeBytes(-1);
settings.put("page-adr", setting);
}
else
{
config.setPagingMaxGlobalSizeBytes(-1);
- QueueSettings setting = new QueueSettings();
+ AddressSettings setting = new AddressSettings();
setting.setMaxSizeBytes(20 * 1024 * 1024);
settings.put("page-adr", setting);
}
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/QueueSettingsDeployerTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/QueueSettingsDeployerTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/deployers/impl/QueueSettingsDeployerTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -27,9 +27,9 @@
import org.easymock.EasyMock;
import org.easymock.IAnswer;
import org.jboss.messaging.core.deployers.DeploymentManager;
-import org.jboss.messaging.core.deployers.impl.QueueSettingsDeployer;
+import org.jboss.messaging.core.deployers.impl.AddressSettingsDeployer;
import org.jboss.messaging.core.settings.HierarchicalRepository;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.util.SimpleString;
import org.jboss.messaging.util.XMLUtil;
@@ -38,7 +38,7 @@
*/
public class QueueSettingsDeployerTest extends TestCase
{
- private String conf = "<queue-settings match=\"queues.*\">\n" +
+ private String conf = "<address-settings match=\"queues.*\">\n" +
" <manageConfirmations>false</manageConfirmations>\n" +
" <dead-letter-address>DLQtest</dead-letter-address>\n" +
" <expiry-address>ExpiryQueueTest</expiry-address>\n" +
@@ -46,48 +46,48 @@
" <max-size-bytes>-100</max-size-bytes>\n" +
" <distribution-policy-class>org.jboss.messaging.core.impl.RoundRobinDistributionPolicy</distribution-policy-class>\n" +
" <message-counter-history-day-limit>1000</message-counter-history-day-limit>\n" +
- " </queue-settings>";
+ " </address-settings>";
- private QueueSettingsDeployer queueSettingsDeployer;
+ private AddressSettingsDeployer addressSettingsDeployer;
- private HierarchicalRepository<QueueSettings> repository;
+ private HierarchicalRepository<AddressSettings> repository;
protected void setUp() throws Exception
{
repository = EasyMock.createStrictMock(HierarchicalRepository.class);
DeploymentManager deploymentManager = EasyMock.createNiceMock(DeploymentManager.class);
- queueSettingsDeployer = new QueueSettingsDeployer(deploymentManager, repository);
+ addressSettingsDeployer = new AddressSettingsDeployer(deploymentManager, repository);
}
public void testDeploy() throws Exception
{
- final QueueSettings queueSettings = new QueueSettings();
- queueSettings.setClustered(false);
- queueSettings.setRedeliveryDelay((long) 100);
- queueSettings.setMaxSizeBytes(-100);
- queueSettings.setDistributionPolicyClass("org.jboss.messaging.core.impl.RoundRobinDistributionPolicy");
- queueSettings.setMessageCounterHistoryDayLimit(1000);
- queueSettings.setDeadLetterAddress(new SimpleString("DLQtest"));
- queueSettings.setExpiryAddress(new SimpleString("ExpiryQueueTest"));
+ final AddressSettings addressSettings = new AddressSettings();
+ addressSettings.setClustered(false);
+ addressSettings.setRedeliveryDelay((long) 100);
+ addressSettings.setMaxSizeBytes(-100);
+ addressSettings.setDistributionPolicyClass("org.jboss.messaging.core.impl.RoundRobinDistributionPolicy");
+ addressSettings.setMessageCounterHistoryDayLimit(1000);
+ addressSettings.setDeadLetterAddress(new SimpleString("DLQtest"));
+ addressSettings.setExpiryAddress(new SimpleString("ExpiryQueueTest"));
- repository.addMatch(EasyMock.eq("queues.*"),(QueueSettings) EasyMock.anyObject());
+ repository.addMatch(EasyMock.eq("queues.*"),(AddressSettings) EasyMock.anyObject());
EasyMock.expectLastCall().andAnswer(new IAnswer<Object>()
{
public Object answer() throws Throwable
{
- QueueSettings q = (QueueSettings) EasyMock.getCurrentArguments()[1];
+ AddressSettings q = (AddressSettings) EasyMock.getCurrentArguments()[1];
assertFalse(q.isClustered());
- assertEquals(q.getRedeliveryDelay(), queueSettings.getRedeliveryDelay());
- assertEquals(q.getMaxSizeBytes(), queueSettings.getMaxSizeBytes());
- assertEquals(q.getDistributionPolicyClass(), queueSettings.getDistributionPolicyClass());
- assertEquals(q.getMessageCounterHistoryDayLimit(), queueSettings.getMessageCounterHistoryDayLimit());
- assertEquals(q.getDeadLetterAddress(), queueSettings.getDeadLetterAddress());
- assertEquals(q.getExpiryAddress(), queueSettings.getExpiryAddress());
+ assertEquals(q.getRedeliveryDelay(), addressSettings.getRedeliveryDelay());
+ assertEquals(q.getMaxSizeBytes(), addressSettings.getMaxSizeBytes());
+ assertEquals(q.getDistributionPolicyClass(), addressSettings.getDistributionPolicyClass());
+ assertEquals(q.getMessageCounterHistoryDayLimit(), addressSettings.getMessageCounterHistoryDayLimit());
+ assertEquals(q.getDeadLetterAddress(), addressSettings.getDeadLetterAddress());
+ assertEquals(q.getExpiryAddress(), addressSettings.getExpiryAddress());
return null;
}
});
EasyMock.replay(repository);
- queueSettingsDeployer.deploy(XMLUtil.stringToElement(conf));
+ addressSettingsDeployer.deploy(XMLUtil.stringToElement(conf));
EasyMock.verify(repository);
}
@@ -95,7 +95,7 @@
{
repository.removeMatch("queues.*");
EasyMock.replay(repository);
- queueSettingsDeployer.undeploy(XMLUtil.stringToElement(conf));
+ addressSettingsDeployer.undeploy(XMLUtil.stringToElement(conf));
EasyMock.verify(repository);
}
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 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/ManagementServiceImplTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -44,16 +44,14 @@
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.remoting.RemotingService;
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.server.QueueFactory;
import org.jboss.messaging.core.settings.HierarchicalRepository;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.ResourceManager;
import org.jboss.messaging.util.SimpleString;
@@ -86,7 +84,7 @@
expect(configuration.getManagementNotificationAddress()).andReturn(randomSimpleString());
expect(configuration.isMessageCounterEnabled()).andReturn(false);
HierarchicalRepository<Set<Role>> securityRepository = createMock(HierarchicalRepository.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ HierarchicalRepository<AddressSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
QueueFactory queueFactory = createMock(QueueFactory.class);
ResourceManager resourceManager = createMock(ResourceManager.class);
RemotingService remotingService = createMock(RemotingService.class);
@@ -138,7 +136,7 @@
expect(configuration.getManagementNotificationAddress()).andReturn(randomSimpleString());
expect(configuration.isMessageCounterEnabled()).andReturn(false);
HierarchicalRepository<Set<Role>> securityRepository = createMock(HierarchicalRepository.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ HierarchicalRepository<AddressSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
QueueFactory queueFactory = createMock(QueueFactory.class);
ResourceManager resourceManager = createMock(ResourceManager.class);
RemotingService remotingService = createMock(RemotingService.class);
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 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/MessagingServerControlTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -56,7 +56,7 @@
import org.jboss.messaging.core.server.MessagingServer;
import org.jboss.messaging.core.server.QueueFactory;
import org.jboss.messaging.core.settings.HierarchicalRepository;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.ResourceManager;
import org.jboss.messaging.core.transaction.Transaction;
import org.jboss.messaging.core.transaction.impl.XidImpl;
@@ -81,7 +81,7 @@
private HierarchicalRepository<Set<Role>> securityRepository;
- private HierarchicalRepository<QueueSettings> queueSettingsRepository;
+ private HierarchicalRepository<AddressSettings> queueSettingsRepository;
private ResourceManager resourceManager;
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/QueueControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/QueueControlTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/management/impl/QueueControlTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -57,7 +57,7 @@
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.settings.impl.AddressSettings;
import org.jboss.messaging.util.SimpleString;
/**
@@ -78,7 +78,7 @@
private PostOffice postOffice;
- private HierarchicalRepository<QueueSettings> repository;
+ private HierarchicalRepository<AddressSettings> repository;
private MessageCounter messageCounter;
@@ -253,7 +253,7 @@
final String dlqName = randomString();
expect(queue.getName()).andReturn(queueName);
- QueueSettings queueSettings = new QueueSettings()
+ AddressSettings addressSettings = new AddressSettings()
{
@Override
public SimpleString getDeadLetterAddress()
@@ -261,7 +261,7 @@
return new SimpleString(dlqName);
}
};
- expect(repository.getMatch(queueName.toString())).andReturn(queueSettings);
+ expect(repository.getMatch(queueName.toString())).andReturn(addressSettings);
replayMockedAttributes();
@@ -276,7 +276,7 @@
final String expiryQueueName = randomString();
expect(queue.getName()).andReturn(queueName);
- QueueSettings queueSettings = new QueueSettings()
+ AddressSettings addressSettings = new AddressSettings()
{
@Override
public SimpleString getExpiryAddress()
@@ -284,7 +284,7 @@
return new SimpleString(expiryQueueName);
}
};
- expect(repository.getMatch(queueName.toString())).andReturn(queueSettings);
+ expect(repository.getMatch(queueName.toString())).andReturn(addressSettings);
replayMockedAttributes();
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/paging/impl/PagingStoreImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/paging/impl/PagingStoreImplTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/paging/impl/PagingStoreImplTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -35,7 +35,7 @@
import org.jboss.messaging.core.paging.impl.PagedMessageImpl;
import org.jboss.messaging.core.paging.impl.PagingStoreImpl;
import org.jboss.messaging.core.paging.impl.TestSupportPageStore;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.tests.unit.core.journal.impl.fakes.FakeSequentialFileFactory;
import org.jboss.messaging.util.SimpleString;
@@ -69,7 +69,7 @@
factory,
null,
destinationTestName,
- new QueueSettings(),
+ new AddressSettings(),
executor);
storeImpl.start();
@@ -97,7 +97,7 @@
factory,
storeFactory,
destinationTestName,
- new QueueSettings(),
+ new AddressSettings(),
executor);
storeImpl.start();
@@ -131,7 +131,7 @@
factory,
null,
destinationTestName,
- new QueueSettings(),
+ new AddressSettings(),
executor);
storeImpl.start();
@@ -156,7 +156,7 @@
factory,
storeFactory,
destinationTestName,
- new QueueSettings(),
+ new AddressSettings(),
executor);
storeImpl.start();
@@ -223,7 +223,7 @@
factory,
storeFactory,
destinationTestName,
- new QueueSettings(),
+ new AddressSettings(),
executor);
storeImpl.start();
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/paging/impl/PagingStoreTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/paging/impl/PagingStoreTestBase.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/paging/impl/PagingStoreTestBase.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -48,7 +48,7 @@
import org.jboss.messaging.core.remoting.impl.ByteBufferWrapper;
import org.jboss.messaging.core.server.ServerMessage;
import org.jboss.messaging.core.server.impl.ServerMessageImpl;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.tests.util.RandomUtil;
import org.jboss.messaging.tests.util.UnitTestCase;
import org.jboss.messaging.util.SimpleString;
@@ -109,7 +109,7 @@
final ArrayList<Page> readPages = new ArrayList<Page>();
- QueueSettings settings = new QueueSettings();
+ AddressSettings settings = new AddressSettings();
settings.setPageSizeBytes(MAX_SIZE);
final TestSupportPageStore storeImpl = new PagingStoreImpl(createMockManager(),
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 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/server/impl/MessagingServerImplTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -186,7 +186,7 @@
// 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);
+// .getAddressSettingsRepository()), eq(server))).andReturn(managedServer);
//
// EasyMock.replay(sm, rs, pd, ms);
//
@@ -200,7 +200,7 @@
//
// EasyMock.reset(sm, rs, pd);
//
-// assertNotNull(server.getQueueSettingsRepository());
+// assertNotNull(server.getAddressSettingsRepository());
//
// //Starting again should do nothing
//
@@ -290,7 +290,7 @@
//
// expect(ms.registerServer(isA(PostOffice.class), eq(sm), eq(server
// .getConfiguration()), isA(HierarchicalRepository.class), eq(server
-// .getQueueSettingsRepository()), eq(server))).andReturn(managedServer);
+// .getAddressSettingsRepository()), eq(server))).andReturn(managedServer);
//
// EasyMock.replay(sm, rs, pd, ms);
//
@@ -301,7 +301,7 @@
//
// assertTrue(server.isStarted());
//
-// assertNotNull(server.getQueueSettingsRepository());
+// assertNotNull(server.getAddressSettingsRepository());
//
// EasyMock.reset(sm, rs, pd);
//
@@ -363,7 +363,7 @@
// 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);
+// .getAddressSettingsRepository()), eq(server))).andReturn(managedServer);
// server.setManagementService(mr);
//
// PacketDispatcher pd = EasyMock.createMock(PacketDispatcher.class);
@@ -421,7 +421,7 @@
// 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);
+// .getAddressSettingsRepository()), eq(server))).andReturn(managedServer);
// server.setManagementService(mr);
//
// PacketDispatcher pd = EasyMock.createMock(PacketDispatcher.class);
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/server/impl/QueueFactoryImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/server/impl/QueueFactoryImplTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/server/impl/QueueFactoryImplTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -30,7 +30,7 @@
import org.jboss.messaging.core.server.impl.QueueFactoryImpl;
import org.jboss.messaging.core.server.impl.RoundRobinDistributor;
import org.jboss.messaging.core.settings.HierarchicalRepository;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.tests.util.UnitTestCase;
import org.jboss.messaging.util.SimpleString;
@@ -42,18 +42,18 @@
public void testCreateQueue()
{
ScheduledExecutorService scheduledExecutor = EasyMock.createStrictMock(ScheduledExecutorService.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = EasyMock.createStrictMock(HierarchicalRepository.class);
+ HierarchicalRepository<AddressSettings> queueSettingsRepository = EasyMock.createStrictMock(HierarchicalRepository.class);
StorageManager sm = EasyMock.createStrictMock(StorageManager.class);
Filter filter = EasyMock.createStrictMock(Filter.class);
- QueueSettings queueSettings = new QueueSettings();
- queueSettings.setClustered(true);
- queueSettings.setMaxSizeBytes(9999);
- queueSettings.setDistributionPolicyClass("org.jboss.messaging.core.server.impl.RoundRobinDistributor");
- EasyMock.expect(queueSettingsRepository.getMatch("testQ")).andReturn(queueSettings);
+ AddressSettings addressSettings = new AddressSettings();
+ addressSettings.setClustered(true);
+ addressSettings.setMaxSizeBytes(9999);
+ addressSettings.setDistributionPolicyClass("org.jboss.messaging.core.server.impl.RoundRobinDistributor");
+ EasyMock.expect(queueSettingsRepository.getMatch("testQ")).andReturn(addressSettings);
EasyMock.replay(scheduledExecutor, queueSettingsRepository);
QueueFactoryImpl queueFactory = new QueueFactoryImpl(scheduledExecutor, queueSettingsRepository, sm);
SimpleString qName = new SimpleString("testQ");
- Queue queue = queueFactory.createQueue(123, qName, filter, true, false);
+ Queue queue = queueFactory.createQueue(123, qName, qName, filter, true, false);
EasyMock.verify(scheduledExecutor, queueSettingsRepository);
assertEquals(queue.getDistributionPolicy().getClass(), RoundRobinDistributor.class);
assertEquals(queue.getName(), qName);
@@ -66,17 +66,17 @@
public void testCreateQueue2()
{
ScheduledExecutorService scheduledExecutor = EasyMock.createStrictMock(ScheduledExecutorService.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = EasyMock.createStrictMock(HierarchicalRepository.class);
+ HierarchicalRepository<AddressSettings> queueSettingsRepository = EasyMock.createStrictMock(HierarchicalRepository.class);
StorageManager sm = EasyMock.createStrictMock(StorageManager.class);
- QueueSettings queueSettings = new QueueSettings();
- queueSettings.setClustered(false);
- queueSettings.setMaxSizeBytes(8888);
- queueSettings.setDistributionPolicyClass(null);
- EasyMock.expect(queueSettingsRepository.getMatch("testQ2")).andReturn(queueSettings);
+ AddressSettings addressSettings = new AddressSettings();
+ addressSettings.setClustered(false);
+ addressSettings.setMaxSizeBytes(8888);
+ addressSettings.setDistributionPolicyClass(null);
+ EasyMock.expect(queueSettingsRepository.getMatch("testQ2")).andReturn(addressSettings);
EasyMock.replay(scheduledExecutor, queueSettingsRepository);
QueueFactoryImpl queueFactory = new QueueFactoryImpl(scheduledExecutor, queueSettingsRepository, sm);
SimpleString qName = new SimpleString("testQ2");
- Queue queue = queueFactory.createQueue(456, qName, null, false, false);
+ Queue queue = queueFactory.createQueue(456, qName, qName, null, false, false);
EasyMock.verify(scheduledExecutor, queueSettingsRepository);
assertEquals(queue.getDistributionPolicy().getClass(), RoundRobinDistributor.class);
assertEquals(queue.getName(), qName);
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/server/impl/fakes/FakeQueueFactory.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/server/impl/fakes/FakeQueueFactory.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/server/impl/fakes/FakeQueueFactory.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -45,7 +45,7 @@
private PostOffice postOffice;
- public Queue createQueue(long persistenceID, SimpleString name, Filter filter,
+ public Queue createQueue(long persistenceID, final SimpleString address, SimpleString name, Filter filter,
boolean durable, boolean temporary)
{
return new QueueImpl(persistenceID, name, filter, durable, temporary, scheduledExecutor, postOffice, null, null);
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/settings/impl/QueueSettingsTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/settings/impl/QueueSettingsTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/settings/impl/QueueSettingsTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -24,7 +24,7 @@
import junit.framework.TestCase;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.util.SimpleString;
/**
@@ -34,115 +34,115 @@
{
public void testDefaults()
{
- QueueSettings queueSettings = new QueueSettings();
- assertEquals(queueSettings.getDistributionPolicy().getClass(), QueueSettings.DEFAULT_DISTRIBUTION_POLICY_CLASS);
- assertEquals(queueSettings.getDistributionPolicyClass(), null);
- assertEquals(queueSettings.getDeadLetterAddress(), null);
- assertEquals(queueSettings.isClustered(), Boolean.valueOf(false));
- assertEquals(queueSettings.getExpiryAddress(), null);
- assertEquals(queueSettings.getMaxDeliveryAttempts(), QueueSettings.DEFAULT_MAX_DELIVERY_ATTEMPTS);
- assertEquals(queueSettings.getMaxSizeBytes(), QueueSettings.DEFAULT_MAX_SIZE_BYTES);
- assertEquals(queueSettings.getPageSizeBytes(), null);
- assertEquals(queueSettings.getMessageCounterHistoryDayLimit(), QueueSettings.DEFAULT_MESSAGE_COUNTER_HISTORY_DAY_LIMIT);
- assertEquals(queueSettings.getRedeliveryDelay(), QueueSettings.DEFAULT_REDELIVER_DELAY);
+ AddressSettings addressSettings = new AddressSettings();
+ assertEquals(addressSettings.getDistributionPolicy().getClass(), AddressSettings.DEFAULT_DISTRIBUTION_POLICY_CLASS);
+ assertEquals(addressSettings.getDistributionPolicyClass(), null);
+ assertEquals(addressSettings.getDeadLetterAddress(), null);
+ assertEquals(addressSettings.isClustered(), Boolean.valueOf(false));
+ assertEquals(addressSettings.getExpiryAddress(), null);
+ assertEquals(addressSettings.getMaxDeliveryAttempts(), AddressSettings.DEFAULT_MAX_DELIVERY_ATTEMPTS);
+ assertEquals(addressSettings.getMaxSizeBytes(), AddressSettings.DEFAULT_MAX_SIZE_BYTES);
+ assertEquals(addressSettings.getPageSizeBytes(), null);
+ assertEquals(addressSettings.getMessageCounterHistoryDayLimit(), AddressSettings.DEFAULT_MESSAGE_COUNTER_HISTORY_DAY_LIMIT);
+ assertEquals(addressSettings.getRedeliveryDelay(), AddressSettings.DEFAULT_REDELIVER_DELAY);
}
public void testSingleMerge()
{
- QueueSettings queueSettings = new QueueSettings();
- QueueSettings queueSettingsToMerge = new QueueSettings();
- queueSettingsToMerge.setClustered(true);
+ AddressSettings addressSettings = new AddressSettings();
+ AddressSettings addressSettingsToMerge = new AddressSettings();
+ addressSettingsToMerge.setClustered(true);
SimpleString DLQ = new SimpleString("testDLQ");
SimpleString exp = new SimpleString("testExpiryQueue");
- queueSettingsToMerge.setDeadLetterAddress(DLQ);
- queueSettingsToMerge.setExpiryAddress(exp);
- queueSettingsToMerge.setMaxDeliveryAttempts(1000);
- queueSettingsToMerge.setDropMessagesWhenFull(true);
- queueSettingsToMerge.setMaxSizeBytes(1001);
- queueSettingsToMerge.setMessageCounterHistoryDayLimit(1002);
- queueSettingsToMerge.setRedeliveryDelay((long)1003);
- queueSettingsToMerge.setPageSizeBytes(1004);
- queueSettings.merge(queueSettingsToMerge);
- assertEquals(queueSettings.getDistributionPolicy().getClass(), QueueSettings.DEFAULT_DISTRIBUTION_POLICY_CLASS);
- assertEquals(queueSettings.getDistributionPolicyClass(), null);
- assertEquals(queueSettings.isClustered(), Boolean.valueOf(true));
- assertEquals(queueSettings.getDeadLetterAddress(), DLQ);
- assertEquals(queueSettings.getExpiryAddress(), exp);
- assertEquals(queueSettings.getMaxDeliveryAttempts(), Integer.valueOf(1000));
- assertEquals(queueSettings.getMaxSizeBytes(), Integer.valueOf(1001));
- assertEquals(queueSettings.getMessageCounterHistoryDayLimit(), Integer.valueOf(1002));
- assertEquals(queueSettings.getRedeliveryDelay(), Long.valueOf(1003));
- assertEquals(queueSettings.getPageSizeBytes(), (Integer)1004);
- assertTrue(queueSettings.isDropMessagesWhenFull());
+ addressSettingsToMerge.setDeadLetterAddress(DLQ);
+ addressSettingsToMerge.setExpiryAddress(exp);
+ addressSettingsToMerge.setMaxDeliveryAttempts(1000);
+ addressSettingsToMerge.setDropMessagesWhenFull(true);
+ addressSettingsToMerge.setMaxSizeBytes(1001);
+ addressSettingsToMerge.setMessageCounterHistoryDayLimit(1002);
+ addressSettingsToMerge.setRedeliveryDelay((long)1003);
+ addressSettingsToMerge.setPageSizeBytes(1004);
+ addressSettings.merge(addressSettingsToMerge);
+ assertEquals(addressSettings.getDistributionPolicy().getClass(), AddressSettings.DEFAULT_DISTRIBUTION_POLICY_CLASS);
+ assertEquals(addressSettings.getDistributionPolicyClass(), null);
+ assertEquals(addressSettings.isClustered(), Boolean.valueOf(true));
+ assertEquals(addressSettings.getDeadLetterAddress(), DLQ);
+ assertEquals(addressSettings.getExpiryAddress(), exp);
+ assertEquals(addressSettings.getMaxDeliveryAttempts(), Integer.valueOf(1000));
+ assertEquals(addressSettings.getMaxSizeBytes(), Integer.valueOf(1001));
+ assertEquals(addressSettings.getMessageCounterHistoryDayLimit(), Integer.valueOf(1002));
+ assertEquals(addressSettings.getRedeliveryDelay(), Long.valueOf(1003));
+ assertEquals(addressSettings.getPageSizeBytes(), (Integer)1004);
+ assertTrue(addressSettings.isDropMessagesWhenFull());
}
public void testMultipleMerge()
{
- QueueSettings queueSettings = new QueueSettings();
- QueueSettings queueSettingsToMerge = new QueueSettings();
- queueSettingsToMerge.setClustered(true);
+ AddressSettings addressSettings = new AddressSettings();
+ AddressSettings addressSettingsToMerge = new AddressSettings();
+ addressSettingsToMerge.setClustered(true);
SimpleString DLQ = new SimpleString("testDLQ");
SimpleString exp = new SimpleString("testExpiryQueue");
- queueSettingsToMerge.setDeadLetterAddress(DLQ);
- queueSettingsToMerge.setExpiryAddress(exp);
- queueSettingsToMerge.setMaxDeliveryAttempts(1000);
- queueSettingsToMerge.setMaxSizeBytes(1001);
- queueSettingsToMerge.setMessageCounterHistoryDayLimit(1002);
- queueSettings.merge(queueSettingsToMerge);
+ addressSettingsToMerge.setDeadLetterAddress(DLQ);
+ addressSettingsToMerge.setExpiryAddress(exp);
+ addressSettingsToMerge.setMaxDeliveryAttempts(1000);
+ addressSettingsToMerge.setMaxSizeBytes(1001);
+ addressSettingsToMerge.setMessageCounterHistoryDayLimit(1002);
+ addressSettings.merge(addressSettingsToMerge);
- QueueSettings queueSettingsToMerge2 = new QueueSettings();
- queueSettingsToMerge2.setClustered(true);
+ AddressSettings addressSettingsToMerge2 = new AddressSettings();
+ addressSettingsToMerge2.setClustered(true);
SimpleString exp2 = new SimpleString("testExpiryQueue2");
- queueSettingsToMerge2.setExpiryAddress(exp2);
- queueSettingsToMerge2.setMaxSizeBytes(2001);
- queueSettingsToMerge2.setRedeliveryDelay((long)2003);
- queueSettings.merge(queueSettingsToMerge2);
+ addressSettingsToMerge2.setExpiryAddress(exp2);
+ addressSettingsToMerge2.setMaxSizeBytes(2001);
+ addressSettingsToMerge2.setRedeliveryDelay((long)2003);
+ addressSettings.merge(addressSettingsToMerge2);
- assertEquals(queueSettings.getDistributionPolicy().getClass(), QueueSettings.DEFAULT_DISTRIBUTION_POLICY_CLASS);
- assertEquals(queueSettings.getDistributionPolicyClass(), null);
- assertEquals(queueSettings.isClustered(), Boolean.valueOf(true));
- assertEquals(queueSettings.getDeadLetterAddress(), DLQ);
- assertEquals(queueSettings.getExpiryAddress(), exp);
- assertEquals(queueSettings.getMaxDeliveryAttempts(), Integer.valueOf(1000));
- assertEquals(queueSettings.getMaxSizeBytes(), Integer.valueOf(1001));
- assertEquals(queueSettings.getMessageCounterHistoryDayLimit(), Integer.valueOf(1002));
- assertEquals(queueSettings.getRedeliveryDelay(), Long.valueOf(2003));
+ assertEquals(addressSettings.getDistributionPolicy().getClass(), AddressSettings.DEFAULT_DISTRIBUTION_POLICY_CLASS);
+ assertEquals(addressSettings.getDistributionPolicyClass(), null);
+ assertEquals(addressSettings.isClustered(), Boolean.valueOf(true));
+ assertEquals(addressSettings.getDeadLetterAddress(), DLQ);
+ assertEquals(addressSettings.getExpiryAddress(), exp);
+ assertEquals(addressSettings.getMaxDeliveryAttempts(), Integer.valueOf(1000));
+ assertEquals(addressSettings.getMaxSizeBytes(), Integer.valueOf(1001));
+ assertEquals(addressSettings.getMessageCounterHistoryDayLimit(), Integer.valueOf(1002));
+ assertEquals(addressSettings.getRedeliveryDelay(), Long.valueOf(2003));
}
public void testMultipleMergeAll()
{
- QueueSettings queueSettings = new QueueSettings();
- QueueSettings queueSettingsToMerge = new QueueSettings();
- queueSettingsToMerge.setClustered(true);
+ AddressSettings addressSettings = new AddressSettings();
+ AddressSettings addressSettingsToMerge = new AddressSettings();
+ addressSettingsToMerge.setClustered(true);
SimpleString DLQ = new SimpleString("testDLQ");
SimpleString exp = new SimpleString("testExpiryQueue");
- queueSettingsToMerge.setDeadLetterAddress(DLQ);
- queueSettingsToMerge.setExpiryAddress(exp);
- queueSettingsToMerge.setMaxSizeBytes(1001);
- queueSettingsToMerge.setRedeliveryDelay((long)1003);
- queueSettings.merge(queueSettingsToMerge);
+ addressSettingsToMerge.setDeadLetterAddress(DLQ);
+ addressSettingsToMerge.setExpiryAddress(exp);
+ addressSettingsToMerge.setMaxSizeBytes(1001);
+ addressSettingsToMerge.setRedeliveryDelay((long)1003);
+ addressSettings.merge(addressSettingsToMerge);
- QueueSettings queueSettingsToMerge2 = new QueueSettings();
- queueSettingsToMerge2.setClustered(false);
+ AddressSettings addressSettingsToMerge2 = new AddressSettings();
+ addressSettingsToMerge2.setClustered(false);
SimpleString exp2 = new SimpleString("testExpiryQueue2");
SimpleString DLQ2 = new SimpleString("testDlq2");
- queueSettingsToMerge2.setExpiryAddress(exp2);
- queueSettingsToMerge2.setDeadLetterAddress(DLQ2);
- queueSettingsToMerge2.setMaxDeliveryAttempts(2000);
- queueSettingsToMerge2.setMaxSizeBytes(2001);
- queueSettingsToMerge2.setMessageCounterHistoryDayLimit(2002);
- queueSettingsToMerge2.setRedeliveryDelay((long)2003);
- queueSettings.merge(queueSettingsToMerge2);
+ addressSettingsToMerge2.setExpiryAddress(exp2);
+ addressSettingsToMerge2.setDeadLetterAddress(DLQ2);
+ addressSettingsToMerge2.setMaxDeliveryAttempts(2000);
+ addressSettingsToMerge2.setMaxSizeBytes(2001);
+ addressSettingsToMerge2.setMessageCounterHistoryDayLimit(2002);
+ addressSettingsToMerge2.setRedeliveryDelay((long)2003);
+ addressSettings.merge(addressSettingsToMerge2);
- assertEquals(queueSettings.getDistributionPolicy().getClass(), QueueSettings.DEFAULT_DISTRIBUTION_POLICY_CLASS);
- assertEquals(queueSettings.getDistributionPolicyClass(), null);
- assertEquals(queueSettings.isClustered(), Boolean.valueOf(true));
- assertEquals(queueSettings.getDeadLetterAddress(), DLQ);
- assertEquals(queueSettings.getExpiryAddress(), exp);
- assertEquals(queueSettings.getMaxDeliveryAttempts(), Integer.valueOf(2000));
- assertEquals(queueSettings.getMaxSizeBytes(), Integer.valueOf(1001));
- assertEquals(queueSettings.getMessageCounterHistoryDayLimit(), Integer.valueOf(2002));
- assertEquals(queueSettings.getRedeliveryDelay(), Long.valueOf(1003));
+ assertEquals(addressSettings.getDistributionPolicy().getClass(), AddressSettings.DEFAULT_DISTRIBUTION_POLICY_CLASS);
+ assertEquals(addressSettings.getDistributionPolicyClass(), null);
+ assertEquals(addressSettings.isClustered(), Boolean.valueOf(true));
+ assertEquals(addressSettings.getDeadLetterAddress(), DLQ);
+ assertEquals(addressSettings.getExpiryAddress(), exp);
+ assertEquals(addressSettings.getMaxDeliveryAttempts(), Integer.valueOf(2000));
+ assertEquals(addressSettings.getMaxSizeBytes(), Integer.valueOf(1001));
+ assertEquals(addressSettings.getMessageCounterHistoryDayLimit(), Integer.valueOf(2002));
+ assertEquals(addressSettings.getRedeliveryDelay(), Long.valueOf(1003));
}
}
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/transaction/impl/TransactionImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/transaction/impl/TransactionImplTest.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/transaction/impl/TransactionImplTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -34,7 +34,7 @@
import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.settings.HierarchicalRepository;
import org.jboss.messaging.core.settings.impl.HierarchicalObjectRepository;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.core.transaction.Transaction;
import org.jboss.messaging.core.transaction.impl.TransactionImpl;
import org.jboss.messaging.tests.util.UnitTestCase;
@@ -50,14 +50,14 @@
{
private final ScheduledExecutorService scheduledExecutor = Executors.newSingleThreadScheduledExecutor();
- private final HierarchicalRepository<QueueSettings> queueSettings =
- new HierarchicalObjectRepository<QueueSettings>();
+ private final HierarchicalRepository<AddressSettings> queueSettings =
+ new HierarchicalObjectRepository<AddressSettings>();
protected void setUp() throws Exception
{
super.setUp();
- queueSettings.setDefault(new QueueSettings());
+ queueSettings.setDefault(new AddressSettings());
}
public void testFoo()
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 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSManagementServiceImplTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -45,7 +45,7 @@
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.core.settings.impl.AddressSettings;
import org.jboss.messaging.jms.JBossQueue;
import org.jboss.messaging.jms.JBossTopic;
import org.jboss.messaging.jms.client.JBossConnectionFactory;
@@ -102,7 +102,7 @@
expect(coreQueue.isDurable()).andReturn(true);
PostOffice postOffice = createMock(PostOffice.class);
StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ HierarchicalRepository<AddressSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
ManagementService managementService = createMock(ManagementService.class);
MessageCounterManager messageCounterManager = createMock(MessageCounterManager.class);
@@ -129,7 +129,7 @@
JBossTopic topic = new JBossTopic(name);
PostOffice postOffice = createMock(PostOffice.class);
StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ HierarchicalRepository<AddressSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
ManagementService managementService = createMock(ManagementService.class);
managementService.registerInJMX(eq(objectName), isA(StandardMBean.class));
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 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSQueueControlTest.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -54,7 +54,7 @@
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.settings.impl.AddressSettings;
import org.jboss.messaging.jms.JBossQueue;
import org.jboss.messaging.jms.server.management.impl.JMSQueueControl;
import org.jboss.messaging.util.SimpleString;
@@ -79,7 +79,7 @@
private StorageManager storageManager;
- private HierarchicalRepository<QueueSettings> queueSettingsRepository;
+ private HierarchicalRepository<AddressSettings> queueSettingsRepository;
private MessageCounter counter;
@@ -215,7 +215,7 @@
{
final String deadLetterAddress = randomString();
- QueueSettings settings = new QueueSettings()
+ AddressSettings settings = new AddressSettings()
{
@Override
public SimpleString getDeadLetterAddress()
@@ -237,7 +237,7 @@
{
final String expiryQueue = randomString();
- QueueSettings settings = new QueueSettings()
+ AddressSettings settings = new AddressSettings()
{
@Override
public SimpleString getExpiryAddress()
Modified: trunk/tests/src/org/jboss/messaging/tests/util/ServiceTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/util/ServiceTestBase.java 2009-02-03 13:03:37 UTC (rev 5795)
+++ trunk/tests/src/org/jboss/messaging/tests/util/ServiceTestBase.java 2009-02-03 13:20:44 UTC (rev 5796)
@@ -39,7 +39,7 @@
import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
import org.jboss.messaging.core.server.Messaging;
import org.jboss.messaging.core.server.MessagingService;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
+import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.integration.transports.netty.NettyAcceptorFactory;
import org.jboss.messaging.integration.transports.netty.NettyConnectorFactory;
import org.jboss.messaging.jms.client.JBossBytesMessage;
@@ -111,7 +111,7 @@
protected MessagingService createService(final boolean realFiles,
final Configuration configuration,
- final Map<String, QueueSettings> settings)
+ final Map<String, AddressSettings> settings)
{
MessagingService service;
@@ -125,9 +125,9 @@
service = Messaging.newNullStorageMessagingService(configuration);
}
- for (Map.Entry<String, QueueSettings> setting : settings.entrySet())
+ for (Map.Entry<String, AddressSettings> setting : settings.entrySet())
{
- service.getServer().getQueueSettingsRepository().addMatch(setting.getKey(), setting.getValue());
+ service.getServer().getAddressSettingsRepository().addMatch(setting.getKey(), setting.getValue());
}
return service;
@@ -135,12 +135,12 @@
protected MessagingService createService(final boolean realFiles)
{
- return createService(realFiles, createDefaultConfig(), new HashMap<String, QueueSettings>());
+ return createService(realFiles, createDefaultConfig(), new HashMap<String, AddressSettings>());
}
protected MessagingService createService(final boolean realFiles, final Configuration configuration)
{
- return createService(realFiles, configuration, new HashMap<String, QueueSettings>());
+ return createService(realFiles, configuration, new HashMap<String, AddressSettings>());
}
protected MessagingService createClusteredServiceWithParams(final int index,
@@ -149,7 +149,7 @@
{
return createService(realFiles,
createClusteredDefaultConfig(index, params, INVM_ACCEPTOR_FACTORY),
- new HashMap<String, QueueSettings>());
+ new HashMap<String, AddressSettings>());
}
protected Configuration createDefaultConfig()
More information about the jboss-cvs-commits
mailing list