You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2006/12/21 18:53:16 UTC

svn commit: r489421 - in /incubator/qpid/branches/new_persistence/java: broker/src/main/java/org/apache/qpid/server/queue/ client/src/main/java/org/apache/qpid/client/ client/src/main/java/org/apache/qpid/client/message/ client/src/main/java/org/apache...

Author: rgreig
Date: Thu Dec 21 09:53:13 2006
New Revision: 489421

URL: http://svn.apache.org/viewvc?view=rev&rev=489421
Log:
Merge from trunk up to revision 486648

Added:
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/.eclipseproduct
      - copied unchanged from r486648, incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/.eclipseproduct
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/eclipse.exe
      - copied unchanged from r486648, incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/eclipse.exe
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/eclipse.ini
      - copied unchanged from r486648, incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/eclipse.ini
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/unix/
      - copied from r486648, incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/unix/
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/unix/configuration/
      - copied from r486648, incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/unix/configuration/
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/unix/configuration/config.ini
      - copied unchanged from r486648, incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/unix/configuration/config.ini
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/win32/
      - copied from r486648, incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/win32/
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/win32/configuration/
      - copied from r486648, incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/win32/configuration/
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/win32/configuration/config.ini
      - copied unchanged from r486648, incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/win32/configuration/config.ini
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/win32/configuration/org.eclipse.osgi/
      - copied from r486648, incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/win32/configuration/org.eclipse.osgi/
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/win32/configuration/org.eclipse.osgi/bundles/
      - copied from r486648, incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/win32/configuration/org.eclipse.osgi/bundles/
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/win32/configuration/org.eclipse.osgi/bundles/16/
      - copied from r486648, incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/win32/configuration/org.eclipse.osgi/bundles/16/
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/win32/configuration/org.eclipse.osgi/bundles/16/1/
      - copied from r486648, incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/win32/configuration/org.eclipse.osgi/bundles/16/1/
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/win32/configuration/org.eclipse.osgi/bundles/16/1/.cp/
      - copied from r486648, incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/win32/configuration/org.eclipse.osgi/bundles/16/1/.cp/
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/win32/configuration/org.eclipse.osgi/bundles/16/1/.cp/swt-win32-3232.dll
      - copied unchanged from r486648, incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/win32/configuration/org.eclipse.osgi/bundles/16/1/.cp/swt-win32-3232.dll
Removed:
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/configuration/
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/qpidmc.exe
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/src/main/resources/qpidmc.ini
Modified:
    incubator/qpid/branches/new_persistence/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentDeliveryManager.java
    incubator/qpid/branches/new_persistence/java/broker/src/main/java/org/apache/qpid/server/queue/SynchronizedDeliveryManager.java
    incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQDestination.java
    incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQHeadersExchange.java
    incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQQueue.java
    incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQTemporaryQueue.java
    incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java
    incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java
    incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/state/StateWaiter.java
    incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/transport/SocketTransportConnection.java
    incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java
    incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/jndi/PropertiesFileInitialContextFactory.java
    incubator/qpid/branches/new_persistence/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java
    incubator/qpid/branches/new_persistence/java/common/src/main/java/org/apache/qpid/framing/EncodingUtils.java
    incubator/qpid/branches/new_persistence/java/common/src/main/java/org/apache/qpid/framing/PropertyFieldTable.java
    incubator/qpid/branches/new_persistence/java/common/src/main/java/org/apache/qpid/pool/PoolingFilter.java
    incubator/qpid/branches/new_persistence/java/common/src/test/java/org/apache/qpid/framing/PropertyFieldTableTest.java
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/bin/qpidmc.bat
    incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/bin/qpidmc.sh

