diff options
| author | Alex Rudyy <orudyy@apache.org> | 2014-06-23 21:54:04 +0000 |
|---|---|---|
| committer | Alex Rudyy <orudyy@apache.org> | 2014-06-23 21:54:04 +0000 |
| commit | 882fd35c3a84e4f2f6b84d1bccf324936de3f3fe (patch) | |
| tree | d705bd89ae36cd203892ae042eb3ab09840974db /qpid/java/bdbstore/jmx | |
| parent | ca64819bc020aa10d8959ca1216029828fead06f (diff) | |
| download | qpid-python-882fd35c3a84e4f2f6b84d1bccf324936de3f3fe.tar.gz | |
QPID-5715: Set BDB message store durability only once on opening of virtual host. Restore original code of coalescing committer.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1604946 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/bdbstore/jmx')
2 files changed, 26 insertions, 3 deletions
diff --git a/qpid/java/bdbstore/jmx/src/main/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBean.java b/qpid/java/bdbstore/jmx/src/main/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBean.java index 8c05602967..56a160aef2 100644 --- a/qpid/java/bdbstore/jmx/src/main/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBean.java +++ b/qpid/java/bdbstore/jmx/src/main/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBean.java @@ -43,6 +43,7 @@ import org.apache.qpid.server.jmx.ManagedObject; import org.apache.qpid.server.jmx.ManagedObjectRegistry; import org.apache.qpid.server.model.IllegalStateTransitionException; import org.apache.qpid.server.model.RemoteReplicationNode; +import org.apache.qpid.server.virtualhost.berkeleydb.BDBHAVirtualHost; import org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHARemoteReplicationNode; import org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHAVirtualHostNode; @@ -123,14 +124,24 @@ public class BDBHAMessageStoreManagerMBean extends AMQManagedObject implements M @Override public String getDurability() throws IOException, JMException { - return _virtualHostNode.getDurability(); + BDBHAVirtualHost<?> host = (BDBHAVirtualHost<?>)_virtualHostNode.getVirtualHost(); + if (host != null) + { + return host.getDurability(); + } + return null; } @Override public boolean getCoalescingSync() throws IOException, JMException { - return true; + BDBHAVirtualHost<?> host = (BDBHAVirtualHost<?>)_virtualHostNode.getVirtualHost(); + if (host != null) + { + return host.isCoalescingSync(); + } + return false; } @Override diff --git a/qpid/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanTest.java b/qpid/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanTest.java index e5829c519a..94f7bb3a84 100644 --- a/qpid/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanTest.java +++ b/qpid/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanTest.java @@ -41,6 +41,7 @@ import junit.framework.TestCase; import org.apache.qpid.server.jmx.ManagedObjectRegistry; import org.apache.qpid.server.model.IllegalStateTransitionException; import org.apache.qpid.server.model.RemoteReplicationNode; +import org.apache.qpid.server.virtualhost.berkeleydb.BDBHAVirtualHost; import org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHARemoteReplicationNode; import org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHAVirtualHostNode; @@ -114,11 +115,22 @@ public class BDBHAMessageStoreManagerMBeanTest extends TestCase public void testDurability() throws Exception { - when(_virtualHostNode.getDurability()).thenReturn(TEST_DURABILITY); + BDBHAVirtualHost virtualHost = mock(BDBHAVirtualHost.class); + when(_virtualHostNode.getVirtualHost()).thenReturn(virtualHost); + when(virtualHost.getDurability()).thenReturn(TEST_DURABILITY); assertEquals(TEST_DURABILITY, _mBean.getAttribute(ManagedBDBHAMessageStore.ATTR_DURABILITY)); } + public void testIsCoalescingSync() throws Exception + { + BDBHAVirtualHost virtualHost = mock(BDBHAVirtualHost.class); + when(_virtualHostNode.getVirtualHost()).thenReturn(virtualHost); + when(virtualHost.isCoalescingSync()).thenReturn(true); + + assertEquals(true, _mBean.getAttribute(ManagedBDBHAMessageStore.ATTR_COALESCING_SYNC)); + } + public void testNodeState() throws Exception { when(_virtualHostNode.getRole()).thenReturn(TEST_NODE_STATE); |
