diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2012-04-12 19:46:03 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2012-04-12 19:46:03 +0000 |
| commit | efad669d94b04a59d2b62581e607a3f6243cd63a (patch) | |
| tree | 73c2c338d99072241f411e828b9b52b6868e21f2 /qpid/java/broker/src/test | |
| parent | c052ece2e23a226bfc713e5137f1e71ec4f2f90d (diff) | |
| download | qpid-python-efad669d94b04a59d2b62581e607a3f6243cd63a.tar.gz | |
QPID-3917 : Refactor changes to MessageStore to use listeners and not decorators
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1325467 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker/src/test')
8 files changed, 296 insertions, 249 deletions
diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java index d588cdd42c..45933e7064 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java @@ -157,7 +157,7 @@ public class AMQQueueMBeanTest extends InternalBrokerBaseCase private void verifyBrokerState() { - TestableMemoryMessageStore store = (TestableMemoryMessageStore) getVirtualHost().getMessageStore().getUnderlyingStore(); + TestableMemoryMessageStore store = (TestableMemoryMessageStore) getVirtualHost().getMessageStore(); // Unlike MessageReturnTest there is no need for a delay as there this thread does the clean up. diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java index 7c3098298e..8041d59ffa 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java @@ -636,7 +636,7 @@ public class SimpleAMQQueueTest extends InternalBrokerBaseCase qs.add(_queue); MessageMetaData metaData = msg.headersReceived(System.currentTimeMillis()); - TestableMemoryMessageStore store = (TestableMemoryMessageStore) _virtualHost.getMessageStore().getUnderlyingStore(); + TestableMemoryMessageStore store = (TestableMemoryMessageStore) _virtualHost.getMessageStore(); StoredMessage handle = store.addMessage(metaData); msg.setStoredMessage(handle); diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/OperationalLoggingListenerTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/OperationalLoggingListenerTest.java new file mode 100644 index 0000000000..42746f9119 --- /dev/null +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/OperationalLoggingListenerTest.java @@ -0,0 +1,181 @@ +package org.apache.qpid.server.store; + +import java.util.ArrayList; +import java.util.List; +import junit.framework.TestCase; +import org.apache.qpid.server.logging.LogActor; +import org.apache.qpid.server.logging.LogMessage; +import org.apache.qpid.server.logging.LogSubject; +import org.apache.qpid.server.logging.RootMessageLogger; +import org.apache.qpid.server.logging.actors.CurrentActor; +import org.apache.qpid.server.logging.messages.ConfigStoreMessages; +import org.apache.qpid.server.logging.messages.MessageStoreMessages; +import org.apache.qpid.server.logging.messages.TransactionLogMessages; + +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * <p/> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p/> + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +public class OperationalLoggingListenerTest extends TestCase +{ + + + public static final String STORE_LOCATION = "The moon!"; + + protected void setUp() throws Exception + { + super.setUp(); + + } + + public void testOperationalLoggingWithStoreLocation() throws Exception + { + TestMessageStore messageStore = new TestMessageStore(); + LogSubject logSubject = LOG_SUBJECT; + + OperationalLoggingListener.listen(messageStore, logSubject); + + performTests(messageStore, true); + + } + + public void testOperationalLogging() throws Exception + { + TestMessageStore messageStore = new TestMessageStore(); + LogSubject logSubject = LOG_SUBJECT; + + OperationalLoggingListener.listen(messageStore, logSubject); + + performTests(messageStore, false); + } + + private void performTests(TestMessageStore messageStore, boolean setStoreLocation) + { + final List<LogMessage> messages = new ArrayList<LogMessage>(); + + CurrentActor.set(new TestActor(messages)); + + if(setStoreLocation) + { + messageStore.setStoreLocation(STORE_LOCATION); + } + + + messageStore.attainState(State.CONFIGURING); + assertEquals("Unexpected number of operational log messages on configuring", 1, messages.size()); + assertEquals(messages.remove(0).toString(), ConfigStoreMessages.CREATED().toString()); + + messageStore.attainState(State.CONFIGURED); + assertEquals("Unexpected number of operational log messages on CONFIGURED", setStoreLocation ? 3 : 2, messages.size()); + assertEquals(messages.remove(0).toString(), MessageStoreMessages.CREATED().toString()); + assertEquals(messages.remove(0).toString(), TransactionLogMessages.CREATED().toString()); + if(setStoreLocation) + { + assertEquals(messages.remove(0).toString(), MessageStoreMessages.STORE_LOCATION(STORE_LOCATION).toString()); + } + + messageStore.attainState(State.RECOVERING); + assertEquals("Unexpected number of operational log messages on RECOVERING", 1, messages.size()); + assertEquals(messages.remove(0).toString(), MessageStoreMessages.RECOVERY_START().toString()); + + + messageStore.attainState(State.ACTIVE); + assertEquals("Unexpected number of operational log messages on ACTIVE", 1, messages.size()); + assertEquals(messages.remove(0).toString(), MessageStoreMessages.RECOVERY_COMPLETE().toString()); + + messageStore.attainState(State.CLOSING); + assertEquals("Unexpected number of operational log messages on CLOSING", 0, messages.size()); + + messageStore.attainState(State.CLOSED); + assertEquals("Unexpected number of operational log messages on CLOSED", 1, messages.size()); + assertEquals(messages.remove(0).toString(), MessageStoreMessages.CLOSED().toString()); + } + + @Override + protected void tearDown() throws Exception + { + super.tearDown(); + CurrentActor.remove(); + } + + + private static final LogSubject LOG_SUBJECT = new LogSubject() + { + public String toLogString() + { + return ""; + } + }; + + private static final class TestMessageStore extends NullMessageStore + { + + private final EventManager _eventManager = new EventManager(); + private final StateManager _stateManager = new StateManager(_eventManager); + private String _storeLocation; + + public void attainState(State state) + { + _stateManager.attainState(state); + } + + @Override + public String getStoreLocation() + { + return _storeLocation; + } + + public void setStoreLocation(String storeLocation) + { + _storeLocation = storeLocation; + } + + @Override + public void addEventListener(EventListener eventListener, Event... events) + { + _eventManager.addEventListener(eventListener, events); + } + } + + private static class TestActor implements LogActor + { + private final List<LogMessage> _messages; + + public TestActor(List<LogMessage> messages) + { + _messages = messages; + } + + public void message(LogSubject subject, LogMessage message) + { + _messages.add(message); + } + + public void message(LogMessage message) + { + _messages.add(message); + } + + public RootMessageLogger getRootMessageLogger() + { + return null; + } + + public String getLogMessage() + { + return null; + } + } +} diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/StateManagerTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/StateManagerTest.java index b09dcbbdf3..97c88ca1d3 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/StateManagerTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/StateManagerTest.java @@ -21,12 +21,20 @@ package org.apache.qpid.server.store; +import java.util.EnumSet; import junit.framework.TestCase; -public class StateManagerTest extends TestCase +public class StateManagerTest extends TestCase implements EventListener { - private StateManager _manager = new StateManager(); + private StateManager _manager; + private Event _event; + + public void setUp() throws Exception + { + super.setUp(); + _manager = new StateManager(this); + } public void testInitialState() { @@ -37,8 +45,8 @@ public class StateManagerTest extends TestCase { assertEquals(State.INITIAL, _manager.getState()); - _manager.stateTransition(State.INITIAL, State.ACTIVE); - assertEquals(State.ACTIVE, _manager.getState()); + _manager.stateTransition(State.INITIAL, State.CONFIGURING); + assertEquals(State.CONFIGURING, _manager.getState()); } public void testStateTransitionDisallowed() @@ -86,4 +94,102 @@ public class StateManagerTest extends TestCase } assertEquals(State.INITIAL, _manager.getState()); } + + public void testValidStateTransitions() + { + assertEquals(State.INITIAL, _manager.getState()); + performValidTransition(StateManager.CONFIGURE); + performValidTransition(StateManager.CONFIGURE_COMPLETE); + performValidTransition(StateManager.RECOVER); + performValidTransition(StateManager.ACTIVATE); + performValidTransition(StateManager.QUIESCE); + performValidTransition(StateManager.QUIESCE_COMPLETE); + performValidTransition(StateManager.RESTART); + performValidTransition(StateManager.ACTIVATE); + performValidTransition(StateManager.CLOSE_ACTIVE); + performValidTransition(StateManager.CLOSE_COMPLETE); + + _manager = new StateManager(this); + performValidTransition(StateManager.CONFIGURE); + performValidTransition(StateManager.CONFIGURE_COMPLETE); + performValidTransition(StateManager.RECOVER); + performValidTransition(StateManager.ACTIVATE); + performValidTransition(StateManager.QUIESCE); + performValidTransition(StateManager.QUIESCE_COMPLETE); + performValidTransition(StateManager.CLOSE_QUIESCED); + performValidTransition(StateManager.CLOSE_COMPLETE); + } + + private void performValidTransition(StateManager.Transition transition) + { + _manager.attainState(transition.getEndState()); + assertEquals("Unexpected end state", transition.getEndState(), _manager.getState()); + assertEquals("Unexpected event", transition.getEvent(), _event); + _event = null; + } + + public void testInvalidStateTransitions() + { + assertEquals(State.INITIAL, _manager.getState()); + + + performInvalidTransitions(StateManager.CONFIGURE, State.CONFIGURED); + performInvalidTransitions(StateManager.CONFIGURE_COMPLETE, State.RECOVERING); + performInvalidTransitions(StateManager.RECOVER, State.ACTIVE); + performInvalidTransitions(StateManager.ACTIVATE, State.QUIESCING, State.CLOSING); + performInvalidTransitions(StateManager.QUIESCE, State.QUIESCED); + performInvalidTransitions(StateManager.QUIESCE_COMPLETE, State.RECOVERING, State.CLOSING); + performInvalidTransitions(StateManager.CLOSE_QUIESCED, State.CLOSED); + performInvalidTransitions(StateManager.CLOSE_COMPLETE); + + + + + } + + private void performInvalidTransitions(StateManager.Transition preTransition, State... validTransitions) + { + if(preTransition != null) + { + performValidTransition(preTransition); + } + + EnumSet<State> nextStates = EnumSet.allOf(State.class); + + if(validTransitions != null) + { + for(State state: validTransitions) + { + nextStates.remove(state); + } + } + + for(State nextState : nextStates) + { + performInvalidStateTransition(nextState); + } + + + } + + private void performInvalidStateTransition(State state) + { + try + { + _event = null; + State startState = _manager.getState(); + _manager.attainState(state); + fail("Invalid state transition performed: " + startState + " to " + state); + } + catch(IllegalStateException e) + { + // pass + } + assertNull("No event should have be fired", _event); + } + + public void event(Event event) + { + _event = event; + } } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/TestableMemoryMessageStoreFactory.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/TestableMemoryMessageStoreFactory.java index a737836ed5..44070f22ad 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/TestableMemoryMessageStoreFactory.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/TestableMemoryMessageStoreFactory.java @@ -19,17 +19,13 @@ */ package org.apache.qpid.server.store; -import org.apache.qpid.server.logging.LogSubject; -import org.apache.qpid.server.store.decorators.EventDecorator; -import org.apache.qpid.server.store.decorators.OperationalLoggingDecorator; - public class TestableMemoryMessageStoreFactory implements MessageStoreFactory { @Override - public MessageStore createMessageStore(LogSubject logSubject) + public MessageStore createMessageStore() { - return new OperationalLoggingDecorator(new EventDecorator(new TestableMemoryMessageStore()), logSubject); + return new TestableMemoryMessageStore(); } @Override diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/decorators/EventDecoratorTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/decorators/EventDecoratorTest.java deleted file mode 100644 index 7038b8710b..0000000000 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/decorators/EventDecoratorTest.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ -package org.apache.qpid.server.store.decorators; - -import static org.mockito.Mockito.*; - -import org.apache.qpid.server.store.Event; -import org.apache.qpid.server.store.EventListener; -import org.apache.qpid.server.store.MessageStore; -import org.apache.qpid.server.store.decorators.EventDecorator; -import org.mockito.InOrder; - -import junit.framework.TestCase; - -public class EventDecoratorTest extends TestCase -{ - private MessageStore _mockStore = mock(MessageStore.class); - private EventListener _mockListener = mock(EventListener.class); - - private EventDecorator _eventDecorator = new EventDecorator(_mockStore); - private InOrder _orderMock = inOrder(_mockListener, _mockStore); - - public void testBeforeActivateDecoration() throws Exception - { - _eventDecorator.addEventListener(_mockListener, Event.BEFORE_ACTIVATE); - _eventDecorator.activate(); - - _orderMock.verify(_mockListener).event(Event.BEFORE_ACTIVATE); - _orderMock.verify(_mockStore).activate(); - } - - public void testAfterActivateDecoration() throws Exception - { - _eventDecorator.addEventListener(_mockListener, Event.AFTER_ACTIVATE); - _eventDecorator.activate(); - - _orderMock.verify(_mockStore).activate(); - _orderMock.verify(_mockListener).event(Event.AFTER_ACTIVATE); - } - - public void testBeforeAfterActivateDecoration() throws Exception - { - _eventDecorator.addEventListener(_mockListener, Event.BEFORE_ACTIVATE); - _eventDecorator.addEventListener(_mockListener, Event.AFTER_ACTIVATE); - _eventDecorator.activate(); - - _orderMock.verify(_mockListener).event(Event.BEFORE_ACTIVATE); - _orderMock.verify(_mockStore).activate(); - _orderMock.verify(_mockListener).event(Event.AFTER_ACTIVATE); - } - - public void testBeforeAfterCloseDecoration() throws Exception - { - _eventDecorator.addEventListener(_mockListener, Event.BEFORE_CLOSE); - _eventDecorator.addEventListener(_mockListener, Event.AFTER_CLOSE); - _eventDecorator.close(); - - _orderMock.verify(_mockListener).event(Event.BEFORE_CLOSE); - _orderMock.verify(_mockStore).close(); - _orderMock.verify(_mockListener).event(Event.AFTER_CLOSE); - } -} diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/decorators/OperationalLoggingDecoratorTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/decorators/OperationalLoggingDecoratorTest.java deleted file mode 100644 index cf06d3ab72..0000000000 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/decorators/OperationalLoggingDecoratorTest.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ -package org.apache.qpid.server.store.decorators; - -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyString; -import static org.mockito.Matchers.argThat; -import static org.mockito.Matchers.eq; -import static org.mockito.Mockito.inOrder; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -import static org.apache.qpid.server.store.MessageStoreConstants.ENVIRONMENT_PATH_PROPERTY; - -import junit.framework.TestCase; - -import org.apache.commons.configuration.Configuration; -import org.apache.qpid.server.logging.LogActor; -import org.apache.qpid.server.logging.LogMessage; -import org.apache.qpid.server.logging.LogSubject; -import org.apache.qpid.server.logging.actors.CurrentActor; -import org.apache.qpid.server.store.ConfigurationRecoveryHandler; -import org.apache.qpid.server.store.MessageStore; -import org.apache.qpid.server.store.MessageStoreRecoveryHandler; -import org.apache.qpid.server.store.TransactionLogRecoveryHandler; -import org.apache.qpid.server.store.decorators.OperationalLoggingDecorator; -import org.hamcrest.Description; -import org.mockito.ArgumentMatcher; -import org.mockito.InOrder; - -public class OperationalLoggingDecoratorTest extends TestCase -{ - private MessageStore _messageStore = mock(MessageStore.class); - private LogActor _mockActor = mock(LogActor.class); - private LogSubject _mockLogSubject = mock(LogSubject.class); - private OperationalLoggingDecorator _operationalLoggingDecorator = new OperationalLoggingDecorator(_messageStore, _mockLogSubject); - private InOrder _inOrder = inOrder(_mockActor, _messageStore); - - protected void setUp() throws Exception - { - super.setUp(); - CurrentActor.set(_mockActor); - } - - public void testConfigureMessageStore() throws Exception - { - _operationalLoggingDecorator.configureMessageStore(null,null,null,null); - - _inOrder.verify(_mockActor).message(eq(_mockLogSubject), matchesLogMessage("MST-1001 : Created")); - _inOrder.verify(_mockActor).message(eq(_mockLogSubject), matchesLogMessage("TXN-1001 : Created")); - _inOrder.verify(_messageStore).configureMessageStore(anyString(), any(MessageStoreRecoveryHandler.class), any(TransactionLogRecoveryHandler.class), any(Configuration.class)); - } - - public void testConfigureMessageStoreWithStoreLocation() throws Exception - { - final String storeLocation = "/my/store/location"; - Configuration mockConfig = mock(Configuration.class); - when(mockConfig.getString(ENVIRONMENT_PATH_PROPERTY)).thenReturn(storeLocation); - - _operationalLoggingDecorator.configureMessageStore(null,null,null, mockConfig); - - _inOrder.verify(_mockActor).message(eq(_mockLogSubject), matchesLogMessage("MST-1001 : Created")); - _inOrder.verify(_mockActor).message(eq(_mockLogSubject), matchesLogMessage("TXN-1001 : Created")); - _inOrder.verify(_mockActor).message(eq(_mockLogSubject), matchesLogMessage("MST-1002 : Store location : " + storeLocation)); - _inOrder.verify(_messageStore).configureMessageStore(anyString(), any(MessageStoreRecoveryHandler.class), any(TransactionLogRecoveryHandler.class), any(Configuration.class)); - } - - public void testConfigureConfigStore() throws Exception - { - _operationalLoggingDecorator.configureConfigStore(null,null,null); - - _inOrder.verify(_mockActor).message(eq(_mockLogSubject), matchesLogMessage("CFG-1001 : Created")); - _inOrder.verify(_messageStore).configureConfigStore(anyString(), any(ConfigurationRecoveryHandler.class), any(Configuration.class)); - } - - public void testActivate() throws Exception - { - _operationalLoggingDecorator.activate(); - - _inOrder.verify(_mockActor).message(eq(_mockLogSubject), matchesLogMessage("MST-1004 : Recovery Start")); - _inOrder.verify(_messageStore).activate(); - _inOrder.verify(_mockActor).message(eq(_mockLogSubject), matchesLogMessage("MST-1006 : Recovery Complete")); - } - - public void testClose() throws Exception - { - _operationalLoggingDecorator.close(); - - _inOrder.verify(_mockActor).message(eq(_mockLogSubject), matchesLogMessage("MST-1003 : Closed")); - _inOrder.verify(_messageStore).close(); - } - - @Override - protected void tearDown() throws Exception - { - super.tearDown(); - CurrentActor.remove(); - } - - private LogMessage matchesLogMessage(String expectedLogMessage) - { - return argThat(new LogMessageArgumentMatcher(expectedLogMessage)); - } - - private final class LogMessageArgumentMatcher extends ArgumentMatcher<LogMessage> - { - private final String _expectedText; - private String _description = null; -; - public LogMessageArgumentMatcher(String _expectedLogMessage) - { - this._expectedText = _expectedLogMessage; - } - - @Override - public boolean matches(Object item) - { - LogMessage logMessage = (LogMessage) item; - final String actualText = logMessage.toString(); - if (actualText.equals(_expectedText)) - { - return true; - } - else - { - _description = "Expected <" + _expectedText + "> but got <" + actualText + ">"; - return false; - } - } - - @Override - public void describeTo(Description description) - { - if (description != null) - { - description.appendText(" : "+ _description); - } - } - } -}
\ No newline at end of file diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java index 6b48d55fae..5a11a7aa32 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java @@ -98,7 +98,7 @@ public class InternalBrokerBaseCase extends QpidTestCase _virtualHost.getBindingFactory().addBinding(QUEUE_NAME.toString(), _queue, defaultExchange, null); _virtualHost = _registry.getVirtualHostRegistry().getVirtualHost("test"); - _messageStore = _virtualHost.getMessageStore().getUnderlyingStore(); + _messageStore = _virtualHost.getMessageStore(); _queue = AMQQueueFactory.createAMQQueueImpl(new AMQShortString(getName()), false, new AMQShortString("testowner"), false, false, _virtualHost, null); |