Modified: incubator/qpid/branches/new_persistence/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentDeliveryManager.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentDeliveryManager.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentDeliveryManager.java (original)
+++ incubator/qpid/branches/new_persistence/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentDeliveryManager.java Thu Dec 21 09:53:13 2006
@@ -278,7 +278,12 @@
             //are we already running? if so, don't re-run
             if (_processing.compareAndSet(false, true))
             {
-                executor.execute(asyncDelivery);
+                // Do we need this?
+                // This executor is created via Executors in AsyncDeliveryConfig which only returns a TPE so cast is ok.
+                //if (executor != null && !((ThreadPoolExecutor) executor).isShutdown())
+                {
+                    executor.execute(asyncDelivery);
+                }
             }
         }
     }

Modified: incubator/qpid/branches/new_persistence/java/broker/src/main/java/org/apache/qpid/server/queue/SynchronizedDeliveryManager.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/broker/src/main/java/org/apache/qpid/server/queue/SynchronizedDeliveryManager.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/broker/src/main/java/org/apache/qpid/server/queue/SynchronizedDeliveryManager.java (original)
+++ incubator/qpid/branches/new_persistence/java/broker/src/main/java/org/apache/qpid/server/queue/SynchronizedDeliveryManager.java Thu Dec 21 09:53:13 2006
@@ -208,7 +208,12 @@
             //are we already running? if so, don't re-run
             if (_processing.compareAndSet(false, true))
             {
-                executor.execute(new Runner());
+                // Do we need this?
+                // This executor is created via Executors in AsyncDeliveryConfig which only returns a TPE so cast is ok.
+                //if (executor != null && !((ThreadPoolExecutor) executor).isShutdown())
+                {
+                    executor.execute(new Runner());
+                }
             }
         }
     }

Modified: incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQDestination.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQDestination.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQDestination.java (original)
+++ incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQDestination.java Thu Dec 21 09:53:13 2006
@@ -99,7 +99,10 @@
         _queueName = queueName;
     }
 
-    public abstract String getEncodedName();
+    public String getEncodedName()
+    {
+        return toURL();
+    }
 
     public boolean isDurable()
     {
@@ -244,7 +247,7 @@
             return false;
         }
         if ((_queueName == null && that._queueName != null) ||
-                (_queueName != null && !_queueName.equals(that._queueName)))
+            (_queueName != null && !_queueName.equals(that._queueName)))
         {
             return false;
         }
@@ -281,5 +284,27 @@
                 new StringRefAddr(this.getClass().getName(), toURL()),
                 AMQConnectionFactory.class.getName(),
                 null);          // factory location
+    }
+
+    public static Destination createDestination(BindingURL binding)
+    {
+        String type = binding.getExchangeClass();
+
+        if (type.equals(ExchangeDefaults.DIRECT_EXCHANGE_CLASS))
+        {
+            return new AMQQueue(binding);
+        }
+        else if (type.equals(ExchangeDefaults.TOPIC_EXCHANGE_CLASS))
+        {
+            return new AMQTopic(binding);
+        }
+        else if (type.equals(ExchangeDefaults.HEADERS_EXCHANGE_CLASS))
+        {
+            return new AMQHeadersExchange(binding);
+        }
+        else
+        {
+            throw new IllegalArgumentException("Unknown Exchange Class:" + type + " in binding:" + binding);
+        }
     }
 }

Modified: incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQHeadersExchange.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQHeadersExchange.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQHeadersExchange.java (original)
+++ incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQHeadersExchange.java Thu Dec 21 09:53:13 2006
@@ -38,11 +38,6 @@
         super(queueName, ExchangeDefaults.HEADERS_EXCHANGE_CLASS, queueName, true, true, null);
     }
 
-    public String getEncodedName()
-    {
-        return getDestinationName();
-    }
-
     public String getRoutingKey()
     {
         return getDestinationName();

Modified: incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQQueue.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQQueue.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQQueue.java (original)
+++ incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQQueue.java Thu Dec 21 09:53:13 2006
@@ -75,11 +75,7 @@
               autoDelete, queueName);
     }
 
