You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2012/04/17 17:04:38 UTC

svn commit: r1327128 [3/5] - in /qpid/branches/java-config-and-management/qpid/java: ./ amqp-1-0-client-jms/ amqp-1-0-client/ amqp-1-0-common/ bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/ bdbstore/src/main/java/org/apache/qpid/server...

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/binding/BindingFactory.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/binding/BindingFactory.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/binding/BindingFactory.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/binding/BindingFactory.java Tue Apr 17 15:04:34 2012
@@ -24,7 +24,6 @@ import org.apache.qpid.AMQException;
 import org.apache.qpid.AMQInternalException;
 import org.apache.qpid.AMQSecurityException;
 import org.apache.qpid.framing.AMQShortString;
-import org.apache.qpid.framing.FieldTable;
 import org.apache.qpid.server.configuration.BindingConfig;
 import org.apache.qpid.server.configuration.BindingConfigType;
 import org.apache.qpid.server.configuration.ConfigStore;
@@ -33,11 +32,13 @@ import org.apache.qpid.server.exchange.E
 import org.apache.qpid.server.logging.actors.CurrentActor;
 import org.apache.qpid.server.logging.messages.BindingMessages;
 import org.apache.qpid.server.logging.subjects.BindingLogSubject;
+import org.apache.qpid.server.model.UUIDGenerator;
 import org.apache.qpid.server.queue.AMQQueue;
 import org.apache.qpid.server.virtualhost.VirtualHost;
 
 import java.util.Collections;
 import java.util.Map;
+import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 
 public class BindingFactory
@@ -57,9 +58,9 @@ public class BindingFactory
         //TODO : persist creation time
         private long _createTime = System.currentTimeMillis();
 
-        private BindingImpl(String bindingKey, final AMQQueue queue, final Exchange exchange, final Map<String, Object> arguments)
+        private BindingImpl(UUID id, String bindingKey, final AMQQueue queue, final Exchange exchange, final Map<String, Object> arguments)
         {
-            super(queue.getVirtualHost().getConfigStore().createId(), bindingKey, queue, exchange, arguments);
+            super(id, bindingKey, queue, exchange, arguments);
             _logSubject = new BindingLogSubject(bindingKey,exchange,queue);
 
         }
@@ -116,19 +117,19 @@ public class BindingFactory
 
     public boolean addBinding(String bindingKey, AMQQueue queue, Exchange exchange, Map<String, Object> arguments) throws AMQSecurityException, AMQInternalException 
     {
-        return makeBinding(bindingKey, queue, exchange, arguments, false, false);
+        return makeBinding(null, bindingKey, queue, exchange, arguments, false, false);
     }
 
 
-    public boolean replaceBinding(final String bindingKey,
+    public boolean replaceBinding(final UUID id, final String bindingKey,
                                final AMQQueue queue,
                                final Exchange exchange,
                                final Map<String, Object> arguments) throws AMQSecurityException, AMQInternalException
     {
-        return makeBinding(bindingKey, queue, exchange, arguments, false, true);
+        return makeBinding(id, bindingKey, queue, exchange, arguments, false, true);
     }
 
-    private boolean makeBinding(String bindingKey, AMQQueue queue, Exchange exchange, Map<String, Object> arguments, boolean restore, boolean force) throws AMQSecurityException, AMQInternalException
+    private boolean makeBinding(UUID id, String bindingKey, AMQQueue queue, Exchange exchange, Map<String, Object> arguments, boolean restore, boolean force) throws AMQSecurityException, AMQInternalException
     {
         assert queue != null;
         final Exchange defaultExchange = _virtualHost.getExchangeRegistry().getDefaultExchange();
@@ -163,9 +164,12 @@ public class BindingFactory
             }
         }
 
-        
-        BindingImpl b = new BindingImpl(bindingKey,queue,exchange,arguments);
-        BindingImpl existingMapping = _bindings.putIfAbsent(b,b);
+        if (id == null)
+        {
+            id = UUIDGenerator.generateUUID();
+        }
+        BindingImpl b = new BindingImpl(id, bindingKey, queue, exchange, arguments);
+        BindingImpl existingMapping = _bindings.putIfAbsent(b, b);
         if (existingMapping == null || force)
         {
             if (existingMapping != null)
@@ -175,7 +179,7 @@ public class BindingFactory
 
             if (b.isDurable() && !restore)
             {
-                _virtualHost.getMessageStore().bindQueue(exchange,new AMQShortString(bindingKey),queue,FieldTable.convertToFieldTable(arguments));
+                _virtualHost.getMessageStore().bindQueue(b);
             }
 
             queue.addQueueDeleteTask(b);
@@ -198,9 +202,9 @@ public class BindingFactory
         return _virtualHost.getConfigStore();
     }
 
-    public void restoreBinding(final String bindingKey, final AMQQueue queue, final Exchange exchange, final Map<String, Object> argumentMap) throws AMQSecurityException, AMQInternalException
+    public void restoreBinding(final UUID id, final String bindingKey, final AMQQueue queue, final Exchange exchange, final Map<String, Object> argumentMap) throws AMQSecurityException, AMQInternalException
     {
-        makeBinding(bindingKey,queue,exchange,argumentMap,true, false);
+        makeBinding(id, bindingKey,queue,exchange,argumentMap,true, false);
     }
 
     public void removeBinding(final Binding b) throws AMQSecurityException, AMQInternalException
@@ -239,7 +243,7 @@ public class BindingFactory
             }
         }
         
-        BindingImpl b = _bindings.remove(new BindingImpl(bindingKey,queue,exchange,arguments));
+        BindingImpl b = _bindings.remove(new BindingImpl(null, bindingKey,queue,exchange,arguments));
 
         if (b != null)
         {
@@ -250,10 +254,7 @@ public class BindingFactory
 
             if (b.isDurable())
             {
-                _virtualHost.getMessageStore().unbindQueue(exchange,
-                                         new AMQShortString(bindingKey),
-                                         queue,
-                                         FieldTable.convertToFieldTable(arguments));
+                _virtualHost.getMessageStore().unbindQueue(b);
             }
             b.logDestruction();
             getConfigStore().removeConfiguredObject(b);
@@ -280,7 +281,7 @@ public class BindingFactory
             arguments = Collections.emptyMap();
         }
 
-        BindingImpl b = new BindingImpl(bindingKey,queue,exchange,arguments);
+        BindingImpl b = new BindingImpl(null, bindingKey,queue,exchange,arguments);
         return _bindings.get(b);
     }
 }

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java Tue Apr 17 15:04:34 2012
@@ -117,7 +117,7 @@ public abstract class AbstractExchange i
      */
     protected abstract AbstractExchangeMBean createMBean() throws JMException;
 
