summaryrefslogtreecommitdiff
path: root/qpid/java/bdbstore/jmx
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2014-06-23 21:54:04 +0000
committerAlex Rudyy <orudyy@apache.org>2014-06-23 21:54:04 +0000
commit882fd35c3a84e4f2f6b84d1bccf324936de3f3fe (patch)
treed705bd89ae36cd203892ae042eb3ab09840974db /qpid/java/bdbstore/jmx
parentca64819bc020aa10d8959ca1216029828fead06f (diff)
downloadqpid-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')
-rw-r--r--qpid/java/bdbstore/jmx/src/main/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBean.java15
-rw-r--r--qpid/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanTest.java14
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);