-    public String getEncodedName()
-    {
-        return 'Q' + getQueueName();
-    }
-
+  
     public String getRoutingKey()
     {
         return getQueueName();

Modified: incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQTemporaryQueue.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQTemporaryQueue.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQTemporaryQueue.java (original)
+++ incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQTemporaryQueue.java Thu Dec 21 09:53:13 2006
@@ -26,22 +26,25 @@
 /**
  * AMQ implementation of a TemporaryQueue.
  */
-final class AMQTemporaryQueue extends AMQQueue implements TemporaryQueue {
+final class AMQTemporaryQueue extends AMQQueue implements TemporaryQueue
+{
+
 
     /**
      * Create a new instance of an AMQTemporaryQueue
      */
-    public AMQTemporaryQueue() {
-        super("TempQueue" + Long.toString(System.currentTimeMillis()),
-                null, true, true);
+    public AMQTemporaryQueue()
+    {
+        super("TempQueue" + Long.toString(System.currentTimeMillis()), true);
     }
 
     /**
      * @see javax.jms.TemporaryQueue#delete()
      */
-    public void delete() throws JMSException {
+    public void delete() throws JMSException
+    {
         throw new UnsupportedOperationException("Delete not supported, " +
-            "will auto-delete when connection closed");
+                                                "will auto-delete when connection closed");
     }
-    
+
 }

Modified: incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java (original)
+++ incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java Thu Dec 21 09:53:13 2006
@@ -61,11 +61,6 @@
         return super.getDestinationName();
     }
 
-    public String getEncodedName()
-    {
-        return 'T' + getDestinationName();
-    }
-
      public String getRoutingKey()
     {
         return getDestinationName();

Modified: incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java (original)
+++ incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java Thu Dec 21 09:53:13 2006
@@ -23,6 +23,9 @@
 import org.apache.commons.collections.map.ReferenceMap;
 import org.apache.mina.common.ByteBuffer;
 import org.apache.qpid.AMQException;
+import org.apache.qpid.url.BindingURL;
+import org.apache.qpid.url.AMQBindingURL;
+import org.apache.qpid.url.URLSyntaxException;
 import org.apache.qpid.client.AMQDestination;
 import org.apache.qpid.client.AMQQueue;
 import org.apache.qpid.client.AMQTopic;
@@ -136,19 +139,16 @@
             Destination dest = (Destination) _destinationCache.get(replyToEncoding);
             if (dest == null)
             {
-                char destType = replyToEncoding.charAt(0);
-                if (destType == 'Q')
+                try
                 {
-                    dest = new AMQQueue(replyToEncoding.substring(1));
+                    BindingURL binding = new AMQBindingURL(replyToEncoding);
+                    dest = AMQDestination.createDestination(binding);
                 }
-                else if (destType == 'T')
-                {
-                    dest = new AMQTopic(replyToEncoding.substring(1));
-                }
-                else
+                catch (URLSyntaxException e)
                 {
                     throw new JMSException("Illegal value in JMS_ReplyTo property: " + replyToEncoding);
                 }
+
                 _destinationCache.put(replyToEncoding, dest);
             }
             return dest;
@@ -163,7 +163,7 @@
         }
         if (!(destination instanceof AMQDestination))
         {
-            throw new IllegalArgumentException("ReplyTo destination my be an AMQ destination - passed argument was type " +
+            throw new IllegalArgumentException("ReplyTo destination may only be an AMQDestination - passed argument was type " +
                                                destination.getClass());
         }
         final AMQDestination amqd = (AMQDestination) destination;
@@ -389,9 +389,10 @@
         // is not specified. In our case, we only set the session field where client acknowledge mode is specified.
         if (_session != null)
         {
-        	if (_session.getAMQConnection().isClosed()){
-        		throw new javax.jms.IllegalStateException("Connection is already closed");
-        	}
+            if (_session.getAMQConnection().isClosed())
+            {
+                throw new javax.jms.IllegalStateException("Connection is already closed");
+            }
 
             // we set multiple to true here since acknowledgement implies acknowledge of all previous messages
             // received on the session

Modified: incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/state/StateWaiter.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/state/StateWaiter.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/state/StateWaiter.java (original)
+++ incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/state/StateWaiter.java Thu Dec 21 09:53:13 2006
@@ -46,7 +46,7 @@
 
     public void waituntilStateHasChanged() throws AMQException
     {
-        synchronized (_monitor)
+        synchronized(_monitor)
         {
             //
             // The guard is required in case we are woken up by a spurious
@@ -71,22 +71,22 @@
             _logger.debug("Throwable reached state waiter: " + _throwable);
             if (_throwable instanceof AMQException)
             {
-                throw (AMQException) _throwable;
+                throw(AMQException) _throwable;
             }
             else
             {
-                throw new AMQException("Error: "  + _throwable, _throwable); // FIXME: this will wrap FailoverException in throwable which will prevent it being caught.
+                throw new AMQException("Error: " + _throwable, _throwable); // FIXME: this will wrap FailoverException in throwable which will prevent it being caught.
             }
         }
     }
 
     public void stateChanged(AMQState oldState, AMQState newState)
     {
-        synchronized (_monitor)
+        synchronized(_monitor)
         {
             if (_logger.isDebugEnabled())
             {
-                _logger.debug("stateChanged called");
+                _logger.debug("stateChanged called changing from :" + oldState + " to :" + newState);
             }
             if (_state == newState)
             {
@@ -103,7 +103,7 @@
 
     public void error(Throwable t)
     {
-        synchronized (_monitor)
+        synchronized(_monitor)
         {
             if (_logger.isDebugEnabled())
             {

Modified: incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/transport/SocketTransportConnection.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/transport/SocketTransportConnection.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/transport/SocketTransportConnection.java (original)
+++ incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/transport/SocketTransportConnection.java Thu Dec 21 09:53:13 2006
@@ -60,6 +60,7 @@
         // once more testing of the performance of the simple allocator has been done
         if (!Boolean.getBoolean("amqj.enablePooledAllocator"))
         {
+            _logger.warn("Using SimpleByteBufferAllocator");
             ByteBuffer.setAllocator(new SimpleByteBufferAllocator());
         }
 

Modified: incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java (original)
+++ incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java Thu Dec 21 09:53:13 2006
@@ -268,7 +268,7 @@
             Object[] params = {port};
             provider = (IoHandlerAdapter) Class.forName(protocolProviderClass).getConstructor(cnstr).newInstance(params);
             //Give the broker a second to create
-            _logger.info("Created Instance");
+            _logger.info("Created VMBroker Instance:" + port);
         }
         catch (Exception e)
         {

Modified: incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/jndi/PropertiesFileInitialContextFactory.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/jndi/PropertiesFileInitialContextFactory.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/jndi/PropertiesFileInitialContextFactory.java (original)
+++ incubator/qpid/branches/new_persistence/java/client/src/main/java/org/apache/qpid/jndi/PropertiesFileInitialContextFactory.java Thu Dec 21 09:53:13 2006
@@ -25,6 +25,7 @@
 import org.apache.qpid.client.AMQHeadersExchange;
 import org.apache.qpid.client.AMQQueue;
 import org.apache.qpid.client.AMQTopic;
+import org.apache.qpid.client.AMQDestination;
 import org.apache.qpid.exchange.ExchangeDefaults;
 import org.apache.qpid.url.AMQBindingURL;
 import org.apache.qpid.url.BindingURL;
@@ -177,21 +178,15 @@
             return null;
         }
 
-        if (binding.getExchangeClass().equals(ExchangeDefaults.TOPIC_EXCHANGE_CLASS))
-        {
-            return createTopic(binding);
-        }
-        else if (binding.getExchangeClass().equals(ExchangeDefaults.DIRECT_EXCHANGE_CLASS))
+        try
         {
-            return createQueue(binding);
+            return AMQDestination.createDestination(binding);
         }
-        else if (binding.getExchangeClass().equals(ExchangeDefaults.HEADERS_EXCHANGE_CLASS))
+        catch (IllegalArgumentException iaw)
         {
-            return createHeaderExchange(binding);
+            _logger.warn("Binding: '" + binding + "' not supported");
+            return null;
         }
-
-        _logger.warn("Binding: '" + binding + "' not supported");
-        return null;
     }
 
     /**

Modified: incubator/qpid/branches/new_persistence/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java (original)
+++ incubator/qpid/branches/new_persistence/java/client/src/test/java/org/apache/qpid/test/unit/basic/PropertyValueTest.java Thu Dec 21 09:53:13 2006
@@ -119,8 +119,17 @@
             m.setJMSPriority(100);
 
             //  Queue
-            Queue q = //_session.createTemporaryQueue();
-                    q = new AMQQueue("TestReply");
+            Queue q;
+
+            if (i / 2 == 0)
+            {
+                q = _session.createTemporaryQueue();
+            }
+            else
+            {
+                q = new AMQQueue("TestReply");
+            }
+
             m.setJMSReplyTo(q);
             m.setStringProperty("TempQueue", q.toString());
 
@@ -173,6 +182,8 @@
                                 (int) Integer.MAX_VALUE, m.getIntProperty("Int"));
             Assert.assertEquals("Check CorrelationID properties are correctly transported",
                                 "Correlation", m.getJMSCorrelationID());
+
+            _logger.warn("getJMSPriority not being verified.");
 //            Assert.assertEquals("Check Priority properties are correctly transported",
 //                                100, m.getJMSPriority());
 
@@ -180,8 +191,9 @@
             Assert.assertEquals("Check ReplyTo properties are correctly transported",
                                 m.getStringProperty("TempQueue"), m.getJMSReplyTo().toString());
 
-//            Assert.assertEquals("Check Type properties are correctly transported",
-//                                "Test", m.getJMSType());
+            Assert.assertEquals("Check Type properties are correctly transported",
+                                "Test", m.getJMSType());
+
             Assert.assertEquals("Check Short properties are correctly transported",
                                 (short) Short.MAX_VALUE, m.getShortProperty("Short"));
             Assert.assertEquals("Check UnsignedInt properties are correctly transported",

Modified: incubator/qpid/branches/new_persistence/java/common/src/main/java/org/apache/qpid/framing/EncodingUtils.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/common/src/main/java/org/apache/qpid/framing/EncodingUtils.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/common/src/main/java/org/apache/qpid/framing/EncodingUtils.java (original)
+++ incubator/qpid/branches/new_persistence/java/common/src/main/java/org/apache/qpid/framing/EncodingUtils.java Thu Dec 21 09:53:13 2006
@@ -609,8 +609,22 @@
         }
     }
 
-    public static long encodedCharacterLength()
+    //CHAR_PROPERTY
+    public static long encodedCharLength()
     {
-        return encodedShortStringLength("c");
+        return encodedByteLength();
     }
+
+    public static char readChar(ByteBuffer buffer)
+    {
+        //This is valid as we know that the Character is ASCII 0..127
+        return (char) buffer.get();
+    }
+
+    public static void writeChar(ByteBuffer buffer, char character)
+    {
+        //This is valid as we know that the Character is ASCII 0..127
+        writeByte(buffer, (byte) character);
+    }
+
 }

Modified: incubator/qpid/branches/new_persistence/java/common/src/main/java/org/apache/qpid/framing/PropertyFieldTable.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/common/src/main/java/org/apache/qpid/framing/PropertyFieldTable.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/common/src/main/java/org/apache/qpid/framing/PropertyFieldTable.java (original)
+++ incubator/qpid/branches/new_persistence/java/common/src/main/java/org/apache/qpid/framing/PropertyFieldTable.java Thu Dec 21 09:53:13 2006
@@ -41,9 +41,11 @@
     public static final char AMQP_UNSIGNEDINT_PROPERTY_PREFIX = 'I';
     public static final char AMQP_TIMESTAMP_PROPERTY_PREFIX = 'T';
     public static final char AMQP_STRING_PROPERTY_PREFIX = 'S';
+    public static final char AMQP_ASCII_CHARACTER_PROPERTY_PREFIX = 'k';
     public static final char AMQP_ASCII_STRING_PROPERTY_PREFIX = 'c';
     public static final char AMQP_WIDE_STRING_PROPERTY_PREFIX = 'C';
     public static final char AMQP_BINARY_PROPERTY_PREFIX = 'x';
+    public static final char AMQP_NULL_STRING_PROPERTY_PREFIX = 'n';
 
     public static final char BOOLEAN_PROPERTY_PREFIX = 't';
     public static final char BYTE_PROPERTY_PREFIX = 'b';
@@ -52,10 +54,10 @@
     public static final char LONG_PROPERTY_PREFIX = 'l';
     public static final char FLOAT_PROPERTY_PREFIX = 'f';
     public static final char DOUBLE_PROPERTY_PREFIX = 'd';
-    public static final char NULL_STRING_PROPERTY_PREFIX = 'n';
 
+    public static final char NULL_STRING_PROPERTY_PREFIX = AMQP_NULL_STRING_PROPERTY_PREFIX;
     public static final char STRING_PROPERTY_PREFIX = AMQP_STRING_PROPERTY_PREFIX;
-    public static final char CHAR_PROPERTY_PREFIX = AMQP_ASCII_STRING_PROPERTY_PREFIX;
+    public static final char CHAR_PROPERTY_PREFIX = AMQP_ASCII_CHARACTER_PROPERTY_PREFIX;
     public static final char BYTES_PROPERTY_PREFIX = AMQP_BINARY_PROPERTY_PREFIX;
 
     //Our custom prefix for encoding across the wire
@@ -1180,26 +1182,26 @@
                     case NULL_STRING_PROPERTY_PREFIX:
                         buffer.put((byte) NULL_STRING_PROPERTY_PREFIX);
                         break;
+
                     case AMQP_WIDE_STRING_PROPERTY_PREFIX:
-                        //case AMQP_STRING_PROPERTY_PREFIX:
-                    case STRING_PROPERTY_PREFIX:
                         // TODO: look at using proper charset encoder
                         buffer.put((byte) STRING_PROPERTY_PREFIX);
                         EncodingUtils.writeLongStringBytes(buffer, (String) value);
                         break;
-
-                        //case AMQP_ASCII_STRING_PROPERTY_PREFIX:
+                    case AMQP_ASCII_STRING_PROPERTY_PREFIX:
+                    case STRING_PROPERTY_PREFIX: // AMQP_STRING_PROPERTY_PREFIX:
+                        //This is a simple ASCII string
+                        buffer.put((byte) STRING_PROPERTY_PREFIX);
+                        EncodingUtils.writeLongStringBytes(buffer, (String) value);
+                        break;
                     case CHAR_PROPERTY_PREFIX:
-                        // TODO: look at using proper charset encoder
                         buffer.put((byte) CHAR_PROPERTY_PREFIX);
-                        EncodingUtils.writeShortStringBytes(buffer, "" + (Character) value);
+                        EncodingUtils.writeChar(buffer, (Character) value);
                         break;
-
                     case BYTES_PROPERTY_PREFIX:
                         buffer.put((byte) BYTES_PROPERTY_PREFIX);
                         EncodingUtils.writeBytes(buffer, (byte[]) value);
                         break;
-
                     case XML_PROPERTY_PREFIX:
                         // Encode as XML
                         buffer.put((byte) XML_PROPERTY_PREFIX);
@@ -1271,16 +1273,15 @@
 
                     // TODO: use proper charset decoder
                 case AMQP_WIDE_STRING_PROPERTY_PREFIX:
-                    //case AMQP_STRING_PROPERTY_PREFIX:
-                case STRING_PROPERTY_PREFIX:
+                case AMQP_ASCII_STRING_PROPERTY_PREFIX:
+                case STRING_PROPERTY_PREFIX:  // AMQP_STRING_PROPERTY_PREFIX:
                     value = EncodingUtils.readLongString(buffer);
                     break;
                 case NULL_STRING_PROPERTY_PREFIX:
                     value = null;
                     break;
-                    //case AMQP_ASCII_STRING_PROPERTY_PREFIX:
                 case CHAR_PROPERTY_PREFIX:
-                    value = EncodingUtils.readShortString(buffer).charAt(0);
+                    value = EncodingUtils.readChar((buffer));
                     break;
                 case BYTES_PROPERTY_PREFIX:
                     value = EncodingUtils.readBytes(buffer);
@@ -1356,16 +1357,15 @@
                 encodingSize += EncodingUtils.encodedDoubleLength();
                 break;
             case AMQP_WIDE_STRING_PROPERTY_PREFIX:
-                //case AMQP_STRING_PROPERTY_PREFIX:
-            case STRING_PROPERTY_PREFIX:
+            case AMQP_ASCII_STRING_PROPERTY_PREFIX:
+            case STRING_PROPERTY_PREFIX: //AMQP_STRING_PROPERTY_PREFIX:
                 encodingSize += EncodingUtils.encodedLongStringLength((String) value);
                 break;
             case NULL_STRING_PROPERTY_PREFIX:
-                // There is no need for additiona size beyond the prefix 
+                // There is no need for additional size beyond the prefix
                 break;
-                //case AMQP_ASCII_STRING_PROPERTY_PREFIX:
             case CHAR_PROPERTY_PREFIX:
-                encodingSize += EncodingUtils.encodedShortStringLength("" + (Character) value);
+                encodingSize += EncodingUtils.encodedCharLength();
                 break;
             case BYTES_PROPERTY_PREFIX:
                 encodingSize += 1 + ((byte[]) value).length;
@@ -1374,7 +1374,7 @@
                 encodingSize += EncodingUtils.encodedLongStringLength(valueAsXML(name, value));
                 break;
             default:
-                //encodingSize = 1 + EncodingUtils.encodedLongStringLength(String.valueOf(value));
+                //encodingSize = 1 + EncodingUtils.encodedLongstrLength(String.valueOf(value));
                 //  We are using XML String encoding
                 throw new IllegalArgumentException("Unsupported type in field table: " + value.getClass());
         }

Modified: incubator/qpid/branches/new_persistence/java/common/src/main/java/org/apache/qpid/pool/PoolingFilter.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/common/src/main/java/org/apache/qpid/pool/PoolingFilter.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/common/src/main/java/org/apache/qpid/pool/PoolingFilter.java (original)
+++ incubator/qpid/branches/new_persistence/java/common/src/main/java/org/apache/qpid/pool/PoolingFilter.java Thu Dec 21 09:53:13 2006
@@ -58,6 +58,9 @@
             Job job = getJobForSession(session);
             job.acquire(); //prevents this job being removed from _jobs
             job.add(event);
+
+            //Additional checks on pool to check that it hasn't shutdown.
+            // The alternative is to catch the RejectedExecutionException that will result from executing on a shutdown pool
             if (job.activate() && _poolReference.getPool() != null && !_poolReference.getPool().isShutdown())
             {
                 _poolReference.getPool().execute(job);
@@ -100,7 +103,9 @@
         }
         else
         {
-            if (job.activate())
+            // ritchiem : 2006-12-13 Do we need to perform the additional checks here?
+            //                       Can the pool be shutdown at this point?
+            if (job.activate() && _poolReference.getPool() != null && !_poolReference.getPool().isShutdown())
             {
                 _poolReference.getPool().execute(job);
             }
@@ -184,3 +189,4 @@
         _poolReference.releaseExecutorService();
     }
 }
+

Modified: incubator/qpid/branches/new_persistence/java/common/src/test/java/org/apache/qpid/framing/PropertyFieldTableTest.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/common/src/test/java/org/apache/qpid/framing/PropertyFieldTableTest.java?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/common/src/test/java/org/apache/qpid/framing/PropertyFieldTableTest.java (original)
+++ incubator/qpid/branches/new_persistence/java/common/src/test/java/org/apache/qpid/framing/PropertyFieldTableTest.java Thu Dec 21 09:53:13 2006
@@ -26,8 +26,6 @@
 import java.util.Enumeration;
 
 import org.apache.mina.common.ByteBuffer;
-import org.apache.mina.common.ByteBufferProxy;
-import org.apache.mina.common.support.BaseByteBuffer;
 
 public class PropertyFieldTableTest extends TestCase
 {
@@ -402,7 +400,7 @@
         Assert.assertEquals(size, result.getEncodedSize());
 
         result.setChar("char", (char) 'c');
-        size += 1 + EncodingUtils.encodedShortStringLength("char") + EncodingUtils.encodedCharacterLength();
+        size += 1 + EncodingUtils.encodedShortStringLength("char") + EncodingUtils.encodedCharLength();
         Assert.assertEquals(size, result.getEncodedSize());
 
         result.setDouble("double", (double) Double.MAX_VALUE);
@@ -444,7 +442,7 @@
         Assert.assertEquals(size, result.getEncodedSize());
 
         result.setObject("object-char", 'c');
-        size += 1 + EncodingUtils.encodedShortStringLength("object-char") + EncodingUtils.encodedCharacterLength();
+        size += 1 + EncodingUtils.encodedShortStringLength("object-char") + EncodingUtils.encodedCharLength();
         Assert.assertEquals(size, result.getEncodedSize());
 
         result.setObject("object-double", Double.MAX_VALUE);

Modified: incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/bin/qpidmc.bat
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/bin/qpidmc.bat?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/bin/qpidmc.bat (original)
+++ incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/bin/qpidmc.bat Thu Dec 21 09:53:13 2006
@@ -52,4 +52,4 @@
 rem Slurp the command line arguments. This loop allows for an unlimited number
 rem of agruments (up to the command line limit, anyway).
 
-"%JAVA_HOME%\bin\java" -Xms40m -Xmx256m -Declipse.consoleLog=true  -jar %QPIDMC_HOME%\startup.jar org.eclipse.core.launcher.Main -launcher %QPIDMC_HOME%\qpidmc.exe -name "Qpid Management Console" -showsplash 600 -data %QPIDMC_HOME%\data -configuration "file:%QPIDMC_HOME%/configuration" -os win32 -ws win32 -arch x86
+"%JAVA_HOME%\bin\java" -Xms40m -Xmx256m -Declipse.consoleLog=true  -jar %QPIDMC_HOME%\eclipse\startup.jar org.eclipse.core.launcher.Main -launcher %QPIDMC_HOME%\eclipse\eclipse -name "Qpid Management Console" -showsplash 600 -configuration "file:%QPIDMC_HOME%\configuration" -os win32 -ws win32 -arch x86

Modified: incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/bin/qpidmc.sh
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/bin/qpidmc.sh?view=diff&rev=489421&r1=489420&r2=489421
==============================================================================
--- incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/bin/qpidmc.sh (original)
+++ incubator/qpid/branches/new_persistence/java/management/eclipse-plugin/bin/qpidmc.sh Thu Dec 21 09:53:13 2006
@@ -1,21 +1,3 @@
 #!/bin/bash
-#
-# 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.
-#
 
-"$JAVA_HOME/bin/java" -Xms40m -Xmx256m -Declipse.consoleLog=true -jar $QPIDMC_HOME/startup.jar org.eclipse.core.launcher.Main -launcher $QPIDMC_HOME/qpidmc.exe -name "Qpid Management Console" -showsplash 600 -data $QPIDMC_HOME/data -configuration "file:$QPIDMC_HOME/configuration"
\ No newline at end of file
+"$JAVA_HOME/bin/java" -Xms40m -Xmx256m -Declipse.consoleLog=false -jar $QPIDMC_HOME/eclipse/startup.jar org.eclipse.core.launcher.Main -launcher $QPIDMC_HOME/eclipse/eclipse -name "Qpid Management Console" -showsplash 600 -configuration "file:$QPIDMC_HOME/configuration"