-    public void initialise(VirtualHost host, AMQShortString name, boolean durable, int ticket, boolean autoDelete)
+    public void initialise(UUID id, VirtualHost host, AMQShortString name, boolean durable, int ticket, boolean autoDelete)
             throws AMQException
     {
         _virtualHost = host;
@@ -126,7 +126,7 @@ public abstract class AbstractExchange i
         _autoDelete = autoDelete;
         _ticket = ticket;
 
-        _id = getConfigStore().createId();
+        _id = id;
 
         getConfigStore().addConfiguredObject(this);
         createAndRegisterMBean();

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java Tue Apr 17 15:04:34 2012
@@ -25,9 +25,11 @@ import org.apache.log4j.Logger;
 import org.apache.qpid.AMQException;
 import org.apache.qpid.AMQSecurityException;
 import org.apache.qpid.AMQUnknownExchangeType;
+import org.apache.qpid.exchange.ExchangeDefaults;
 import org.apache.qpid.framing.AMQShortString;
 import org.apache.qpid.qmf.ManagementExchange;
 import org.apache.qpid.server.configuration.VirtualHostConfiguration;
+import org.apache.qpid.server.model.UUIDGenerator;
 import org.apache.qpid.server.registry.ApplicationRegistry;
 import org.apache.qpid.server.virtualhost.VirtualHost;
 
@@ -35,6 +37,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.UUID;
 
 public class DefaultExchangeFactory implements ExchangeFactory
 {
@@ -76,17 +79,29 @@ public class DefaultExchangeFactory impl
         
         return publicTypes;
     }
-    
-    
 
     public Exchange createExchange(String exchange, String type, boolean durable, boolean autoDelete)
-            throws AMQException
+    throws AMQException
     {
         return createExchange(new AMQShortString(exchange), new AMQShortString(type), durable, autoDelete, 0);
     }
 
-    public Exchange createExchange(AMQShortString exchange, AMQShortString type, boolean durable, boolean autoDelete,
-                                   int ticket)
+    public Exchange createExchange(UUID id, String exchange, String type, boolean durable, boolean autoDelete)
+            throws AMQException
+    {
+        return createExchange(id, new AMQShortString(exchange), new AMQShortString(type), durable, autoDelete, 0);
+    }
+
+    public Exchange createExchange(AMQShortString exchange, AMQShortString type, boolean durable,
+                                   boolean autoDelete, int ticket)
+            throws AMQException
+    {
+        UUID id = UUIDGenerator.generateExchangeUUID(exchange.asString(), _host.getName());
+        return createExchange(id, exchange, type, durable, autoDelete, ticket);
+    }
+
+    public Exchange createExchange(UUID id, AMQShortString exchange, AMQShortString type, boolean durable,
+                                   boolean autoDelete, int ticket)
             throws AMQException
     {
         // Check access
@@ -102,7 +117,7 @@ public class DefaultExchangeFactory impl
             throw new AMQUnknownExchangeType("Unknown exchange type: " + type,null);
         }
         
-        Exchange e = exchType.newInstance(_host, exchange, durable, ticket, autoDelete);
+        Exchange e = exchType.newInstance(id, _host, exchange, durable, ticket, autoDelete);
         return e;
     }
 

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java Tue Apr 17 15:04:34 2012
@@ -32,6 +32,7 @@ import org.apache.qpid.server.virtualhos
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
@@ -205,4 +206,25 @@ public class DefaultExchangeRegistry imp
         _exchangeMapStr.clear();
     }
 
+    @Override
+    public synchronized Exchange getExchange(UUID exchangeId)
+    {
+        if (exchangeId == null)
+        {
+            return getDefaultExchange();
+        }
+        else
+        {
+            Collection<Exchange> exchanges = _exchangeMap.values();
+            for (Exchange exchange : exchanges)
+            {
+                if (exchange.getId().equals(exchangeId))
+                {
+                    return exchange;
+                }
+            }
+            return null;
+        }
+    }
+
 }

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java Tue Apr 17 15:04:34 2012
@@ -38,6 +38,7 @@ import javax.management.JMException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CopyOnWriteArraySet;
 
@@ -105,14 +106,14 @@ public class DirectExchange extends Abst
             return DirectExchange.class;
         }
 
-        public DirectExchange newInstance(VirtualHost host,
+        public DirectExchange newInstance(UUID id, VirtualHost host,
                                             AMQShortString name,
                                             boolean durable,
                                             int ticket,
                                             boolean autoDelete) throws AMQException
         {
             DirectExchange exch = new DirectExchange();
-            exch.initialise(host,name,durable,ticket,autoDelete);
+            exch.initialise(id, host,name,durable,ticket,autoDelete);
             return exch;
         }
 

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/Exchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/Exchange.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/Exchange.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/Exchange.java Tue Apr 17 15:04:34 2012
@@ -36,6 +36,7 @@ import javax.management.JMException;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
+import java.util.UUID;
 
 public interface Exchange extends ExchangeReferrer, ExchangeConfig
 {
@@ -50,7 +51,7 @@ public interface Exchange extends Exchan
 
     AMQShortString getTypeShortString();
 
-    void initialise(VirtualHost host, AMQShortString name, boolean durable, int ticket, boolean autoDelete)
+    void initialise(UUID id, VirtualHost host, AMQShortString name, boolean durable, int ticket, boolean autoDelete)
             throws AMQException, JMException;
 
     boolean isDurable();

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeFactory.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeFactory.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeFactory.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeFactory.java Tue Apr 17 15:04:34 2012
@@ -25,6 +25,7 @@ import org.apache.qpid.framing.AMQShortS
 import org.apache.qpid.server.configuration.VirtualHostConfiguration;
 
 import java.util.Collection;
+import java.util.UUID;
 
 
 public interface ExchangeFactory
@@ -40,4 +41,10 @@ public interface ExchangeFactory
     Collection<ExchangeType<? extends Exchange>> getPublicCreatableTypes();
 
     Exchange createExchange(String exchange, String type, boolean durable, boolean autoDelete) throws AMQException;
+
+    Exchange createExchange(UUID id, String exchange, String type, boolean durable, boolean autoDelete) throws AMQException;
+
+    Exchange createExchange(UUID id, AMQShortString exchange, AMQShortString type, boolean durable,
+                            boolean autoDelete, int ticket)
+            throws AMQException;
 }

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeInitialiser.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeInitialiser.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeInitialiser.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeInitialiser.java Tue Apr 17 15:04:34 2012
@@ -20,6 +20,7 @@
  */
 package org.apache.qpid.server.exchange;
 
+
 import org.apache.qpid.AMQException;
 import org.apache.qpid.exchange.ExchangeDefaults;
 import org.apache.qpid.framing.AMQShortString;

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeRegistry.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeRegistry.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeRegistry.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeRegistry.java Tue Apr 17 15:04:34 2012
@@ -24,6 +24,7 @@ import org.apache.qpid.AMQException;
 import org.apache.qpid.framing.AMQShortString;
 
 import java.util.Collection;
+import java.util.UUID;
 
 
 public interface ExchangeRegistry
@@ -55,6 +56,8 @@ public interface ExchangeRegistry
 
     void clearAndUnregisterMbeans();
 
+    Exchange getExchange(UUID exchangeId);
+
     Collection<Exchange> getExchanges();
 
     void addRegistryChangeListener(RegistryChangeListener listener);
@@ -63,6 +66,5 @@ public interface ExchangeRegistry
     {
         void exchangeRegistered(Exchange exchange);
         void exchangeUnregistered(Exchange exchange);
-        
     }
 }

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeType.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeType.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeType.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeType.java Tue Apr 17 15:04:34 2012
@@ -20,6 +20,8 @@
  */
 package org.apache.qpid.server.exchange;
 
