You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2014/04/21 16:28:32 UTC
svn commit: r1588886 [5/6] - in /qpid/trunk/qpid/java:
bdbstore/jmx/src/main/java/org/apache/qpid/server/store/berkeleydb/jmx/
bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/jmx/
bdbstore/src/main/java/org/apache/qpid/server/store/b...
Copied: qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory (from r1588885, qpid/trunk/qpid/java/bdbstore/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory)
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory?p2=qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory&p1=qpid/trunk/qpid/java/bdbstore/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory&r1=1588885&r2=1588886&rev=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory (original)
+++ qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory Mon Apr 21 14:28:29 2014
@@ -16,4 +16,4 @@
# specific language governing permissions and limitations
# under the License.
#
-org.apache.qpid.server.store.berkeleydb.BDBHAVirtualHostFactory
+org.apache.qpid.server.virtualhostnode.derby.DerbyVirtualHostNodeFactory
Modified: qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStore.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStore.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStore.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStore.java Mon Apr 21 14:28:29 2014
@@ -51,11 +51,11 @@ public class JDBCMessageStore extends Ab
public static final String TYPE = "JDBC";
public static final String CONNECTION_URL = "connectionURL";
- public static final String CONNECTION_POOL = "connectionPool";
- public static final String JDBC_BIG_INT_TYPE = "jdbcBigIntType";
- public static final String JDBC_BYTES_FOR_BLOB = "jdbcBytesForBlob";
- public static final String JDBC_VARBINARY_TYPE = "jdbcVarbinaryType";
- public static final String JDBC_BLOB_TYPE = "jdbcBlobType";
+ public static final String CONNECTION_POOL_TYPE = "connectionPoolType";
+ public static final String JDBC_BIG_INT_TYPE = "bigIntType";
+ public static final String JDBC_BYTES_FOR_BLOB = "bytesForBlob";
+ public static final String JDBC_VARBINARY_TYPE = "varbinaryType";
+ public static final String JDBC_BLOB_TYPE = "blobType";
protected String _connectionURL;
private ConnectionProvider _connectionProvider;
@@ -290,7 +290,7 @@ public class JDBCMessageStore extends Ab
throws ClassNotFoundException, SQLException
{
_connectionURL = String.valueOf(storeSettings.get(CONNECTION_URL));
- Object poolAttribute = storeSettings.get(CONNECTION_POOL);
+ Object poolAttribute = storeSettings.get(CONNECTION_POOL_TYPE);
JDBCDetails details = null;
Modified: qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreFactory.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreFactory.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreFactory.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreFactory.java Mon Apr 21 14:28:29 2014
@@ -64,9 +64,11 @@ public class JDBCMessageStoreFactory imp
}
}
+ }
- @SuppressWarnings("unchecked")
- Map<String, Object> configurationStoreSettings = (Map<String, Object>) attributes.get(VirtualHost.CONFIGURATION_STORE_SETTINGS);
+ @Override
+ public void validateConfigurationStoreSettings(Map<String, Object> configurationStoreSettings)
+ {
if(configurationStoreSettings != null && getType().equals(configurationStoreSettings.get(DurableConfigurationStore.STORE_TYPE)))
{
Object connectionURL = configurationStoreSettings.get(JDBCMessageStore.CONNECTION_URL);
Copied: qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhostnode/jdbc/JDBCVirtualHostNode.java (from r1588885, qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/TestMemoryMessageStoreFactory.java)
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhostnode/jdbc/JDBCVirtualHostNode.java?p2=qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhostnode/jdbc/JDBCVirtualHostNode.java&p1=qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/TestMemoryMessageStoreFactory.java&r1=1588885&r2=1588886&rev=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/TestMemoryMessageStoreFactory.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhostnode/jdbc/JDBCVirtualHostNode.java Mon Apr 21 14:28:29 2014
@@ -18,30 +18,31 @@
* under the License.
*
*/
+package org.apache.qpid.server.virtualhostnode.jdbc;
-package org.apache.qpid.server.store;
+import org.apache.qpid.server.model.ManagedAttribute;
+import org.apache.qpid.server.store.jdbc.DefaultConnectionProviderFactory;
-import java.util.Map;
-import org.apache.qpid.server.plugin.MessageStoreFactory;
-
-public class TestMemoryMessageStoreFactory implements MessageStoreFactory
+public interface JDBCVirtualHostNode
{
+ //TODO: Split this attribute into connectionUrl, username and password. Make the password attribute secure.
+ @ManagedAttribute(automate=true, mandatory=true)
+ String getConnectionUrl();
+
+ @ManagedAttribute(automate=true, defaultValue=DefaultConnectionProviderFactory.TYPE)
+ String getConnectionPoolType();
+
+ @ManagedAttribute(automate=true)
+ String getBigIntType();
+
+ @ManagedAttribute(automate=true)
+ boolean isBytesForBlob();
+
+ @ManagedAttribute(automate=true)
+ String getVarBinaryType();
+
+ @ManagedAttribute(automate=true)
+ String getBlobType();
- @Override
- public String getType()
- {
- return TestMemoryMessageStore.TYPE;
- }
-
- @Override
- public MessageStore createMessageStore()
- {
- return new TestMemoryMessageStore();
- }
-
- @Override
- public void validateAttributes(Map<String, Object> attributes)
- {
- }
-}
+}
\ No newline at end of file
Copied: qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhostnode/jdbc/JDBCVirtualHostNodeFactory.java (from r1588885, qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java)
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhostnode/jdbc/JDBCVirtualHostNodeFactory.java?p2=qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhostnode/jdbc/JDBCVirtualHostNodeFactory.java&p1=qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java&r1=1588885&r2=1588886&rev=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhostnode/jdbc/JDBCVirtualHostNodeFactory.java Mon Apr 21 14:28:29 2014
@@ -18,31 +18,27 @@
* under the License.
*
*/
-package org.apache.qpid.server.store.berkeleydb;
+
+package org.apache.qpid.server.virtualhostnode.jdbc;
+
+import java.util.Map;
import org.apache.qpid.server.model.AbstractConfiguredObjectTypeFactory;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-public class BDBHAVirtualHostFactory extends AbstractConfiguredObjectTypeFactory<BDBHAVirtualHost>
+public class JDBCVirtualHostNodeFactory extends AbstractConfiguredObjectTypeFactory<JDBCVirtualHostNodeImpl>
{
-
- public BDBHAVirtualHostFactory()
+ public JDBCVirtualHostNodeFactory()
{
- super(BDBHAVirtualHost.class);
+ super(JDBCVirtualHostNodeImpl.class);
}
@Override
- public BDBHAVirtualHost createInstance(final Map<String, Object> attributes,
- final ConfiguredObject<?>... parents)
+ public JDBCVirtualHostNodeImpl createInstance(Map<String, Object> attributes, ConfiguredObject<?>... parents)
{
- final Broker broker = getParent(Broker.class, parents);
- return new BDBHAVirtualHost(attributes, broker);
+ Broker<?> broker = getParent(Broker.class, parents);
+ return new JDBCVirtualHostNodeImpl(broker, attributes, broker.getTaskExecutor());
}
-
}
Added: qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhostnode/jdbc/JDBCVirtualHostNodeImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhostnode/jdbc/JDBCVirtualHostNodeImpl.java?rev=1588886&view=auto
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhostnode/jdbc/JDBCVirtualHostNodeImpl.java (added)
+++ qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/virtualhostnode/jdbc/JDBCVirtualHostNodeImpl.java Mon Apr 21 14:28:29 2014
@@ -0,0 +1,103 @@
+/*
+ *
+ * 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.virtualhostnode.jdbc;
+
+import java.util.Map;
+
+import org.apache.qpid.server.configuration.updater.TaskExecutor;
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ManagedAttribute;
+import org.apache.qpid.server.model.ManagedAttributeField;
+import org.apache.qpid.server.model.ManagedObject;
+import org.apache.qpid.server.plugin.DurableConfigurationStoreFactory;
+import org.apache.qpid.server.store.jdbc.JDBCMessageStore;
+import org.apache.qpid.server.store.jdbc.JDBCMessageStoreFactory;
+import org.apache.qpid.server.virtualhostnode.AbstractStandardVirtualHostNode;
+
+@ManagedObject( category = false, type = "JDBC" )
+public class JDBCVirtualHostNodeImpl extends AbstractStandardVirtualHostNode<JDBCVirtualHostNodeImpl> implements JDBCVirtualHostNode
+{
+ @ManagedAttributeField
+ private String _connectionUrl;
+
+ @ManagedAttributeField
+ private String _connectionPoolType;
+
+ @ManagedAttributeField
+ private String _bigIntType;
+
+ @ManagedAttributeField
+ private boolean _bytesForBlob;
+
+ @ManagedAttributeField
+ private String _varBinaryType;
+
+ @ManagedAttributeField
+ private String _blobType;
+
+ public JDBCVirtualHostNodeImpl(Broker<?> parent, Map<String, Object> attributes, TaskExecutor taskExecutor)
+ {
+ super(parent, attributes, taskExecutor);
+ }
+
+ @Override
+ protected DurableConfigurationStoreFactory getDurableConfigurationStoreFactory()
+ {
+ return new JDBCMessageStoreFactory();
+ }
+
+ @Override
+ public String getConnectionUrl()
+ {
+ return _connectionUrl;
+ }
+
+ @Override
+ public String getConnectionPoolType()
+ {
+ return _connectionPoolType;
+ }
+
+ @Override
+ public String getBigIntType()
+ {
+ return _bigIntType;
+ }
+
+ @Override
+ public boolean isBytesForBlob()
+ {
+ return _bytesForBlob;
+ }
+
+ @Override
+ public String getVarBinaryType()
+ {
+ return _varBinaryType;
+ }
+
+ @Override
+ public String getBlobType()
+ {
+ return _blobType;
+ }
+
+}
Copied: qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory (from r1588885, qpid/trunk/qpid/java/bdbstore/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory)
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory?p2=qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory&p1=qpid/trunk/qpid/java/bdbstore/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory&r1=1588885&r2=1588886&rev=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory (original)
+++ qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory Mon Apr 21 14:28:29 2014
@@ -16,4 +16,4 @@
# specific language governing permissions and limitations
# under the License.
#
-org.apache.qpid.server.store.berkeleydb.BDBHAVirtualHostFactory
+org.apache.qpid.server.virtualhostnode.jdbc.JDBCVirtualHostNodeFactory
Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java Mon Apr 21 14:28:29 2014
@@ -320,24 +320,26 @@ public class HttpManagement extends Abst
root.addFilter(new FilterHolder(new RedirectingAuthorisationFilter()), "/", EnumSet.of(DispatcherType.REQUEST));
addRestServlet(root, "broker");
- addRestServlet(root, "virtualhost", VirtualHost.class);
+ addRestServlet(root, "virtualhostnode", VirtualHostNode.class);
addRestServlet(root, "authenticationprovider", AuthenticationProvider.class);
addRestServlet(root, "accesscontrolprovider", AccessControlProvider.class);
addRestServlet(root, "user", AuthenticationProvider.class, User.class);
addRestServlet(root, "groupprovider", GroupProvider.class);
addRestServlet(root, "group", GroupProvider.class, Group.class);
addRestServlet(root, "groupmember", GroupProvider.class, Group.class, GroupMember.class);
- addRestServlet(root, "exchange", VirtualHost.class, Exchange.class);
- addRestServlet(root, "queue", VirtualHost.class, Queue.class);
- addRestServlet(root, "connection", VirtualHost.class, Connection.class);
- addRestServlet(root, "binding", VirtualHost.class, Exchange.class, Queue.class, Binding.class);
addRestServlet(root, "port", Port.class);
- addRestServlet(root, "session", VirtualHost.class, Connection.class, Session.class);
addRestServlet(root, "keystore", KeyStore.class);
addRestServlet(root, "truststore", TrustStore.class);
addRestServlet(root, "plugin", Plugin.class);
addRestServlet(root, "preferencesprovider", AuthenticationProvider.class, PreferencesProvider.class);
+ addRestServlet(root, "virtualhost", VirtualHostNode.class, VirtualHost.class);
+ addRestServlet(root, "exchange", VirtualHostNode.class, VirtualHost.class, Exchange.class);
+ addRestServlet(root, "queue", VirtualHostNode.class, VirtualHost.class, Queue.class);
+ addRestServlet(root, "connection", VirtualHostNode.class, VirtualHost.class, Connection.class);
+ addRestServlet(root, "binding", VirtualHostNode.class, VirtualHost.class, Exchange.class, Queue.class, Binding.class);
+ addRestServlet(root, "session", VirtualHostNode.class, VirtualHost.class, Connection.class, Session.class);
+
root.addServlet(new ServletHolder(new UserPreferencesServlet()), "/rest/userpreferences/*");
root.addServlet(new ServletHolder(new LoggedOnUserPreferencesServlet()), "/rest/preferences");
root.addServlet(new ServletHolder(new StructureServlet()), "/rest/structure");
Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java Mon Apr 21 14:28:29 2014
@@ -77,17 +77,11 @@ public class MessageContentServlet exten
String vhostName = pathInfoElements[0];
String queueName = pathInfoElements[1];
- VirtualHost<?,?,?> vhost = null;
-
- for(VirtualHost vh : getBroker().getVirtualHosts())
+ VirtualHost<?,?,?> vhost = getBroker().findVirtualHostByName(vhostName);
+ if (vhost == null)
{
- if(vh.getName().equals(vhostName))
- {
- vhost = vh;
- break;
- }
+ throw new IllegalArgumentException("Could not find virtual host with name '" + vhostName + "'");
}
-
return getQueueFromVirtualHost(queueName, vhost);
}
Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java Mon Apr 21 14:28:29 2014
@@ -33,7 +33,6 @@ import javax.servlet.http.HttpServletRes
import org.apache.log4j.Logger;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
-
import org.apache.qpid.server.consumer.ConsumerImpl;
import org.apache.qpid.server.message.AMQMessageHeader;
import org.apache.qpid.server.message.MessageReference;
@@ -135,15 +134,10 @@ public class MessageServlet extends Abst
String vhostName = pathInfoElements[0];
String queueName = pathInfoElements[1];
- VirtualHost<?,?,?> vhost = null;
-
- for(VirtualHost<?,?,?> vh : getBroker().getVirtualHosts())
+ VirtualHost<?,?,?> vhost = getBroker().findVirtualHostByName(vhostName);
+ if (vhost == null)
{
- if(vh.getName().equals(vhostName))
- {
- vhost = vh;
- break;
- }
+ throw new IllegalArgumentException("Could not find virtual host with name '" + vhostName + "'");
}
return getQueueFromVirtualHost(queueName, vhost);
Modified: qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementPluginImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementPluginImpl.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementPluginImpl.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementPluginImpl.java Mon Apr 21 14:28:29 2014
@@ -31,7 +31,6 @@ import java.util.Set;
import javax.management.JMException;
import org.apache.log4j.Logger;
-
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.jmx.mbeans.LoggingManagementMBean;
import org.apache.qpid.server.jmx.mbeans.ServerInformationMBean;
@@ -49,6 +48,7 @@ import org.apache.qpid.server.model.Port
import org.apache.qpid.server.model.Protocol;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.VirtualHost;
+import org.apache.qpid.server.model.VirtualHostNode;
import org.apache.qpid.server.model.adapter.AbstractPluginAdapter;
import org.apache.qpid.server.plugin.QpidServiceLoader;
import org.apache.qpid.server.util.ServerScopedRuntimeException;
@@ -74,6 +74,7 @@ public class JMXManagementPluginImpl
private JMXManagedObjectRegistry _objectRegistry;
+ private final Object _childrenLock = new Object();
private final Map<ConfiguredObject, AMQManagedObject> _children = new HashMap<ConfiguredObject, AMQManagedObject>();
@ManagedAttributeField
@@ -142,25 +143,25 @@ public class JMXManagementPluginImpl
broker.addChangeListener(this);
- synchronized (_children)
+ synchronized (_childrenLock)
{
- for(VirtualHost<?,?,?> virtualHost : broker.getVirtualHosts())
+ for(VirtualHostNode<?> virtualHostNode : broker.getVirtualHostNodes())
{
- if(!_children.containsKey(virtualHost))
+ virtualHostNode.addChangeListener(this);
+
+ // Virtualhostnodes may or may not have a virtualhost at this point. In the HA
+ // case, JE may spontaneously make the node a master causing it to create a virtualhost.
+ // Creation of the vhost uses the task executor (same thread that executes this code
+ // so there is no potential for a race here).
+ VirtualHost host = virtualHostNode.getVirtualHost();
+ if (host != null)
{
- if(LOGGER.isDebugEnabled())
- {
- LOGGER.debug("Create MBean for virtual host:" + virtualHost.getName());
- }
- VirtualHostMBean mbean = new VirtualHostMBean(virtualHost, _objectRegistry);
-
- if(LOGGER.isDebugEnabled())
- {
- LOGGER.debug("Check for additional MBeans for virtual host:" + virtualHost.getName());
- }
- createAdditionalMBeansFromProviders(virtualHost, mbean);
+ VirtualHostMBean mbean = new VirtualHostMBean(host, _objectRegistry);
+ _children.put(host, mbean);
}
+ createAdditionalMBeansFromProviders(virtualHostNode, _objectRegistry);
}
+
Collection<AuthenticationProvider<?>> authenticationProviders = broker.getAuthenticationProviders();
for (AuthenticationProvider<?> authenticationProvider : authenticationProviders)
{
@@ -171,6 +172,7 @@ public class JMXManagementPluginImpl
_objectRegistry);
_children.put(authenticationProvider, mbean);
}
+ createAdditionalMBeansFromProviders(authenticationProvider, _objectRegistry);
}
}
new Shutdown(_objectRegistry);
@@ -182,6 +184,13 @@ public class JMXManagementPluginImpl
_objectRegistry.start();
}
+ @Override
+ protected void onOpen()
+ {
+ super.onOpen();
+
+ }
+
private boolean isConnectorPort(Port port)
{
return port.getAvailableProtocols().contains(Protocol.JMX_RMI);
@@ -194,7 +203,7 @@ public class JMXManagementPluginImpl
private void stop()
{
- synchronized (_children)
+ synchronized (_childrenLock)
{
for(ConfiguredObject object : _children.keySet())
{
@@ -227,11 +236,16 @@ public class JMXManagementPluginImpl
@Override
public void childAdded(ConfiguredObject object, ConfiguredObject child)
{
- synchronized (_children)
+
+ synchronized (_childrenLock)
{
try
{
AMQManagedObject mbean;
+ if (child instanceof VirtualHostNode)
+ {
+ child.addChangeListener(this);
+ }
if(child instanceof VirtualHost)
{
VirtualHost vhostChild = (VirtualHost)child;
@@ -248,8 +262,9 @@ public class JMXManagementPluginImpl
if (mbean != null)
{
- createAdditionalMBeansFromProviders(child, mbean);
+ _children.put(child, mbean);
}
+ createAdditionalMBeansFromProviders(child, _objectRegistry);
}
catch(Exception e)
{
@@ -262,8 +277,10 @@ public class JMXManagementPluginImpl
@Override
public void childRemoved(ConfiguredObject object, ConfiguredObject child)
{
- synchronized (_children)
+ synchronized (_childrenLock)
{
+ child.removeChangeListener(this);
+
AMQManagedObject mbean = _children.remove(child);
if(mbean != null)
{
@@ -286,10 +303,8 @@ public class JMXManagementPluginImpl
// no-op
}
- private void createAdditionalMBeansFromProviders(ConfiguredObject child, AMQManagedObject mbean) throws JMException
+ private void createAdditionalMBeansFromProviders(ConfiguredObject child, ManagedObjectRegistry registry) throws JMException
{
- _children.put(child, mbean);
-
QpidServiceLoader<MBeanProvider> qpidServiceLoader = new QpidServiceLoader<MBeanProvider>();
for (MBeanProvider provider : qpidServiceLoader.instancesOf(MBeanProvider.class))
{
@@ -298,16 +313,22 @@ public class JMXManagementPluginImpl
LOGGER.debug("Consulting mbean provider : " + provider + " for child : " + child);
}
+ ManagedObject mBean = null;
if (provider.isChildManageableByMBean(child))
{
if(LOGGER.isDebugEnabled())
{
LOGGER.debug("Provider will create mbean");
}
- provider.createMBean(child, mbean);
+ mBean = provider.createMBean(child, registry);
// TODO track the mbeans that have been created on behalf of a child in a map, then
// if the child is ever removed, destroy these beans too.
}
+
+ if(LOGGER.isDebugEnabled())
+ {
+ LOGGER.debug("Provider " + provider + " mBean for child " + child + " " + mBean);
+ }
}
}
Modified: qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/MBeanProvider.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/MBeanProvider.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/MBeanProvider.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/MBeanProvider.java Mon Apr 21 14:28:29 2014
@@ -22,7 +22,6 @@
package org.apache.qpid.server.jmx;
import javax.management.JMException;
-import javax.management.StandardMBean;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.plugin.Pluggable;
@@ -44,9 +43,10 @@ public interface MBeanProvider extends P
/**
* Creates a mbean for this child. This method should only be called if
* {@link #isChildManageableByMBean(ConfiguredObject)} has previously returned true.
+ * @param registry managed object registry
*
* @return newly created mbean
*/
- StandardMBean createMBean(ConfiguredObject child, StandardMBean parent) throws JMException;
+ ManagedObject createMBean(ConfiguredObject child, ManagedObjectRegistry registry) throws JMException;
}
Modified: qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/store/MemoryMessageStoreFactory.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/store/MemoryMessageStoreFactory.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/store/MemoryMessageStoreFactory.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/store/MemoryMessageStoreFactory.java Mon Apr 21 14:28:29 2014
@@ -22,9 +22,10 @@ package org.apache.qpid.server.store;
import java.util.Map;
+import org.apache.qpid.server.plugin.DurableConfigurationStoreFactory;
import org.apache.qpid.server.plugin.MessageStoreFactory;
-public class MemoryMessageStoreFactory implements MessageStoreFactory
+public class MemoryMessageStoreFactory implements MessageStoreFactory, DurableConfigurationStoreFactory
{
@Override
@@ -43,4 +44,15 @@ public class MemoryMessageStoreFactory i
public void validateAttributes(Map<String, Object> attributes)
{
}
+
+ @Override
+ public DurableConfigurationStore createDurableConfigurationStore()
+ {
+ return new MemoryMessageStore();
+ }
+
+ @Override
+ public void validateConfigurationStoreSettings(Map<String, Object> attributes)
+ {
+ }
}
Copied: qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/virtualhostnode/memory/MemoryVirtualHostNode.java (from r1588885, qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java)
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/virtualhostnode/memory/MemoryVirtualHostNode.java?p2=qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/virtualhostnode/memory/MemoryVirtualHostNode.java&p1=qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java&r1=1588885&r2=1588886&rev=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/virtualhostnode/memory/MemoryVirtualHostNode.java Mon Apr 21 14:28:29 2014
@@ -18,31 +18,30 @@
* under the License.
*
*/
-package org.apache.qpid.server.store.berkeleydb;
+package org.apache.qpid.server.virtualhostnode.memory;
-import org.apache.qpid.server.model.AbstractConfiguredObjectTypeFactory;
-import org.apache.qpid.server.model.Broker;
-import org.apache.qpid.server.model.ConfiguredObject;
-
-import java.util.HashMap;
import java.util.Map;
-import java.util.UUID;
-public class BDBHAVirtualHostFactory extends AbstractConfiguredObjectTypeFactory<BDBHAVirtualHost>
+import org.apache.qpid.server.configuration.updater.TaskExecutor;
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ManagedObject;
+import org.apache.qpid.server.plugin.DurableConfigurationStoreFactory;
+import org.apache.qpid.server.store.MemoryMessageStoreFactory;
+import org.apache.qpid.server.virtualhostnode.AbstractStandardVirtualHostNode;
+
+@ManagedObject(type="Memory",category=false)
+public class MemoryVirtualHostNode extends AbstractStandardVirtualHostNode<MemoryVirtualHostNode>
{
- public BDBHAVirtualHostFactory()
+ public MemoryVirtualHostNode(Broker<?> parent, Map<String, Object> attributes, TaskExecutor taskExecutor)
{
- super(BDBHAVirtualHost.class);
+ super(parent, attributes, taskExecutor);
}
@Override
- public BDBHAVirtualHost createInstance(final Map<String, Object> attributes,
- final ConfiguredObject<?>... parents)
+ public DurableConfigurationStoreFactory getDurableConfigurationStoreFactory()
{
- final Broker broker = getParent(Broker.class, parents);
- return new BDBHAVirtualHost(attributes, broker);
+ return new MemoryMessageStoreFactory();
}
-
}
Copied: qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/virtualhostnode/memory/MemoryVirtualHostNodeFactory.java (from r1588885, qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java)
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/virtualhostnode/memory/MemoryVirtualHostNodeFactory.java?p2=qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/virtualhostnode/memory/MemoryVirtualHostNodeFactory.java&p1=qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java&r1=1588885&r2=1588886&rev=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/virtualhostnode/memory/MemoryVirtualHostNodeFactory.java Mon Apr 21 14:28:29 2014
@@ -18,31 +18,27 @@
* under the License.
*
*/
-package org.apache.qpid.server.store.berkeleydb;
+package org.apache.qpid.server.virtualhostnode.memory;
+
+import java.util.Map;
import org.apache.qpid.server.model.AbstractConfiguredObjectTypeFactory;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-public class BDBHAVirtualHostFactory extends AbstractConfiguredObjectTypeFactory<BDBHAVirtualHost>
+public class MemoryVirtualHostNodeFactory extends AbstractConfiguredObjectTypeFactory<MemoryVirtualHostNode>
{
- public BDBHAVirtualHostFactory()
+ public MemoryVirtualHostNodeFactory()
{
- super(BDBHAVirtualHost.class);
+ super(MemoryVirtualHostNode.class);
}
@Override
- public BDBHAVirtualHost createInstance(final Map<String, Object> attributes,
- final ConfiguredObject<?>... parents)
+ protected MemoryVirtualHostNode createInstance(Map<String, Object> attributes, ConfiguredObject<?>... parents)
{
- final Broker broker = getParent(Broker.class, parents);
- return new BDBHAVirtualHost(attributes, broker);
+ Broker<?> broker = getParent(Broker.class, parents);
+ return new MemoryVirtualHostNode(broker, attributes, broker.getTaskExecutor());
}
-
}
Copied: qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory (from r1588885, qpid/trunk/qpid/java/bdbstore/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory)
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory?p2=qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory&p1=qpid/trunk/qpid/java/bdbstore/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory&r1=1588885&r2=1588886&rev=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory (original)
+++ qpid/trunk/qpid/java/broker-plugins/memory-store/src/main/resources/META-INF/services/org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory Mon Apr 21 14:28:29 2014
@@ -16,4 +16,4 @@
# specific language governing permissions and limitations
# under the License.
#
-org.apache.qpid.server.store.berkeleydb.BDBHAVirtualHostFactory
+org.apache.qpid.server.virtualhostnode.memory.MemoryVirtualHostNodeFactory
Modified: qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/util/Strings.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/util/Strings.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/util/Strings.java (original)
+++ qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/util/Strings.java Mon Apr 21 14:28:29 2014
@@ -227,6 +227,10 @@ public final class Strings
private static final String expand(String input, Resolver resolver, Stack<String> stack, boolean failOnUnresolved)
{
+ if (input == null)
+ {
+ throw new IllegalArgumentException("Expansion input cannot be null");
+ }
Matcher m = VAR.matcher(input);
StringBuffer result = new StringBuffer();
while (m.find())
Modified: qpid/trunk/qpid/java/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java (original)
+++ qpid/trunk/qpid/java/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java Mon Apr 21 14:28:29 2014
@@ -157,6 +157,10 @@ public class QpidTestCase extends TestCa
return storeType != null ? storeType : "TestableMemory";
}
+ public String getTestProfileVirtualHostNodeType()
+ {
+ return getTestProfileMessageStoreType();
+ }
public static final int MIN_PORT_NUMBER = 1;
public static final int MAX_PORT_NUMBER = 49151;
Modified: qpid/trunk/qpid/java/systests/etc/config-systests.json
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/etc/config-systests.json?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/etc/config-systests.json (original)
+++ qpid/trunk/qpid/java/systests/etc/config-systests.json Mon Apr 21 14:28:29 2014
@@ -22,7 +22,7 @@
"name": "Broker",
"defaultVirtualHost" : "test",
"storeVersion": 1,
- "modelVersion": "1.4",
+ "modelVersion": "2.0",
"authenticationproviders" : [ {
"name" : "plain",
"type" : "PlainPasswordFile",
@@ -57,12 +57,10 @@
"port" : "${test.cport}",
"protocols" : [ "JMX_RMI" ]
}],
- "virtualhosts" : [ {
+ "virtualhostnodes" : [ {
"name" : "test",
- "type" : "STANDARD",
- "messageStoreSettings": {
- "storeType": "${messagestore.type}",
- "storePath" : "${QPID_WORK}/test/${test.port}"
- }
+ "type" : "${messagestore.type}",
+ "messageStoreProvider": true,
+ "storePath" : "${QPID_WORK}/test/${test.port}"
} ]
}
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/failover/MultipleBrokersFailoverTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/failover/MultipleBrokersFailoverTest.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/failover/MultipleBrokersFailoverTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/failover/MultipleBrokersFailoverTest.java Mon Apr 21 14:28:29 2014
@@ -98,7 +98,7 @@ public class MultipleBrokersFailoverTest
{
host = NON_FAILOVER_VIRTUAL_HOST;
}
- createTestVirtualHost(port, host);
+ createTestVirtualHostNode(port, host);
startBroker(port);
revertSystemProperties();
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AlertingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AlertingTest.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AlertingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AlertingTest.java Mon Apr 21 14:28:29 2014
@@ -186,7 +186,7 @@ public class AlertingTest extends Abstra
setTestSystemProperty("queue.alertThresholdQueueDepthMessages","5");
brokerConfiguration.setSaved(false);
- restTestHelper.submitRequest("/rest/queue/test/" + getTestQueueName(), "PUT", Collections.<String, Object>singletonMap(org.apache.qpid.server.model.Queue.ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES, 5));
+ restTestHelper.submitRequest("/rest/queue/test/test/" + getTestQueueName(), "PUT", Collections.<String, Object>singletonMap(org.apache.qpid.server.model.Queue.ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES, 5));
// Trigger the new value
sendMessage(_session, _destination, 3);
_session.commit();
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/security/acl/ExternalACLJMXTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/security/acl/ExternalACLJMXTest.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/security/acl/ExternalACLJMXTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/security/acl/ExternalACLJMXTest.java Mon Apr 21 14:28:29 2014
@@ -45,10 +45,10 @@ public class ExternalACLJMXTest extends
public void setUp() throws Exception
{
//remove the normal 'test' vhost, we will configure the vhosts below
- getBrokerConfiguration(0).removeObjectConfiguration(org.apache.qpid.server.model.VirtualHost.class, TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST);
+ getBrokerConfiguration(0).removeObjectConfiguration(org.apache.qpid.server.model.VirtualHostNode.class, TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST);
- createTestVirtualHost(0, TEST_VHOST);
- createTestVirtualHost(0, TEST2_VHOST);
+ createTestVirtualHostNode(0, TEST_VHOST);
+ createTestVirtualHostNode(0, TEST2_VHOST);
getBrokerConfiguration().addJmxManagementConfiguration();
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/stats/StatisticsReportingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/stats/StatisticsReportingTest.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/stats/StatisticsReportingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/stats/StatisticsReportingTest.java Mon Apr 21 14:28:29 2014
@@ -39,6 +39,7 @@ import org.apache.qpid.exchange.Exchange
import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.VirtualHost;
+import org.apache.qpid.server.model.VirtualHostNode;
import org.apache.qpid.test.utils.QpidBrokerTestCase;
import org.apache.qpid.test.utils.TestBrokerConfiguration;
import org.apache.qpid.util.LogMonitor;
@@ -66,14 +67,14 @@ public class StatisticsReportingTest ext
@Override
public void setUp() throws Exception
{
- createTestVirtualHost(0, VHOST_NAME1);
- createTestVirtualHost(0, VHOST_NAME2);
- createTestVirtualHost(0, VHOST_NAME3);
+ createTestVirtualHostNode(0, VHOST_NAME1);
+ createTestVirtualHostNode(0, VHOST_NAME2);
+ createTestVirtualHostNode(0, VHOST_NAME3);
if (getName().equals("testEnabledStatisticsReporting"))
{
TestBrokerConfiguration config = getBrokerConfiguration();
- config.removeObjectConfiguration(VirtualHost.class, TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST);
+ config.removeObjectConfiguration(VirtualHostNode.class, TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST);
config.setBrokerAttribute(Broker.STATISTICS_REPORTING_PERIOD, STATISTICS_REPORTING_PERIOD_IN_SECONDS);
}
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SplitStoreTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SplitStoreTest.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SplitStoreTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SplitStoreTest.java Mon Apr 21 14:28:29 2014
@@ -31,9 +31,11 @@ import javax.jms.Queue;
import javax.jms.Session;
import org.apache.qpid.configuration.ClientProperties;
-import org.apache.qpid.server.model.VirtualHost;
+import org.apache.qpid.server.model.VirtualHostNode;
import org.apache.qpid.test.utils.QpidBrokerTestCase;
import org.apache.qpid.test.utils.TestBrokerConfiguration;
+import org.apache.qpid.test.utils.TestFileUtils;
+import org.apache.qpid.test.utils.TestUtils;
import org.apache.qpid.util.FileUtils;
public class SplitStoreTest extends QpidBrokerTestCase
@@ -52,6 +54,19 @@ public class SplitStoreTest extends Qpid
}
@Override
+ protected void tearDown() throws Exception
+ {
+ try
+ {
+ super.tearDown();
+ }
+ finally
+ {
+ TestFileUtils.delete(new File(_messageStorePath), true);
+ }
+ }
+
+ @Override
public void startBroker() throws Exception
{
// Overridden to prevent QBTC starting the Broker.
@@ -59,38 +74,32 @@ public class SplitStoreTest extends Qpid
public void testJsonConfigurationStoreWithPersistentMessageStore() throws Exception
{
- Map<String, Object> configurationStoreSettings = new HashMap<String, Object>();
- configurationStoreSettings.put(DurableConfigurationStore.STORE_TYPE, JsonFileConfigStore.TYPE);
- configurationStoreSettings.put(DurableConfigurationStore.STORE_PATH, _configStorePath);
- doTest(configurationStoreSettings);
+ doTest(JsonFileConfigStore.TYPE, _configStorePath);
}
public void testSeparateConfigurationAndMessageStoresOfTheSameType() throws Exception
{
- Map<String, Object> configurationStoreSettings = new HashMap<String, Object>();
- configurationStoreSettings.put(DurableConfigurationStore.STORE_TYPE, getTestProfileMessageStoreType());
- configurationStoreSettings.put(DurableConfigurationStore.STORE_PATH, _configStorePath);
-
- doTest(configurationStoreSettings);
+ doTest(getTestProfileVirtualHostNodeType(), _configStorePath);
}
- private void configureAndStartBroker(Map<String, Object> configurationStoreSettings) throws Exception
+ private void configureAndStartBroker(String nodeType, String storePath) throws Exception
{
+ TestBrokerConfiguration config = getBrokerConfiguration();
+ config.setObjectAttribute(VirtualHostNode.class, TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST, VirtualHostNode.TYPE, nodeType);
+ config.setObjectAttribute(VirtualHostNode.class, TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST, DurableConfigurationStore.STORE_PATH, storePath);
+ config.setObjectAttribute(VirtualHostNode.class, TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST, VirtualHostNode.IS_MESSAGE_STORE_PROVIDER, false);
+
Map<String, Object> messageStoreSettings = new HashMap<String, Object>();
messageStoreSettings.put(MessageStore.STORE_TYPE, getTestProfileMessageStoreType());
messageStoreSettings.put(MessageStore.STORE_PATH, _messageStorePath);
-
- TestBrokerConfiguration config = getBrokerConfiguration();
- config.setObjectAttribute(VirtualHost.class, TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST, VirtualHost.MESSAGE_STORE_SETTINGS, messageStoreSettings);
- config.setObjectAttribute(VirtualHost.class, TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST, VirtualHost.CONFIGURATION_STORE_SETTINGS, configurationStoreSettings);
-
+ TestUtils.createStoreWithVirtualHostEntry(messageStoreSettings, config, nodeType);
super.startBroker();
}
- private void doTest(Map<String, Object> configurationStoreSettings) throws Exception
+ private void doTest(String nodeType, String path) throws Exception
{
- configureAndStartBroker(configurationStoreSettings);
+ configureAndStartBroker(nodeType, path);
Connection connection = getConnection();
Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/StoreOverfullTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/StoreOverfullTest.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/StoreOverfullTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/StoreOverfullTest.java Mon Apr 21 14:28:29 2014
@@ -20,6 +20,7 @@
*/
package org.apache.qpid.server.store;
+import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.CountDownLatch;
@@ -39,9 +40,9 @@ import org.apache.qpid.client.AMQDestina
import org.apache.qpid.client.AMQQueue;
import org.apache.qpid.client.AMQSession;
import org.apache.qpid.exchange.ExchangeDefaults;
-import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.test.utils.QpidBrokerTestCase;
-import org.apache.qpid.test.utils.TestBrokerConfiguration;
+import org.apache.qpid.test.utils.TestUtils;
+import org.apache.qpid.util.FileUtils;
public class StoreOverfullTest extends QpidBrokerTestCase
{
@@ -59,9 +60,12 @@ public class StoreOverfullTest extends Q
private MessageConsumer _consumer;
private Queue _queue;
+ private String _storePath;
+
private static final int OVERFULL_SIZE = 400000;
private static final int UNDERFULL_SIZE = 350000;
+ @Override
public void setUp() throws Exception
{
Map<String, Object> messageStoreSettings = new HashMap<String, Object>();
@@ -69,8 +73,7 @@ public class StoreOverfullTest extends Q
messageStoreSettings.put(MessageStore.OVERFULL_SIZE, OVERFULL_SIZE);
messageStoreSettings.put(MessageStore.UNDERFULL_SIZE, UNDERFULL_SIZE);
- TestBrokerConfiguration config = getBrokerConfiguration();
- config.setObjectAttribute(VirtualHost.class, TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST, VirtualHost.MESSAGE_STORE_SETTINGS, messageStoreSettings);
+ _storePath = TestUtils.createStoreWithVirtualHostEntry(messageStoreSettings, getBrokerConfiguration(), getTestProfileVirtualHostNodeType());
super.setUp();
@@ -93,7 +96,17 @@ public class StoreOverfullTest extends Q
}
finally
{
- super.tearDown();
+ try
+ {
+ super.tearDown();
+ }
+ finally
+ {
+ if (_storePath != null)
+ {
+ FileUtils.delete(new File(_storePath), true);
+ }
+ }
}
}
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java Mon Apr 21 14:28:29 2014
@@ -20,13 +20,15 @@
*/
package org.apache.qpid.server.store;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
-
-import org.apache.log4j.Logger;
+import java.util.UUID;
import org.apache.qpid.common.AMQPFilterTypes;
import org.apache.qpid.framing.AMQShortString;
@@ -35,16 +37,22 @@ import org.apache.qpid.framing.ContentHe
import org.apache.qpid.framing.FieldTable;
import org.apache.qpid.framing.abstraction.MessagePublishInfo;
import org.apache.qpid.framing.amqp_8_0.BasicConsumeBodyImpl;
+import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.exchange.DirectExchange;
import org.apache.qpid.server.exchange.ExchangeImpl;
import org.apache.qpid.server.exchange.TopicExchange;
import org.apache.qpid.server.message.InstanceProperties;
import org.apache.qpid.server.message.MessageSource;
import org.apache.qpid.server.model.Binding;
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.ExclusivityPolicy;
import org.apache.qpid.server.model.LifetimePolicy;
import org.apache.qpid.server.model.Queue;
+import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.UUIDGenerator;
+import org.apache.qpid.server.model.VirtualHostNode;
import org.apache.qpid.server.plugin.ExchangeType;
import org.apache.qpid.server.protocol.v0_8.AMQMessage;
import org.apache.qpid.server.protocol.v0_8.MessageMetaData;
@@ -57,9 +65,8 @@ import org.apache.qpid.server.queue.Stan
import org.apache.qpid.server.txn.AutoCommitTransaction;
import org.apache.qpid.server.txn.ServerTransaction;
import org.apache.qpid.server.util.BrokerTestHelper;
-import org.apache.qpid.server.virtualhost.AbstractVirtualHost;
-import org.apache.qpid.server.virtualhost.StandardVirtualHost;
import org.apache.qpid.server.virtualhost.VirtualHostImpl;
+import org.apache.qpid.server.virtualhostnode.FileBasedVirtualHostNode;
import org.apache.qpid.test.utils.QpidTestCase;
import org.apache.qpid.util.FileUtils;
@@ -73,7 +80,6 @@ import org.apache.qpid.util.FileUtils;
*/
public class VirtualHostMessageStoreTest extends QpidTestCase
{
- private static final Logger _logger = Logger.getLogger(VirtualHostMessageStoreTest.class);
public static final int DEFAULT_PRIORTY_LEVEL = 5;
public static final String SELECTOR_VALUE = "Test = 'MST'";
@@ -100,41 +106,36 @@ public class VirtualHostMessageStoreTest
private String queueOwner = "MST";
- private AbstractVirtualHost<?> _virtualHost;
+ private VirtualHostImpl<?,?,?> _virtualHost;
private String _storePath;
- private Map<String, Object> _attributes;
+ private VirtualHostNode<?> _node;
+ private TaskExecutor _taskExecutor;
public void setUp() throws Exception
{
super.setUp();
- BrokerTestHelper.setUp();
String hostName = getName();
_storePath = System.getProperty("QPID_WORK", TMP_FOLDER + File.separator + getTestName()) + File.separator + hostName;
-
- Map<String, Object> messageStoreSettings = new HashMap<String, Object>();
- messageStoreSettings.put(MessageStore.STORE_PATH, _storePath);
- messageStoreSettings.put(MessageStore.STORE_TYPE, getTestProfileMessageStoreType());
-
- _attributes = new HashMap<String, Object>();
- _attributes.put(org.apache.qpid.server.model.VirtualHost.MESSAGE_STORE_SETTINGS, messageStoreSettings);
- _attributes.put(org.apache.qpid.server.model.VirtualHost.TYPE, StandardVirtualHost.TYPE);
- _attributes.put(org.apache.qpid.server.model.VirtualHost.NAME, hostName);
-
-
cleanup(new File(_storePath));
- reloadVirtualHost();
- }
+ Broker<?> broker = BrokerTestHelper.createBrokerMock();
+ _taskExecutor = new TaskExecutor();
+ _taskExecutor.start();
+ when(broker.getTaskExecutor()).thenReturn(_taskExecutor);
+
+ ConfiguredObjectFactory factory = broker.getObjectFactory();
+ Map<String, Object> nodeAttributes = new HashMap<String, Object>();
+ nodeAttributes.put(ConfiguredObject.TYPE, getTestProfileVirtualHostNodeType());
+ nodeAttributes.put(FileBasedVirtualHostNode.STORE_PATH, _storePath);
+ nodeAttributes.put(VirtualHostNode.IS_MESSAGE_STORE_PROVIDER, true);
+ nodeAttributes.put(VirtualHostNode.NAME, hostName);
+ nodeAttributes.put(VirtualHostNode.ID, UUID.randomUUID());
+ _node = factory.create(VirtualHostNode.class, nodeAttributes, broker);
+ _node.setDesiredState(_node.getState(), State.ACTIVE);
- protected String getStorePath()
- {
- return _storePath;
- }
+ _virtualHost = (VirtualHostImpl<?,?,?>)_node.getVirtualHost();
- protected org.apache.qpid.server.model.VirtualHost<?,?,?> getVirtualHostModel()
- {
- return _virtualHost;
}
@Override
@@ -144,54 +145,31 @@ public class VirtualHostMessageStoreTest
{
if (_virtualHost != null)
{
- _virtualHost.close();
+ VirtualHostNode<?> node = _virtualHost.getParent(VirtualHostNode.class);
+ node.setDesiredState(node.getState(), State.STOPPED);
}
}
finally
{
- BrokerTestHelper.tearDown();
+ _taskExecutor.stopImmediately();
super.tearDown();
}
}
- public VirtualHostImpl getVirtualHost()
- {
- return _virtualHost;
- }
-
protected void reloadVirtualHost()
{
- VirtualHostImpl original = getVirtualHost();
-
- if (getVirtualHost() != null)
- {
- try
- {
- getVirtualHost().close();
- }
- catch (Exception e)
- {
- _logger.error("Error closing virtual host", e);
- fail(e.getMessage());
- }
- }
-
- try
- {
- _virtualHost = (AbstractVirtualHost<?>) BrokerTestHelper.createVirtualHost(_attributes);
- }
- catch (Exception e)
- {
- _logger.error("Error creating virtual host", e);
- fail(e.getMessage());
- }
-
- assertTrue("Virtualhost has not changed, reload was not successful", original != getVirtualHost());
+ assertEquals("Virtual host node is not active", State.ACTIVE, _virtualHost.getState());
+ State currentState = _node.setDesiredState(State.ACTIVE, State.STOPPED);
+ assertEquals("Virtual host node is not stopped", State.STOPPED, currentState);
+
+ currentState = _node.setDesiredState(State.STOPPED, State.ACTIVE);
+ assertEquals("Virtual host node is not active", State.ACTIVE, currentState);
+ _virtualHost = (VirtualHostImpl<?, ?, ?>) _node.getVirtualHost();
}
public void testQueueExchangeAndBindingCreation() throws Exception
{
- assertEquals("Should not be any existing queues", 0, getVirtualHost().getQueues().size());
+ assertEquals("Should not be any existing queues", 0, _virtualHost.getQueues().size());
createAllQueues();
createAllTopicQueues();
@@ -229,7 +207,7 @@ public class VirtualHostMessageStoreTest
validateMessageOnTopics(2, true);
assertEquals("Not all queues correctly registered",
- 10, getVirtualHost().getQueues().size());
+ 10, _virtualHost.getQueues().size());
}
public void testMessagePersistence() throws Exception
@@ -253,7 +231,7 @@ public class VirtualHostMessageStoreTest
testMessagePersistence();
assertEquals("Incorrect number of queues registered after recovery",
- 6, getVirtualHost().getQueues().size());
+ 6, _virtualHost.getQueues().size());
//clear the queue
_virtualHost.getQueue(durableQueueName).clearQueue();
@@ -275,7 +253,7 @@ public class VirtualHostMessageStoreTest
public void testQueuePersistence() throws Exception
{
assertEquals("Should not be any existing queues",
- 0, getVirtualHost().getQueues().size());
+ 0, _virtualHost.getQueues().size());
//create durable and non durable queues/topics
createAllQueues();
@@ -285,17 +263,17 @@ public class VirtualHostMessageStoreTest
reloadVirtualHost();
assertEquals("Incorrect number of queues registered after recovery",
- 6, getVirtualHost().getQueues().size());
+ 6, _virtualHost.getQueues().size());
//Validate the non-Durable Queues were not recovered.
assertNull("Non-Durable queue still registered:" + priorityQueueName,
- getVirtualHost().getQueue(priorityQueueName));
+ _virtualHost.getQueue(priorityQueueName));
assertNull("Non-Durable queue still registered:" + queueName,
- getVirtualHost().getQueue(queueName));
+ _virtualHost.getQueue(queueName));
assertNull("Non-Durable queue still registered:" + priorityTopicQueueName,
- getVirtualHost().getQueue(priorityTopicQueueName));
+ _virtualHost.getQueue(priorityTopicQueueName));
assertNull("Non-Durable queue still registered:" + topicQueueName,
- getVirtualHost().getQueue(topicQueueName));
+ _virtualHost.getQueue(topicQueueName));
//Validate normally expected properties of Queues/Topics
validateDurableQueueProperties();
@@ -316,23 +294,24 @@ public class VirtualHostMessageStoreTest
createQueue(durableQueueName, false, true, false, false);
assertEquals("Incorrect number of queues registered before recovery",
- 1, getVirtualHost().getQueues().size());
+ 1, _virtualHost.getQueues().size());
reloadVirtualHost();
assertEquals("Incorrect number of queues registered after first recovery",
- 1, getVirtualHost().getQueues().size());
+ 1, _virtualHost.getQueues().size());
//test that removing the queue means it is not recovered next time
- final AMQQueue<?> queue = getVirtualHost().getQueue(durableQueueName);
- getVirtualHost().getDurableConfigurationStore().remove(queue.asObjectRecord());
+
+ final AMQQueue<?> queue = _virtualHost.getQueue(durableQueueName);
+ _virtualHost.getDurableConfigurationStore().remove(queue.asObjectRecord());
reloadVirtualHost();
assertEquals("Incorrect number of queues registered after second recovery",
- 0, getVirtualHost().getQueues().size());
+ 0, _virtualHost.getQueues().size());
assertNull("Durable queue was not removed:" + durableQueueName,
- getVirtualHost().getQueue(durableQueueName));
+ _virtualHost.getQueue(durableQueueName));
}
/**
@@ -342,12 +321,12 @@ public class VirtualHostMessageStoreTest
*/
public void testExchangePersistence() throws Exception
{
- int origExchangeCount = getVirtualHost().getExchanges().size();
+ int origExchangeCount = _virtualHost.getExchanges().size();
Map<String, ExchangeImpl<?>> oldExchanges = createExchanges();
assertEquals("Incorrect number of exchanges registered before recovery",
- origExchangeCount + 3, getVirtualHost().getExchanges().size());
+ origExchangeCount + 3, _virtualHost.getExchanges().size());
reloadVirtualHost();
@@ -362,28 +341,29 @@ public class VirtualHostMessageStoreTest
*/
public void testDurableExchangeRemoval() throws Exception
{
- int origExchangeCount = getVirtualHost().getExchanges().size();
+ int origExchangeCount = _virtualHost.getExchanges().size();
createExchange(DirectExchange.TYPE, directExchangeName, true);
assertEquals("Incorrect number of exchanges registered before recovery",
- origExchangeCount + 1, getVirtualHost().getExchanges().size());
+ origExchangeCount + 1, _virtualHost.getExchanges().size());
reloadVirtualHost();
assertEquals("Incorrect number of exchanges registered after first recovery",
- origExchangeCount + 1, getVirtualHost().getExchanges().size());
+ origExchangeCount + 1, _virtualHost.getExchanges().size());
//test that removing the exchange means it is not recovered next time
- final ExchangeImpl<?> exchange = getVirtualHost().getExchange(directExchangeName);
- getVirtualHost().getDurableConfigurationStore().remove(exchange.asObjectRecord());
+
+ final ExchangeImpl<?> exchange = _virtualHost.getExchange(directExchangeName);
+ _virtualHost.getDurableConfigurationStore().remove(exchange.asObjectRecord());
reloadVirtualHost();
assertEquals("Incorrect number of exchanges registered after second recovery",
- origExchangeCount, getVirtualHost().getExchanges().size());
+ origExchangeCount, _virtualHost.getExchanges().size());
assertNull("Durable exchange was not removed:" + directExchangeName,
- getVirtualHost().getExchange(directExchangeName));
+ _virtualHost.getExchange(directExchangeName));
}
/**
@@ -394,7 +374,7 @@ public class VirtualHostMessageStoreTest
*/
public void testBindingPersistence() throws Exception
{
- int origExchangeCount = getVirtualHost().getExchanges().size();
+ int origExchangeCount = _virtualHost.getExchanges().size();
createAllQueues();
createAllTopicQueues();
@@ -410,7 +390,7 @@ public class VirtualHostMessageStoreTest
bindAllTopicQueuesToExchange(topicExchange, topicRouting);
assertEquals("Incorrect number of exchanges registered before recovery",
- origExchangeCount + 3, getVirtualHost().getExchanges().size());
+ origExchangeCount + 3, _virtualHost.getExchanges().size());
reloadVirtualHost();
@@ -429,27 +409,27 @@ public class VirtualHostMessageStoreTest
//create durable queue and exchange, bind them
ExchangeImpl<?> exch = createExchange(DirectExchange.TYPE, directExchangeName, true);
createQueue(durableQueueName, false, true, false, false);
- bindQueueToExchange(exch, directRouting, getVirtualHost().getQueue(durableQueueName), false);
+ bindQueueToExchange(exch, directRouting, _virtualHost.getQueue(durableQueueName), false);
assertEquals("Incorrect number of bindings registered before recovery",
- 1, getVirtualHost().getQueue(durableQueueName).getBindings().size());
+ 1, _virtualHost.getQueue(durableQueueName).getBindings().size());
//verify binding is actually normally recovered
reloadVirtualHost();
assertEquals("Incorrect number of bindings registered after first recovery",
- 1, getVirtualHost().getQueue(durableQueueName).getBindings().size());
+ 1, _virtualHost.getQueue(durableQueueName).getBindings().size());
- exch = getVirtualHost().getExchange(directExchangeName);
+ exch = _virtualHost.getExchange(directExchangeName);
assertNotNull("Exchange was not recovered", exch);
//remove the binding and verify result after recovery
- unbindQueueFromExchange(exch, directRouting, getVirtualHost().getQueue(durableQueueName), false);
+ unbindQueueFromExchange(exch, directRouting, _virtualHost.getQueue(durableQueueName), false);
reloadVirtualHost();
assertEquals("Incorrect number of bindings registered after second recovery",
- 0, getVirtualHost().getQueue(durableQueueName).getBindings().size());
+ 0, _virtualHost.getQueue(durableQueueName).getBindings().size());
}
/**
@@ -459,7 +439,7 @@ public class VirtualHostMessageStoreTest
*/
private void validateExchanges(int originalNumExchanges, Map<String, ExchangeImpl<?>> oldExchanges)
{
- Collection<ExchangeImpl<?>> exchanges = getVirtualHost().getExchanges();
+ Collection<ExchangeImpl<?>> exchanges = (Collection<ExchangeImpl<?>>) _virtualHost.getExchanges();
Collection<String> exchangeNames = new ArrayList<String>(exchanges.size());
for(ExchangeImpl<?> exchange : exchanges)
{
@@ -474,27 +454,26 @@ public class VirtualHostMessageStoreTest
//check the old exchange objects are not the same as the new exchanges
assertTrue(directExchangeName + " exchange NOT reloaded",
- getVirtualHost().getExchange(directExchangeName) != oldExchanges.get(directExchangeName));
+ _virtualHost.getExchange(directExchangeName) != oldExchanges.get(directExchangeName));
assertTrue(topicExchangeName + " exchange NOT reloaded",
- getVirtualHost().getExchange(topicExchangeName) != oldExchanges.get(topicExchangeName));
+ _virtualHost.getExchange(topicExchangeName) != oldExchanges.get(topicExchangeName));
// There should only be the original exchanges + our 2 recovered durable exchanges
assertEquals("Incorrect number of exchanges available",
- originalNumExchanges + 2, getVirtualHost().getExchanges().size());
+ originalNumExchanges + 2, _virtualHost.getExchanges().size());
}
/** Validates the Durable queues and their properties are as expected following recovery */
- @SuppressWarnings("unchecked")
private void validateBindingProperties()
{
- assertEquals("Incorrect number of (durable) queues following recovery", 6, getVirtualHost().getQueues().size());
+ assertEquals("Incorrect number of (durable) queues following recovery", 6, _virtualHost.getQueues().size());
- validateBindingProperties(getVirtualHost().getQueue(durablePriorityQueueName).getBindings(), false);
- validateBindingProperties(getVirtualHost().getQueue(durablePriorityTopicQueueName).getBindings(), true);
- validateBindingProperties(getVirtualHost().getQueue(durableQueueName).getBindings(), false);
- validateBindingProperties(getVirtualHost().getQueue(durableTopicQueueName).getBindings(), true);
- validateBindingProperties(getVirtualHost().getQueue(durableExclusiveQueueName).getBindings(), false);
+ validateBindingProperties(_virtualHost.getQueue(durablePriorityQueueName).getBindings(), false);
+ validateBindingProperties(_virtualHost.getQueue(durablePriorityTopicQueueName).getBindings(), true);
+ validateBindingProperties(_virtualHost.getQueue(durableQueueName).getBindings(), false);
+ validateBindingProperties(_virtualHost.getQueue(durableTopicQueueName).getBindings(), true);
+ validateBindingProperties(_virtualHost.getQueue(durableExclusiveQueueName).getBindings(), false);
}
/**
@@ -522,13 +501,13 @@ public class VirtualHostMessageStoreTest
private void setQueueExclusivity(boolean exclusive) throws MessageSource.ExistingConsumerPreventsExclusive
{
- AMQQueue<?> queue = getVirtualHost().getQueue(durableExclusiveQueueName);
+ AMQQueue<?> queue = _virtualHost.getQueue(durableExclusiveQueueName);
queue.setAttribute(Queue.EXCLUSIVE, queue.getExclusive(), exclusive ? ExclusivityPolicy.CONTAINER : ExclusivityPolicy.NONE);
}
private void validateQueueExclusivityProperty(boolean expected)
{
- AMQQueue<?> queue = getVirtualHost().getQueue(durableExclusiveQueueName);
+ AMQQueue<?> queue = _virtualHost.getQueue(durableExclusiveQueueName);
assertEquals("Queue exclusivity was incorrect", queue.isExclusive(), expected);
}
@@ -536,12 +515,12 @@ public class VirtualHostMessageStoreTest
private void validateDurableQueueProperties()
{
- validateQueueProperties(getVirtualHost().getQueue(durablePriorityQueueName), true, true, false, false);
- validateQueueProperties(getVirtualHost().getQueue(durablePriorityTopicQueueName), true, true, false, false);
- validateQueueProperties(getVirtualHost().getQueue(durableQueueName), false, true, false, false);
- validateQueueProperties(getVirtualHost().getQueue(durableTopicQueueName), false, true, false, false);
- validateQueueProperties(getVirtualHost().getQueue(durableExclusiveQueueName), false, true, true, false);
- validateQueueProperties(getVirtualHost().getQueue(durableLastValueQueueName), false, true, true, true);
+ validateQueueProperties(_virtualHost.getQueue(durablePriorityQueueName), true, true, false, false);
+ validateQueueProperties(_virtualHost.getQueue(durablePriorityTopicQueueName), true, true, false, false);
+ validateQueueProperties(_virtualHost.getQueue(durableQueueName), false, true, false, false);
+ validateQueueProperties(_virtualHost.getQueue(durableTopicQueueName), false, true, false, false);
+ validateQueueProperties(_virtualHost.getQueue(durableExclusiveQueueName), false, true, true, false);
+ validateQueueProperties(_virtualHost.getQueue(durableLastValueQueueName), false, true, true, true);
}
private void validateQueueProperties(AMQQueue<?> queue, boolean usePriority, boolean durable, boolean exclusive, boolean lastValueQueue)
@@ -600,13 +579,13 @@ public class VirtualHostMessageStoreTest
MessageMetaData mmd = new MessageMetaData(messageInfo, headerBody, System.currentTimeMillis());
- final StoredMessage<MessageMetaData> storedMessage = getVirtualHost().getMessageStore().addMessage(mmd);
+ final StoredMessage<MessageMetaData> storedMessage = _virtualHost.getMessageStore().addMessage(mmd);
storedMessage.flushToStore();
final AMQMessage currentMessage = new AMQMessage(storedMessage);
- ServerTransaction trans = new AutoCommitTransaction(getVirtualHost().getMessageStore());
+ ServerTransaction trans = new AutoCommitTransaction(_virtualHost.getMessageStore());
exchange.send(currentMessage, routingKey, InstanceProperties.EMPTY, trans, null);
}
@@ -680,7 +659,7 @@ public class VirtualHostMessageStoreTest
AMQQueue<?> queue = null;
//Ideally we would be able to use the QueueDeclareHandler here.
- queue = getVirtualHost().createQueue(queueArguments);
+ queue = _virtualHost.createQueue(queueArguments);
validateQueueProperties(queue, usePriority, durable, exclusive, lastValueQueue);
}
@@ -711,27 +690,27 @@ public class VirtualHostMessageStoreTest
attributes.put(org.apache.qpid.server.model.Exchange.LIFETIME_POLICY,
durable ? LifetimePolicy.DELETE_ON_NO_LINKS : LifetimePolicy.PERMANENT);
attributes.put(org.apache.qpid.server.model.Exchange.ALTERNATE_EXCHANGE, null);
- exchange = getVirtualHost().createExchange(attributes);
+ exchange = _virtualHost.createExchange(attributes);
return exchange;
}
private void bindAllQueuesToExchange(ExchangeImpl<?> exchange, String routingKey)
{
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(durablePriorityQueueName), false);
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(durableQueueName), false);
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(priorityQueueName), false);
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(queueName), false);
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(durableExclusiveQueueName), false);
+ bindQueueToExchange(exchange, routingKey, _virtualHost.getQueue(durablePriorityQueueName), false);
+ bindQueueToExchange(exchange, routingKey, _virtualHost.getQueue(durableQueueName), false);
+ bindQueueToExchange(exchange, routingKey, _virtualHost.getQueue(priorityQueueName), false);
+ bindQueueToExchange(exchange, routingKey, _virtualHost.getQueue(queueName), false);
+ bindQueueToExchange(exchange, routingKey, _virtualHost.getQueue(durableExclusiveQueueName), false);
}
private void bindAllTopicQueuesToExchange(ExchangeImpl<?> exchange, String routingKey)
{
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(durablePriorityTopicQueueName), true);
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(durableTopicQueueName), true);
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(priorityTopicQueueName), true);
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(topicQueueName), true);
+ bindQueueToExchange(exchange, routingKey, _virtualHost.getQueue(durablePriorityTopicQueueName), true);
+ bindQueueToExchange(exchange, routingKey, _virtualHost.getQueue(durableTopicQueueName), true);
+ bindQueueToExchange(exchange, routingKey, _virtualHost.getQueue(priorityTopicQueueName), true);
+ bindQueueToExchange(exchange, routingKey, _virtualHost.getQueue(topicQueueName), true);
}
@@ -805,7 +784,7 @@ public class VirtualHostMessageStoreTest
private void validateMessageOnQueue(String queueName, long messageCount)
{
- AMQQueue<?> queue = getVirtualHost().getQueue(queueName);
+ AMQQueue<?> queue = _virtualHost.getQueue(queueName);
assertNotNull("Queue(" + queueName + ") not correctly registered:", queue);
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/StatisticsTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/StatisticsTest.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/StatisticsTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/StatisticsTest.java Mon Apr 21 14:28:29 2014
@@ -53,8 +53,8 @@ public class StatisticsTest extends Qpid
@Override
public void setUp() throws Exception
{
- createTestVirtualHost(0, TEST_VIRTUALHOST1);
- createTestVirtualHost(0, TEST_VIRTUALHOST2);
+ createTestVirtualHostNode(0, TEST_VIRTUALHOST1);
+ createTestVirtualHostNode(0, TEST_VIRTUALHOST2);
getBrokerConfiguration().addJmxManagementConfiguration();
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java?rev=1588886&r1=1588885&r2=1588886&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java Mon Apr 21 14:28:29 2014
@@ -65,7 +65,7 @@ public class Asserts
ConfiguredObject.CONTEXT,
VirtualHost.SUPPORTED_QUEUE_TYPES,
VirtualHost.TYPE,
- VirtualHost.CONFIGURATION_STORE_SETTINGS,
+ VirtualHost.MESSAGE_STORE_SETTINGS,
VirtualHost.SECURITY_ACL);
assertEquals("Unexpected value of attribute " + VirtualHost.NAME,
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org