Author: kwall
Date: Fri Jun 13 16:52:33 2014
New Revision: 1602475
URL: http://svn.apache.org/r1602475
Log:
QPID-5802: [Java Broker] Refactor VH implementations to avoid duplicated
message store/message store subject code.
This addresses review comments from Alex Rudyy.
Modified:
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAVirtualHostImpl.java
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBVirtualHost.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ProvidedStoreVirtualHost.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/TestMemoryVirtualHost.java
qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/virtualhost/derby/DerbyVirtualHost.java
qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhost/jdbc/JDBCVirtualHost.java
qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/virtualhost/memory/MemoryVirtualHost.java
Modified:
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAVirtualHostImpl.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAVirtualHostImpl.java?rev=1602475&r1=1602474&r2=1602475&view=diff
==============================================================================
---
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAVirtualHostImpl.java
(original)
+++
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAVirtualHostImpl.java
Fri Jun 13 16:52:33 2014
@@ -23,13 +23,11 @@ package org.apache.qpid.server.virtualho
import java.util.Map;
import java.util.Set;
-import org.apache.qpid.server.logging.subjects.MessageStoreLogSubject;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ManagedAttributeField;
import org.apache.qpid.server.model.ManagedObject;
import org.apache.qpid.server.model.ManagedObjectFactoryConstructor;
import org.apache.qpid.server.model.VirtualHostNode;
-import org.apache.qpid.server.store.DurableConfigurationStore;
import org.apache.qpid.server.store.MessageStore;
import org.apache.qpid.server.store.berkeleydb.BDBConfigurationStore;
import
org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade;
@@ -43,7 +41,6 @@ public class BDBHAVirtualHostImpl extend
public static final String TYPE = "BDB_HA";
private final BDBConfigurationStore _configurationStore;
- private MessageStoreLogSubject _messageStoreLogSubject;
@ManagedAttributeField(afterSet="setLocalTransactionSynchronizationPolicyOnEnvironment")
private String _localTransactionSynchronizationPolicy;
@@ -57,33 +54,15 @@ public class BDBHAVirtualHostImpl extend
super(attributes, virtualHostNode);
_configurationStore = (BDBConfigurationStore)
virtualHostNode.getConfigurationStore();
- _messageStoreLogSubject = new MessageStoreLogSubject(getName(),
_configurationStore.getMessageStore().getClass().getSimpleName());
}
@Override
- protected void initialiseStorage()
- {
- }
-
- @Override
- public DurableConfigurationStore getDurableConfigurationStore()
- {
- return _configurationStore;
- }
-
- @Override
- public MessageStore getMessageStore()
+ protected MessageStore createMessageStore()
{
return _configurationStore.getMessageStore();
}
@Override
- protected MessageStoreLogSubject getMessageStoreLogSubject()
- {
- return _messageStoreLogSubject;
- }
-
- @Override
public String getLocalTransactionSynchronizationPolicy()
{
return _localTransactionSynchronizationPolicy;
@@ -152,7 +131,7 @@ public class BDBHAVirtualHostImpl extend
}
catch(Exception e)
{
- throw new IllegalArgumentException("Invalid transaction
syncronization policy '" + policy + "'. " + e.getMessage());
+ throw new IllegalArgumentException("Invalid transaction
synchronization policy '" + policy + "'. " + e.getMessage());
}
}
Modified:
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBVirtualHost.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBVirtualHost.java?rev=1602475&r1=1602474&r2=1602475&view=diff
==============================================================================
---
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBVirtualHost.java
(original)
+++
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBVirtualHost.java
Fri Jun 13 16:52:33 2014
@@ -22,7 +22,6 @@ package org.apache.qpid.server.virtualho
import java.util.Map;
-import org.apache.qpid.server.logging.subjects.MessageStoreLogSubject;
import org.apache.qpid.server.model.ManagedObject;
import org.apache.qpid.server.model.ManagedObjectFactoryConstructor;
import org.apache.qpid.server.model.VirtualHostNode;
@@ -34,8 +33,6 @@ import org.apache.qpid.server.virtualhos
public class BDBVirtualHost extends AbstractVirtualHost<BDBVirtualHost>
{
public static final String VIRTUAL_HOST_TYPE = "BDB";
- private MessageStore _messageStore;
- private MessageStoreLogSubject _messageStoreLogSubject;
@ManagedObjectFactoryConstructor
public BDBVirtualHost(final Map<String, Object> attributes,
@@ -46,23 +43,8 @@ public class BDBVirtualHost extends Abst
@Override
- protected void initialiseStorage()
+ protected MessageStore createMessageStore()
{
- _messageStore = new BDBConfigurationStore().getMessageStore();
-
- _messageStoreLogSubject = new MessageStoreLogSubject(getName(),
_messageStore.getClass().getSimpleName());
-
- }
-
- @Override
- protected MessageStoreLogSubject getMessageStoreLogSubject()
- {
- return _messageStoreLogSubject;
- }
-
- @Override
- public MessageStore getMessageStore()
- {
- return _messageStore;
+ return new BDBConfigurationStore().getMessageStore();
}
}
Modified:
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java?rev=1602475&r1=1602474&r2=1602475&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
(original)
+++
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
Fri Jun 13 16:52:33 2014
@@ -127,6 +127,8 @@ public abstract class AbstractVirtualHos
private final AtomicBoolean _deleted = new AtomicBoolean();
private final VirtualHostNode<?> _virtualHostNode;
+ private MessageStoreLogSubject _messageStoreLogSubject;
+
@ManagedAttributeField
private Map<String, Object> _messageStoreSettings;
@@ -153,6 +155,8 @@ public abstract class AbstractVirtualHos
private MessageDestination _defaultDestination;
+ private MessageStore _messageStore;
+
public AbstractVirtualHost(final Map<String, Object> attributes,
VirtualHostNode<?> virtualHostNode)
{
super(parentsMap(virtualHostNode), attributes);
@@ -206,24 +210,24 @@ public abstract class AbstractVirtualHos
}
@Override
+ public MessageStore getMessageStore()
+ {
+ return _messageStore;
+ }
+
+ @Override
protected void onOpen()
{
super.onOpen();
registerSystemNodes();
- Subject.doAs(SecurityManager.getSubjectWithAddedSystemRights(), new
PrivilegedAction<Object>()
- {
- @Override
- public Object run()
- {
- initialiseStorage();
- return null;
- }
- });
+ _messageStore = createMessageStore();
- getMessageStore().addEventListener(this,
Event.PERSISTENT_MESSAGE_SIZE_OVERFULL);
- getMessageStore().addEventListener(this,
Event.PERSISTENT_MESSAGE_SIZE_UNDERFULL);
+ _messageStoreLogSubject = new MessageStoreLogSubject(getName(),
_messageStore.getClass().getSimpleName());
+
+ _messageStore.addEventListener(this,
Event.PERSISTENT_MESSAGE_SIZE_OVERFULL);
+ _messageStore.addEventListener(this,
Event.PERSISTENT_MESSAGE_SIZE_UNDERFULL);
synchronized(_aliases)
@@ -259,7 +263,7 @@ public abstract class AbstractVirtualHos
}
}
- abstract protected void initialiseStorage();
+ protected abstract MessageStore createMessageStore();
protected boolean isStoreEmpty()
{
@@ -295,7 +299,10 @@ public abstract class AbstractVirtualHos
});
}
- abstract protected MessageStoreLogSubject getMessageStoreLogSubject();
+ protected MessageStoreLogSubject getMessageStoreLogSubject()
+ {
+ return _messageStoreLogSubject;
+ }
public IConnectionRegistry getConnectionRegistry()
{
Modified:
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ProvidedStoreVirtualHost.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ProvidedStoreVirtualHost.java?rev=1602475&r1=1602474&r2=1602475&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ProvidedStoreVirtualHost.java
(original)
+++
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ProvidedStoreVirtualHost.java
Fri Jun 13 16:52:33 2014
@@ -23,7 +23,6 @@ package org.apache.qpid.server.virtualho
import java.util.Map;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
-import org.apache.qpid.server.logging.subjects.MessageStoreLogSubject;
import org.apache.qpid.server.model.ManagedObject;
import org.apache.qpid.server.model.ManagedObjectFactoryConstructor;
import org.apache.qpid.server.model.VirtualHostNode;
@@ -35,8 +34,6 @@ import org.apache.qpid.server.store.Mess
public class ProvidedStoreVirtualHost extends
AbstractVirtualHost<ProvidedStoreVirtualHost>
{
public static final String VIRTUAL_HOST_TYPE = "ProvidedStore";
- private MessageStore _messageStore;
- private MessageStoreLogSubject _messageStoreLogSubject;
@ManagedObjectFactoryConstructor
public ProvidedStoreVirtualHost(final Map<String, Object> attributes,
@@ -62,26 +59,12 @@ public class ProvidedStoreVirtualHost ex
}
@Override
- protected void initialiseStorage()
+ protected MessageStore createMessageStore()
{
VirtualHostNode<?> virtualHostNode = getParent(VirtualHostNode.class);
-
MessageStoreProvider messageStoreProvider = (MessageStoreProvider)
virtualHostNode.getConfigurationStore();
- _messageStore = messageStoreProvider.getMessageStore();
-
- _messageStoreLogSubject = new MessageStoreLogSubject(getName(),
_messageStore.getClass().getSimpleName());
-
+ return messageStoreProvider.getMessageStore();
}
+}
- @Override
- protected MessageStoreLogSubject getMessageStoreLogSubject()
- {
- return _messageStoreLogSubject;
- }
- @Override
- public MessageStore getMessageStore()
- {
- return _messageStore;
- }
-}
Modified:
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java?rev=1602475&r1=1602474&r2=1602475&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java
(original)
+++
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java
Fri Jun 13 16:52:33 2014
@@ -44,7 +44,6 @@ import org.apache.qpid.server.model.Virt
import org.apache.qpid.server.protocol.LinkRegistry;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.security.SecurityManager;
-import org.apache.qpid.server.security.auth.manager.AuthenticationManager;
import org.apache.qpid.server.stats.StatisticsCounter;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
import org.apache.qpid.server.store.DurableConfigurationStore;
@@ -65,11 +64,6 @@ public class MockVirtualHost implements
}
- public AuthenticationManager getAuthenticationManager()
- {
- return null;
- }
-
public DtxRegistry getDtxRegistry()
{
return null;
Modified:
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/TestMemoryVirtualHost.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/TestMemoryVirtualHost.java?rev=1602475&r1=1602474&r2=1602475&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/TestMemoryVirtualHost.java
(original)
+++
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/TestMemoryVirtualHost.java
Fri Jun 13 16:52:33 2014
@@ -22,7 +22,6 @@ package org.apache.qpid.server.virtualho
import java.util.Map;
-import org.apache.qpid.server.logging.subjects.MessageStoreLogSubject;
import org.apache.qpid.server.model.ManagedObject;
import org.apache.qpid.server.model.ManagedObjectFactoryConstructor;
import org.apache.qpid.server.model.VirtualHostNode;
@@ -33,8 +32,6 @@ import org.apache.qpid.server.store.Test
public class TestMemoryVirtualHost extends
AbstractVirtualHost<TestMemoryVirtualHost>
{
public static final String VIRTUAL_HOST_TYPE = "TestMemory";
- private MessageStore _messageStore;
- private MessageStoreLogSubject _messageStoreLogSubject;
@ManagedObjectFactoryConstructor
public TestMemoryVirtualHost(final Map<String, Object> attributes,
@@ -45,23 +42,9 @@ public class TestMemoryVirtualHost exten
@Override
- protected void initialiseStorage()
+ protected MessageStore createMessageStore()
{
- _messageStore = new TestMemoryMessageStore();
-
- _messageStoreLogSubject = new MessageStoreLogSubject(getName(),
_messageStore.getClass().getSimpleName());
-
+ return new TestMemoryMessageStore();
}
- @Override
- protected MessageStoreLogSubject getMessageStoreLogSubject()
- {
- return _messageStoreLogSubject;
- }
-
- @Override
- public MessageStore getMessageStore()
- {
- return _messageStore;
- }
}
Modified:
qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/virtualhost/derby/DerbyVirtualHost.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/virtualhost/derby/DerbyVirtualHost.java?rev=1602475&r1=1602474&r2=1602475&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/virtualhost/derby/DerbyVirtualHost.java
(original)
+++
qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/virtualhost/derby/DerbyVirtualHost.java
Fri Jun 13 16:52:33 2014
@@ -22,7 +22,6 @@ package org.apache.qpid.server.virtualho
import java.util.Map;
-import org.apache.qpid.server.logging.subjects.MessageStoreLogSubject;
import org.apache.qpid.server.model.ManagedObject;
import org.apache.qpid.server.model.ManagedObjectFactoryConstructor;
import org.apache.qpid.server.model.VirtualHostNode;
@@ -34,8 +33,6 @@ import org.apache.qpid.server.virtualhos
public class DerbyVirtualHost extends AbstractVirtualHost<DerbyVirtualHost>
{
public static final String VIRTUAL_HOST_TYPE = "DERBY";
- private MessageStore _messageStore;
- private MessageStoreLogSubject _messageStoreLogSubject;
@ManagedObjectFactoryConstructor
public DerbyVirtualHost(final Map<String, Object> attributes,
@@ -46,23 +43,9 @@ public class DerbyVirtualHost extends Ab
@Override
- protected void initialiseStorage()
+ protected MessageStore createMessageStore()
{
- _messageStore = new DerbyMessageStore().getMessageStore();
-
- _messageStoreLogSubject = new MessageStoreLogSubject(getName(),
_messageStore.getClass().getSimpleName());
-
+ return new DerbyMessageStore().getMessageStore();
}
- @Override
- protected MessageStoreLogSubject getMessageStoreLogSubject()
- {
- return _messageStoreLogSubject;
- }
-
- @Override
- public MessageStore getMessageStore()
- {
- return _messageStore;
- }
}
Modified:
qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhost/jdbc/JDBCVirtualHost.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhost/jdbc/JDBCVirtualHost.java?rev=1602475&r1=1602474&r2=1602475&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhost/jdbc/JDBCVirtualHost.java
(original)
+++
qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhost/jdbc/JDBCVirtualHost.java
Fri Jun 13 16:52:33 2014
@@ -22,7 +22,6 @@ package org.apache.qpid.server.virtualho
import java.util.Map;
-import org.apache.qpid.server.logging.subjects.MessageStoreLogSubject;
import org.apache.qpid.server.model.ManagedObject;
import org.apache.qpid.server.model.ManagedObjectFactoryConstructor;
import org.apache.qpid.server.model.VirtualHostNode;
@@ -34,8 +33,6 @@ import org.apache.qpid.server.virtualhos
public class JDBCVirtualHost extends AbstractVirtualHost<JDBCVirtualHost>
{
public static final String VIRTUAL_HOST_TYPE = "JDBC";
- private MessageStore _messageStore;
- private MessageStoreLogSubject _messageStoreLogSubject;
@ManagedObjectFactoryConstructor
public JDBCVirtualHost(final Map<String, Object> attributes,
@@ -46,23 +43,8 @@ public class JDBCVirtualHost extends Abs
@Override
- protected void initialiseStorage()
+ protected MessageStore createMessageStore()
{
- _messageStore = new JDBCMessageStore().getMessageStore();
-
- _messageStoreLogSubject = new MessageStoreLogSubject(getName(),
_messageStore.getClass().getSimpleName());
-
- }
-
- @Override
- protected MessageStoreLogSubject getMessageStoreLogSubject()
- {
- return _messageStoreLogSubject;
- }
-
- @Override
- public MessageStore getMessageStore()
- {
- return _messageStore;
+ return new JDBCMessageStore().getMessageStore();
}
}
Modified:
qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/virtualhost/memory/MemoryVirtualHost.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/virtualhost/memory/MemoryVirtualHost.java?rev=1602475&r1=1602474&r2=1602475&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/virtualhost/memory/MemoryVirtualHost.java
(original)
+++
qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/virtualhost/memory/MemoryVirtualHost.java
Fri Jun 13 16:52:33 2014
@@ -22,7 +22,6 @@ package org.apache.qpid.server.virtualho
import java.util.Map;
-import org.apache.qpid.server.logging.subjects.MessageStoreLogSubject;
import org.apache.qpid.server.model.ManagedObject;
import org.apache.qpid.server.model.ManagedObjectFactoryConstructor;
import org.apache.qpid.server.model.VirtualHostNode;
@@ -34,8 +33,6 @@ import org.apache.qpid.server.virtualhos
public class MemoryVirtualHost extends AbstractVirtualHost<MemoryVirtualHost>
{
public static final String VIRTUAL_HOST_TYPE = "Memory";
- private MessageStore _messageStore;
- private MessageStoreLogSubject _messageStoreLogSubject;
@ManagedObjectFactoryConstructor
public MemoryVirtualHost(final Map<String, Object> attributes,
@@ -46,23 +43,8 @@ public class MemoryVirtualHost extends A
@Override
- protected void initialiseStorage()
+ protected MessageStore createMessageStore()
{
- _messageStore = new MemoryMessageStore();
-
- _messageStoreLogSubject = new MessageStoreLogSubject(getName(),
_messageStore.getClass().getSimpleName());
-
- }
-
- @Override
- protected MessageStoreLogSubject getMessageStoreLogSubject()
- {
- return _messageStoreLogSubject;
- }
-
- @Override
- public MessageStore getMessageStore()
- {
- return _messageStore;
+ return new MemoryMessageStore();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]