+import java.util.UUID;
+
 import org.apache.qpid.AMQException;
 import org.apache.qpid.framing.AMQShortString;
 import org.apache.qpid.server.virtualhost.VirtualHost;
@@ -29,7 +31,7 @@ public interface ExchangeType<T extends 
 {
     public AMQShortString getName();
     public Class<T> getExchangeClass();
-    public T newInstance(VirtualHost host, AMQShortString name,
+    public T newInstance(UUID id, VirtualHost host, AMQShortString name,
                          boolean durable, int ticket, boolean autoDelete) throws AMQException;
     public AMQShortString getDefaultExchangeName();
 }

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java Tue Apr 17 15:04:34 2012
@@ -36,6 +36,7 @@ import org.apache.qpid.server.virtualhos
 
 import javax.management.JMException;
 import java.util.ArrayList;
+import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 
 public class FanoutExchange extends AbstractExchange
@@ -67,14 +68,14 @@ public class FanoutExchange extends Abst
     		return FanoutExchange.class;
     	}
 
-    	public FanoutExchange newInstance(VirtualHost host,
+        public FanoutExchange newInstance(UUID id, VirtualHost host,
     									  AMQShortString name,
     									  boolean durable,
     									  int ticket,
     									  boolean autoDelete) throws AMQException
     	{
     		FanoutExchange exch = new FanoutExchange();
-    		exch.initialise(host, name, durable, ticket, autoDelete);
+            exch.initialise(id, host, name, durable, ticket, autoDelete);
     		return exch;
     	}
 

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java Tue Apr 17 15:04:34 2012
@@ -39,6 +39,7 @@ import javax.management.JMException;
 import java.util.ArrayList;
 import java.util.LinkedHashSet;
 import java.util.Map;
+import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.CopyOnWriteArraySet;
@@ -95,12 +96,12 @@ public class HeadersExchange extends Abs
             return HeadersExchange.class;
         }
 
-        public HeadersExchange newInstance(VirtualHost host, AMQShortString name, boolean durable, int ticket,
+        public HeadersExchange newInstance(UUID id, VirtualHost host, AMQShortString name, boolean durable, int ticket,
                 boolean autoDelete) throws AMQException
         {
             HeadersExchange exch = new HeadersExchange();
 
-            exch.initialise(host, name, durable, ticket, autoDelete);
+            exch.initialise(id, host, name, durable, ticket, autoDelete);
             return exch;
         }
 

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java Tue Apr 17 15:04:34 2012
@@ -27,6 +27,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
+import java.util.UUID;
 import java.util.WeakHashMap;
 import java.util.concurrent.ConcurrentHashMap;
 import javax.management.JMException;
@@ -72,14 +73,14 @@ public class TopicExchange extends Abstr
             return TopicExchange.class;
         }
 
-        public TopicExchange newInstance(VirtualHost host,
+        public TopicExchange newInstance(UUID id, VirtualHost host,
                                             AMQShortString name,
                                             boolean durable,
                                             int ticket,
                                             boolean autoDelete) throws AMQException
         {
             TopicExchange exch = new TopicExchange();
-            exch.initialise(host, name, durable, ticket, autoDelete);
+            exch.initialise(id, host, name, durable, ticket, autoDelete);
             return exch;
         }
 

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/federation/Bridge.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/federation/Bridge.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/federation/Bridge.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/federation/Bridge.java Tue Apr 17 15:04:34 2012
@@ -767,13 +767,13 @@ public class Bridge implements BridgeCon
 
             try
             {
-                _queue = AMQQueueFactory.createAMQQueueImpl(_tmpQueueName,
+                _queue = AMQQueueFactory.createAMQQueueImpl(null,
+                                                        _tmpQueueName,
                                                         isDurable(),
                                                         _link.getFederationTag(),
                                                         false,
                                                         false,
-                                                        getVirtualHost(),
-                                                        options);
+                                                        getVirtualHost(), options);
             }
             catch (AMQException e)
             {

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/QueueBindHandler.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/QueueBindHandler.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/QueueBindHandler.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/QueueBindHandler.java Tue Apr 17 15:04:34 2012
@@ -134,7 +134,7 @@ public class QueueBindHandler implements
                     Map<String, Object> oldArgs = oldBinding.getArguments();
                     if((oldArgs == null && !arguments.isEmpty()) || (oldArgs != null && !oldArgs.equals(arguments)))
                     {
-                        virtualHost.getBindingFactory().replaceBinding(bindingKey, queue, exch, arguments);    
+                        virtualHost.getBindingFactory().replaceBinding(oldBinding.getId(), bindingKey, queue, exch, arguments);
                     }
                 }
             }

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/QueueDeclareHandler.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/QueueDeclareHandler.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/QueueDeclareHandler.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/QueueDeclareHandler.java Tue Apr 17 15:04:34 2012
@@ -24,6 +24,7 @@ import org.apache.log4j.Logger;
 
 import org.apache.qpid.AMQException;
 import org.apache.qpid.framing.AMQShortString;
+import org.apache.qpid.framing.FieldTable;
 import org.apache.qpid.framing.MethodRegistry;
 import org.apache.qpid.framing.QueueDeclareBody;
 import org.apache.qpid.framing.QueueDeclareOkBody;
@@ -31,6 +32,7 @@ import org.apache.qpid.protocol.AMQConst
 import org.apache.qpid.server.AMQChannel;
 import org.apache.qpid.server.exchange.Exchange;
 import org.apache.qpid.server.exchange.ExchangeRegistry;
+import org.apache.qpid.server.model.UUIDGenerator;
 import org.apache.qpid.server.protocol.AMQProtocolSession;
 import org.apache.qpid.server.protocol.AMQSessionModel;
 import org.apache.qpid.server.queue.AMQQueue;
@@ -43,6 +45,7 @@ import org.apache.qpid.server.store.Dura
 import org.apache.qpid.server.virtualhost.VirtualHost;
 
 import java.util.Collections;
+import java.util.Map;
 import java.util.UUID;
 
 public class QueueDeclareHandler implements StateAwareMethodListener<QueueDeclareBody>
@@ -219,10 +222,11 @@ public class QueueDeclareHandler impleme
             throws AMQException
     {
         final QueueRegistry registry = virtualHost.getQueueRegistry();
-        AMQShortString owner = body.getExclusive() ? session.getContextKey() : null;
+        String owner = body.getExclusive() ? AMQShortString.toString(session.getContextKey()) : null;
 
-        final AMQQueue queue = AMQQueueFactory.createAMQQueueImpl(queueName, body.getDurable(), owner, body.getAutoDelete(),
-                                                                  body.getExclusive(),virtualHost, body.getArguments());
+        Map<String, Object> arguments = FieldTable.convertToMap(body.getArguments());
+        final AMQQueue queue = AMQQueueFactory.createAMQQueueImpl(UUIDGenerator.generateUUID(), AMQShortString.toString(queueName), body.getDurable(), owner, body.getAutoDelete(),
+                                                                  body.getExclusive(),virtualHost, arguments);
 
         if (body.getExclusive() && !body.getDurable())
         {

Propchange: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/management/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management:r1327001-1327003

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/management/AMQBrokerManagerMBean.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/management/AMQBrokerManagerMBean.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/management/AMQBrokerManagerMBean.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/management/AMQBrokerManagerMBean.java Tue Apr 17 15:04:34 2012
@@ -31,6 +31,7 @@ import org.apache.qpid.server.exchange.E
 import org.apache.qpid.server.exchange.ExchangeType;
 import org.apache.qpid.server.logging.actors.CurrentActor;
 import org.apache.qpid.server.logging.actors.ManagementActor;
+import org.apache.qpid.server.model.UUIDGenerator;
 import org.apache.qpid.server.queue.AMQQueue;
 import org.apache.qpid.server.queue.AMQQueueFactory;
 import org.apache.qpid.server.queue.QueueRegistry;
@@ -45,6 +46,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.UUID;
 
 /**
  * This MBean implements the broker management interface and exposes the
@@ -168,7 +170,8 @@ public class AMQBrokerManagerMBean exten
                 Exchange exchange = _exchangeRegistry.getExchange(new AMQShortString(exchangeName));
                 if (exchange == null)
                 {
-                    exchange = _exchangeFactory.createExchange(new AMQShortString(exchangeName), new AMQShortString(type),
+                    exchange = _exchangeFactory.createExchange(new AMQShortString(exchangeName),
+                                                               new AMQShortString(type),
                                                                durable, false, 0);
                     _exchangeRegistry.registerExchange(exchange);
                     if (durable)
@@ -241,45 +244,44 @@ public class AMQBrokerManagerMBean exten
     public void createNewQueue(String queueName, String owner, boolean durable, Map<String,Object> arguments) throws JMException
     {
         final AMQShortString queueNameAsAMQShortString = new AMQShortString(queueName);
-        AMQQueue queue = _queueRegistry.getQueue(queueNameAsAMQShortString);
-        if (queue != null)
+        synchronized (_queueRegistry)
         {
-            throw new JMException("The queue \"" + queueName + "\" already exists.");
-        }
-
-        CurrentActor.set(new ManagementActor(getLogActor().getRootMessageLogger()));
-        try
-        {
-            AMQShortString ownerShortString = null;
-            if (owner != null)
+            AMQQueue queue = _queueRegistry.getQueue(queueNameAsAMQShortString);
+            if (queue != null)
             {
-                ownerShortString = new AMQShortString(owner);
+                throw new JMException("The queue \"" + queueName + "\" already exists.");
             }
 
-            FieldTable args = null;
-            if(arguments != null)
+            CurrentActor.set(new ManagementActor(getLogActor().getRootMessageLogger()));
+            try
             {
-                args = FieldTable.convertToFieldTable(arguments);
-            }
-            final VirtualHost virtualHost = getVirtualHost();
+                AMQShortString ownerShortString = null;
+
+                FieldTable args = null;
+                if(arguments != null)
+                {
+                    args = FieldTable.convertToFieldTable(arguments);
+                }
+                final VirtualHost virtualHost = getVirtualHost();
+
+                queue = AMQQueueFactory.createAMQQueueImpl(UUIDGenerator.generateUUID(), queueName, durable, owner,
+                        false, false, getVirtualHost(), arguments);
+                if (queue.isDurable() && !queue.isAutoDelete())
+                {
+                    getVirtualHost().getMessageStore().createQueue(queue, args);
+                }
 
-            queue = AMQQueueFactory.createAMQQueueImpl(queueNameAsAMQShortString, durable, ownerShortString,
-                                                       false, false, getVirtualHost(), args);
-            if (queue.isDurable() && !queue.isAutoDelete())
+                virtualHost.getBindingFactory().addBinding(queueName, queue, _exchangeRegistry.getDefaultExchange(), null);
+            }
+            catch (AMQException ex)
             {
-                getVirtualHost().getMessageStore().createQueue(queue, args);
+                JMException jme = new JMException(ex.toString());
+                throw new MBeanException(jme, "Error in creating queue " + queueName);
+            }
+            finally
+            {
+                CurrentActor.remove();
             }
-
-            virtualHost.getBindingFactory().addBinding(queueName, queue, _exchangeRegistry.getDefaultExchange(), null);
-        }
-        catch (AMQException ex)
-        {
-            JMException jme = new JMException(ex.toString());
-            throw new MBeanException(jme, "Error in creating queue " + queueName);
-        }
-        finally
-        {
-            CurrentActor.remove();
         }
     }
 

Propchange: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/message/MessageMetaData_1_0.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/message/MessageMetaData_1_0.java:r1327001-1327003

Added: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/UUIDGenerator.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/UUIDGenerator.java?rev=1327128&view=auto
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/UUIDGenerator.java (added)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/UUIDGenerator.java Tue Apr 17 15:04:34 2012
@@ -0,0 +1,54 @@
+/*
+ *
+ * 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.model;
+
+import java.util.UUID;
+
+import org.apache.qpid.exchange.ExchangeDefaults;
+
+
+public class UUIDGenerator
+{
+
+    public static UUID generateUUID()
+    {
+        return UUID.randomUUID();
+    }
+
+    public static UUID generateUUID(String objectName, String virtualHostName)
+    {
+        StringBuilder sb = new StringBuilder();
+        sb.append(virtualHostName).append(objectName);
+        return UUID.nameUUIDFromBytes(sb.toString().getBytes());
+    }
+
+    public static UUID generateExchangeUUID(String echangeName, String virtualHostName)
+    {
+        if(ExchangeDefaults.DEFAULT_EXCHANGE_NAME.asString().equals(echangeName) || echangeName.startsWith("amq.") || echangeName.startsWith("qpid."))
+        {
+            return generateUUID(echangeName, virtualHostName);
+        }
+        else
+        {
+            return generateUUID();
+        }
+    }
+}

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java Tue Apr 17 15:04:34 2012
@@ -38,6 +38,7 @@ import org.apache.qpid.server.model.Publ
 import org.apache.qpid.server.model.Queue;
 import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.model.Statistics;
+import org.apache.qpid.server.model.UUIDGenerator;
 import org.apache.qpid.server.queue.AMQQueue;
 import org.apache.qpid.server.virtualhost.VirtualHost;
 
@@ -124,7 +125,8 @@ final class ExchangeAdapter extends Abst
                 Map<String, Object> oldArgs = oldBinding.getArguments();
                 if((oldArgs == null && !bindingArguments.isEmpty()) || (oldArgs != null && !oldArgs.equals(bindingArguments)))
                 {
-                    virtualHost.getBindingFactory().replaceBinding(bindingKey, amqQueue, _exchange, bindingArguments);
+                    //TODO: generate deterministic UUID
+                    virtualHost.getBindingFactory().replaceBinding(UUIDGenerator.generateUUID(), bindingKey, amqQueue, _exchange, bindingArguments);
                 }
             }
             Binding binding = virtualHost.getBindingFactory().getBinding(bindingKey, amqQueue, _exchange, bindingArguments);

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java Tue Apr 17 15:04:34 2012
@@ -44,6 +44,7 @@ import org.apache.qpid.server.model.Life
 import org.apache.qpid.server.model.Queue;
 import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.model.Statistics;
+import org.apache.qpid.server.model.UUIDGenerator;
 import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.server.model.VirtualHostAlias;
 import org.apache.qpid.server.protocol.AMQConnectionModel;
@@ -238,9 +239,9 @@ final class VirtualHostAdapter extends A
         try
         {
             AMQQueue queue =
-                    AMQQueueFactory.createAMQQueueImpl(name, durable, owner, lifetime == LifetimePolicy.AUTO_DELETE,
-                                                       exclusive,
-                                                       _virtualHost, attributes);
+                    AMQQueueFactory.createAMQQueueImpl(UUIDGenerator.generateUUID(name, _virtualHost.getName()), name,
+                                                       durable, owner, lifetime == LifetimePolicy.AUTO_DELETE,
+                                                       exclusive, _virtualHost, attributes);
             _virtualHost.getQueueRegistry().registerQueue(queue);
             if(durable)
             {

Propchange: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0.java:r1327001-1327003

Propchange: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0_SASL.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0_SASL.java:r1327001-1327003

Propchange: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/v1_0/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/v1_0:r1327001-1327003

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java Tue Apr 17 15:04:34 2012
@@ -62,6 +62,7 @@ import org.apache.qpid.server.exchange.E
 import org.apache.qpid.server.exchange.TopicExchange;
 import org.apache.qpid.server.filter.JMSSelectorFilter;
 import org.apache.qpid.server.filter.SimpleFilterManager;
+import org.apache.qpid.server.model.UUIDGenerator;
 import org.apache.qpid.server.queue.AMQQueue;
 import org.apache.qpid.server.queue.AMQQueueFactory;
 import org.apache.qpid.server.queue.QueueEntry;
@@ -199,6 +200,7 @@ public class SendingLink_1_0 implements 
                 if(queue == null)
                 {
                     queue = AMQQueueFactory.createAMQQueueImpl(
+                                UUIDGenerator.generateUUID(),
                                 name,
                                 isDurable,
                                 null,

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java Tue Apr 17 15:04:34 2012
@@ -37,6 +37,7 @@ import org.apache.qpid.amqp_1_0.type.tra
 import org.apache.qpid.AMQException;
 import org.apache.qpid.AMQSecurityException;
 import org.apache.qpid.server.exchange.Exchange;
+import org.apache.qpid.server.model.UUIDGenerator;
 import org.apache.qpid.server.queue.AMQQueue;
 import org.apache.qpid.server.queue.AMQQueueFactory;
 import org.apache.qpid.server.registry.IApplicationRegistry;
@@ -314,7 +315,8 @@ public class Session_1_0 implements Sess
                                             ? null
                                             : (LifetimePolicy) properties.get(LIFETIME_POLICY);
 
-            final AMQQueue tempQueue = queue = AMQQueueFactory.createAMQQueueImpl(queueName,
+            final AMQQueue tempQueue = queue = AMQQueueFactory.createAMQQueueImpl( UUIDGenerator.generateUUID(),
+                                                                                   queueName,
                                                                                    false, // durable
                                                                                    null, // owner
                                                                                    false, // autodelete

Propchange: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue:r1327001-1327003

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQPriorityQueue.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQPriorityQueue.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQPriorityQueue.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQPriorityQueue.java Tue Apr 17 15:04:34 2012
@@ -23,19 +23,20 @@ package org.apache.qpid.server.queue;
 import org.apache.qpid.server.virtualhost.VirtualHost;
 
 import java.util.Map;
+import java.util.UUID;
 
 public class AMQPriorityQueue extends OutOfOrderQueue
 {
-    protected AMQPriorityQueue(final String name,
+    protected AMQPriorityQueue(UUID id,
+                                final String name,
                                 final boolean durable,
                                 final String owner,
                                 final boolean autoDelete,
                                 boolean exclusive,
                                 final VirtualHost virtualHost,
-                                Map<String, Object> arguments,
-                                int priorities)
+                                Map<String, Object> arguments, int priorities)
     {
-        super(name, durable, owner, autoDelete, exclusive, virtualHost, new PriorityQueueList.Factory(priorities), arguments);
+        super(id, name, durable, owner, autoDelete, exclusive, virtualHost, new PriorityQueueList.Factory(priorities), arguments);
     }
 
     public int getPriorities()

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java Tue Apr 17 15:04:34 2012
@@ -20,6 +20,10 @@
  */
 package org.apache.qpid.server.queue;
 
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
 import org.apache.qpid.AMQException;
 import org.apache.qpid.AMQSecurityException;
 import org.apache.qpid.exchange.ExchangeDefaults;
@@ -30,12 +34,10 @@ import org.apache.qpid.server.configurat
 import org.apache.qpid.server.exchange.Exchange;
 import org.apache.qpid.server.exchange.ExchangeFactory;
 import org.apache.qpid.server.exchange.ExchangeRegistry;
+import org.apache.qpid.server.model.UUIDGenerator;
 import org.apache.qpid.server.registry.ApplicationRegistry;
 import org.apache.qpid.server.virtualhost.VirtualHost;
 
-import java.util.HashMap;
-import java.util.Map;
-
 public class AMQQueueFactory
 {
     public static final String X_QPID_PRIORITIES = "x-qpid-priorities";
@@ -166,8 +168,13 @@ public class AMQQueueFactory
             }
     };
 
-
-    /** @see #createAMQQueueImpl(String, boolean, String, boolean, boolean, VirtualHost, Map) */
+    /**
+     * Creates a new queue with a random id.
+     *
+     * @see #createAMQQueueImpl(UUID, String, boolean, String, boolean, boolean, VirtualHost, Map)
+     * @deprecated because only called from unit tests
+     * */
+    @Deprecated
     public static AMQQueue createAMQQueueImpl(AMQShortString name,
                                               boolean durable,
                                               AMQShortString owner,
@@ -175,22 +182,28 @@ public class AMQQueueFactory
                                               boolean exclusive,
                                               VirtualHost virtualHost, final FieldTable arguments) throws AMQException
     {
-        return createAMQQueueImpl(name == null ? null : name.toString(),
+        return createAMQQueueImpl(UUIDGenerator.generateUUID(),
+                                  name == null ? null : name.toString(),
                                   durable,
                                   owner == null ? null : owner.toString(),
                                   autoDelete,
-                                  exclusive,
-                                  virtualHost, FieldTable.convertToMap(arguments));
+                                  exclusive, virtualHost, FieldTable.convertToMap(arguments));
     }
 
-
-    public static AMQQueue createAMQQueueImpl(String queueName,
+    /**
+     * @param id the id to use. If default then one is generated from queueName. TODO check correctness of calls that pass a null value.
+     */
+    public static AMQQueue createAMQQueueImpl(UUID id,
+                                              String queueName,
                                               boolean durable,
                                               String owner,
                                               boolean autoDelete,
-                                              boolean exclusive,
-                                              VirtualHost virtualHost, Map<String, Object> arguments) throws AMQSecurityException, AMQException
+                                              boolean exclusive, VirtualHost virtualHost, Map<String, Object> arguments) throws AMQSecurityException, AMQException
     {
+        if (id == null)
+        {
+            throw new IllegalArgumentException("Queue id must not be null");
+        }
         if (queueName == null)
         {
             throw new IllegalArgumentException("Queue name must not be null");
@@ -241,19 +254,19 @@ public class AMQQueueFactory
         AMQQueue q;
         if(sortingKey != null)
         {
-            q = new SortedQueue(queueName, durable, owner, autoDelete, exclusive, virtualHost, arguments, sortingKey);
+            q = new SortedQueue(id, queueName, durable, owner, autoDelete, exclusive, virtualHost, arguments, sortingKey);
         }
         else if(conflationKey != null)
         {
-            q = new ConflationQueue(queueName, durable, owner, autoDelete, exclusive, virtualHost, arguments, conflationKey);
+            q = new ConflationQueue(id, queueName, durable, owner, autoDelete, exclusive, virtualHost, arguments, conflationKey);
         }
         else if(priorities > 1)
         {
-            q = new AMQPriorityQueue(queueName, durable, owner, autoDelete, exclusive, virtualHost, arguments, priorities);
+            q = new AMQPriorityQueue(id, queueName, durable, owner, autoDelete, exclusive, virtualHost, arguments, priorities);
         }
         else
         {
-            q = new SimpleAMQQueue(queueName, durable, owner, autoDelete, exclusive, virtualHost, arguments);
+            q = new SimpleAMQQueue(id, queueName, durable, owner, autoDelete, exclusive, virtualHost, arguments);
         }
 
         //Register the new queue
@@ -287,7 +300,7 @@ public class AMQQueueFactory
 
                 if(dlExchange == null)
                 {
-                    dlExchange = exchangeFactory.createExchange(new AMQShortString(dlExchangeName), ExchangeDefaults.FANOUT_EXCHANGE_CLASS, true, false, 0);
+                    dlExchange = exchangeFactory.createExchange(UUIDGenerator.generateUUID(dlExchangeName, virtualHost.getName()), new AMQShortString(dlExchangeName), ExchangeDefaults.FANOUT_EXCHANGE_CLASS, true, false, 0);
 
                     exchangeRegistry.registerExchange(dlExchange);
 
@@ -309,7 +322,7 @@ public class AMQQueueFactory
                     args.put(X_QPID_DLQ_ENABLED, false);
                     args.put(X_QPID_MAXIMUM_DELIVERY_COUNT, 0);
 
-                    dlQueue = createAMQQueueImpl(dlQueueName, true, owner, false, exclusive, virtualHost, args);
+                    dlQueue = createAMQQueueImpl(UUIDGenerator.generateUUID(dlQueueName, virtualHost.getName()), dlQueueName, true, owner, false, exclusive, virtualHost, args);
 
                     //enter the dlq in the persistent store
                     virtualHost.getMessageStore().createQueue(dlQueue, FieldTable.convertToFieldTable(args));
@@ -364,7 +377,10 @@ public class AMQQueueFactory
             arguments.put(X_QPID_DLQ_ENABLED, true);
         }
 
-        AMQQueue q = createAMQQueueImpl(queueName, durable, owner, autodelete, exclusive, host, arguments);
+        // we need queues that are defined in config to have deterministic ids.
+        UUID id = UUIDGenerator.generateUUID(queueName, host.getName());
+
+        AMQQueue q = createAMQQueueImpl(id, queueName, durable, owner, autodelete, exclusive, host, arguments);
         q.configure(config);
         return q;
     }

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/ConflationQueue.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/ConflationQueue.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/ConflationQueue.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/ConflationQueue.java Tue Apr 17 15:04:34 2012
@@ -21,22 +21,23 @@
 
 package org.apache.qpid.server.queue;
 
-import org.apache.qpid.server.virtualhost.VirtualHost;
-
 import java.util.Map;
+import java.util.UUID;
+
+import org.apache.qpid.server.virtualhost.VirtualHost;
 
 public class ConflationQueue extends SimpleAMQQueue
 {
-    protected ConflationQueue(String name,
+    protected ConflationQueue(UUID id,
+                              String name,
                               boolean durable,
                               String owner,
                               boolean autoDelete,
                               boolean exclusive,
                               VirtualHost virtualHost,
-                              Map<String, Object> args,
-                              String conflationKey)
+                              Map<String, Object> args, String conflationKey)
     {
-        super(name, durable, owner, autoDelete, exclusive, virtualHost, new ConflationQueueList.Factory(conflationKey), args);
+        super(id, name, durable, owner, autoDelete, exclusive, virtualHost, new ConflationQueueList.Factory(conflationKey), args);
     }
 
     public String getConflationKey()

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/DefaultQueueRegistry.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/DefaultQueueRegistry.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/DefaultQueueRegistry.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/DefaultQueueRegistry.java Tue Apr 17 15:04:34 2012
@@ -28,6 +28,7 @@ import org.apache.qpid.server.virtualhos
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
@@ -123,4 +124,18 @@ public class DefaultQueueRegistry implem
         }
         _queueMap.clear();
     }
+
+    @Override
+    public synchronized AMQQueue getQueue(UUID queueId)
+    {
+        Collection<AMQQueue> queues = _queueMap.values();
+        for (AMQQueue queue : queues)
+        {
+            if (queue.getId().equals(queueId))
+            {
+                return queue;
+            }
+        }
+        return null;
+    }
 }

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/OutOfOrderQueue.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/OutOfOrderQueue.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/OutOfOrderQueue.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/OutOfOrderQueue.java Tue Apr 17 15:04:34 2012
@@ -5,15 +5,16 @@ import org.apache.qpid.server.subscripti
 import org.apache.qpid.server.virtualhost.VirtualHost;
 
 import java.util.Map;
+import java.util.UUID;
 
 public abstract class OutOfOrderQueue extends SimpleAMQQueue
 {
 
-    protected OutOfOrderQueue(String name, boolean durable, String owner,
-                              boolean autoDelete, boolean exclusive, VirtualHost virtualHost,
-                              QueueEntryListFactory entryListFactory, Map<String, Object> arguments)
+    protected OutOfOrderQueue(UUID id, String name, boolean durable,
+                              String owner, boolean autoDelete, boolean exclusive,
+                              VirtualHost virtualHost, QueueEntryListFactory entryListFactory, Map<String, Object> arguments)
     {
-        super(name, durable, owner, autoDelete, exclusive, virtualHost, entryListFactory, arguments);
+        super(id, name, durable, owner, autoDelete, exclusive, virtualHost, entryListFactory, arguments);
     }
 
     @Override

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/QueueRegistry.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/QueueRegistry.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/QueueRegistry.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/QueueRegistry.java Tue Apr 17 15:04:34 2012
@@ -24,6 +24,7 @@ import org.apache.qpid.framing.AMQShortS
 import org.apache.qpid.server.virtualhost.VirtualHost;
 
 import java.util.Collection;
+import java.util.UUID;
 
 public interface QueueRegistry
 {
@@ -45,10 +46,11 @@ public interface QueueRegistry
 
     void stopAllAndUnregisterMBeans();
 
+    AMQQueue getQueue(UUID queueId);
+
     interface RegistryChangeListener
     {
         void queueRegistered(AMQQueue queue);
         void queueUnregistered(AMQQueue queue);
-
     }
 }

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java Tue Apr 17 15:04:34 2012
@@ -199,29 +199,29 @@ public class SimpleAMQQueue implements A
             new ArrayList<SubscriptionRegistrationListener>();
 
 
-    protected SimpleAMQQueue(AMQShortString name, boolean durable, AMQShortString owner, boolean autoDelete, boolean exclusive, VirtualHost virtualHost, Map<String,Object> arguments)
+    protected SimpleAMQQueue(UUID id, AMQShortString name, boolean durable, AMQShortString owner, boolean autoDelete, boolean exclusive, VirtualHost virtualHost, Map<String,Object> arguments)
     {
-        this(name, durable, owner, autoDelete, exclusive, virtualHost,new SimpleQueueEntryList.Factory(), arguments);
+        this(id, name, durable, owner, autoDelete, exclusive,virtualHost, new SimpleQueueEntryList.Factory(), arguments);
     }
 
-    public SimpleAMQQueue(String queueName, boolean durable, String owner, boolean autoDelete, boolean exclusive, VirtualHost virtualHost, Map<String, Object> arguments)
+    public SimpleAMQQueue(UUID id, String queueName, boolean durable, String owner, boolean autoDelete, boolean exclusive, VirtualHost virtualHost, Map<String, Object> arguments)
     {
-        this(queueName, durable, owner, autoDelete, exclusive, virtualHost, new SimpleQueueEntryList.Factory(), arguments);
+        this(id, queueName, durable, owner, autoDelete, exclusive, virtualHost, new SimpleQueueEntryList.Factory(), arguments);
     }
 
-    public SimpleAMQQueue(String queueName, boolean durable, String owner, boolean autoDelete, boolean exclusive, VirtualHost virtualHost, QueueEntryListFactory entryListFactory, Map<String, Object> arguments)
+    public SimpleAMQQueue(UUID id, String queueName, boolean durable, String owner, boolean autoDelete, boolean exclusive, VirtualHost virtualHost, QueueEntryListFactory entryListFactory, Map<String, Object> arguments)
     {
-        this(queueName == null ? null : new AMQShortString(queueName), durable, owner == null ? null : new AMQShortString(owner), autoDelete, exclusive, virtualHost, entryListFactory, arguments);
+        this(id, queueName == null ? null : new AMQShortString(queueName), durable, owner == null ? null : new AMQShortString(owner), autoDelete, exclusive, virtualHost, entryListFactory, arguments);
     }
 
-    protected SimpleAMQQueue(AMQShortString name,
+    protected SimpleAMQQueue(UUID id,
+                             AMQShortString name,
                              boolean durable,
                              AMQShortString owner,
                              boolean autoDelete,
                              boolean exclusive,
                              VirtualHost virtualHost,
-                             QueueEntryListFactory entryListFactory,
-                             Map<String,Object> arguments)
+                             QueueEntryListFactory entryListFactory, Map<String,Object> arguments)
     {
 
         if (name == null)
@@ -244,7 +244,7 @@ public class SimpleAMQQueue implements A
         _entries = entryListFactory.createQueueEntryList(this);
         _arguments = arguments;
 
-        _id = virtualHost.getConfigStore().createId();
+        _id = id;
 
         _asyncDelivery = ReferenceCountingExecutorService.getInstance().acquireExecutorService();
 

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SortedQueue.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SortedQueue.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SortedQueue.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SortedQueue.java Tue Apr 17 15:04:34 2012
@@ -24,6 +24,7 @@ import org.apache.qpid.server.message.Se
 import org.apache.qpid.server.virtualhost.VirtualHost;
 
 import java.util.Map;
+import java.util.UUID;
 
 public class SortedQueue extends OutOfOrderQueue
 {
@@ -33,12 +34,12 @@ public class SortedQueue extends OutOfOr
     private final Object _sortedQueueLock = new Object();
     private final String _sortedPropertyName;
 
-    protected SortedQueue(final String name, final boolean durable,
-                            final String owner, final boolean autoDelete, final boolean exclusive,
-                            final VirtualHost virtualHost, Map<String, Object> arguments, String sortedPropertyName)
+    protected SortedQueue(UUID id, final String name,
+                            final boolean durable, final String owner, final boolean autoDelete,
+                            final boolean exclusive, final VirtualHost virtualHost, Map<String, Object> arguments, String sortedPropertyName)
     {
-        super(name, durable, owner, autoDelete, exclusive, virtualHost,
-                new SortedQueueEntryListFactory(sortedPropertyName), arguments);
+        super(id, name, durable, owner, autoDelete, exclusive,
+                virtualHost, new SortedQueueEntryListFactory(sortedPropertyName), arguments);
         this._sortedPropertyName = sortedPropertyName;
     }
 

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/ConfigurationRecoveryHandler.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/ConfigurationRecoveryHandler.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/ConfigurationRecoveryHandler.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/ConfigurationRecoveryHandler.java Tue Apr 17 15:04:34 2012
@@ -32,19 +32,19 @@ public interface ConfigurationRecoveryHa
 
     public static interface QueueRecoveryHandler
     {
-        void queue(String queueName, String owner, boolean exclusive, FieldTable arguments);
+        void queue(UUID id, String queueName, String owner, boolean exclusive, FieldTable arguments);
         ExchangeRecoveryHandler completeQueueRecovery();
     }
 
     public static interface ExchangeRecoveryHandler
     {
-        void exchange(String exchangeName, String type, boolean autoDelete);
+        void exchange(UUID id, String exchangeName, String type, boolean autoDelete);
         BindingRecoveryHandler completeExchangeRecovery();
     }
 
     public static interface BindingRecoveryHandler
     {
-        void binding(String exchangeName, String queueName, String bindingKey, ByteBuffer buf);
+        void binding(UUID bindingId, UUID exchangeId, UUID queueId, String bindingName, ByteBuffer buf);
         BrokerLinkRecoveryHandler completeBindingRecovery();
     }
     

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStore.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStore.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStore.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStore.java Tue Apr 17 15:04:34 2012
@@ -23,8 +23,8 @@ package org.apache.qpid.server.store;
 import org.apache.commons.configuration.Configuration;
 
 import org.apache.qpid.AMQStoreException;
-import org.apache.qpid.framing.AMQShortString;
 import org.apache.qpid.framing.FieldTable;
+import org.apache.qpid.server.binding.Binding;
 import org.apache.qpid.server.exchange.Exchange;
 import org.apache.qpid.server.federation.Bridge;
 import org.apache.qpid.server.federation.BrokerLink;
@@ -69,28 +69,22 @@ public interface DurableConfigurationSto
     void removeExchange(Exchange exchange) throws AMQStoreException;
 
     /**
-     * Binds the specified queue to an exchange with a routing key.
+     * Store the queue binding.
      *
-     * @param exchange   The exchange to bind to.
-     * @param routingKey The routing key to bind by.
-     * @param queue      The queue to bind.
-     * @param args       Additional parameters.
+     * @param binding queue binding
      *
      * @throws AMQStoreException if the operation fails for any reason.
      */
-    void bindQueue(Exchange exchange, AMQShortString routingKey, AMQQueue queue, FieldTable args) throws AMQStoreException;
+    void bindQueue(Binding binding) throws AMQStoreException;
 
     /**
-     * Unbinds the specified from an exchange under a particular routing key.
+     * Removes queue binding
      *
-     * @param exchange   The exchange to unbind from.
-     * @param routingKey The routing key to unbind.
-     * @param queue      The queue to unbind.
-     * @param args       Additional parameters.
+     * @param binding queue binding to remove
      *
      * @throws AMQStoreException If the operation fails for any reason.
      */
-    void unbindQueue(Exchange exchange, AMQShortString routingKey, AMQQueue queue, FieldTable args) throws AMQStoreException;
+    void unbindQueue(Binding binding) throws AMQStoreException;
 
     /**
      * Makes the specified queue persistent.

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/NullMessageStore.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/NullMessageStore.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/NullMessageStore.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/NullMessageStore.java Tue Apr 17 15:04:34 2012
@@ -21,8 +21,8 @@ package org.apache.qpid.server.store;
 
 import org.apache.commons.configuration.Configuration;
 import org.apache.qpid.AMQStoreException;
-import org.apache.qpid.framing.AMQShortString;
 import org.apache.qpid.framing.FieldTable;
+import org.apache.qpid.server.binding.Binding;
 import org.apache.qpid.server.exchange.Exchange;
 import org.apache.qpid.server.federation.Bridge;
 import org.apache.qpid.server.federation.BrokerLink;
@@ -48,12 +48,12 @@ public class NullMessageStore implements
     }
 
     @Override
-    public void bindQueue(Exchange exchange, AMQShortString routingKey, AMQQueue queue, FieldTable args) throws AMQStoreException
+    public void bindQueue(Binding binding) throws AMQStoreException
     {
     }
 
     @Override
-    public void unbindQueue(Exchange exchange, AMQShortString routingKey, AMQQueue queue, FieldTable args) throws AMQStoreException
+    public void unbindQueue(Binding binding) throws AMQStoreException
     {
     }
 

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/TransactionLogRecoveryHandler.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/TransactionLogRecoveryHandler.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/TransactionLogRecoveryHandler.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/TransactionLogRecoveryHandler.java Tue Apr 17 15:04:34 2012
@@ -20,15 +20,17 @@
 */
 package org.apache.qpid.server.store;
 
+import java.util.UUID;
+
 public interface TransactionLogRecoveryHandler
 {
     QueueEntryRecoveryHandler begin(MessageStore log);
 
     public static interface QueueEntryRecoveryHandler
     {
-        void queueEntry(String queuename, long messageId);
-
         DtxRecordRecoveryHandler completeQueueEntryRecovery();
+
+        void queueEntry(UUID queueId, long messageId);
     }
 
     public static interface DtxRecordRecoveryHandler

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/TransactionLogResource.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/TransactionLogResource.java?rev=1327128&r1=1327127&r2=1327128&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/TransactionLogResource.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/store/TransactionLogResource.java Tue Apr 17 15:04:34 2012
@@ -20,7 +20,9 @@
 */
 package org.apache.qpid.server.store;
 
+import java.util.UUID;
+
 public interface TransactionLogResource
 {
-    public String getResourceName();
+    public UUID getId();
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org