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 2009/10/05 12:47:56 UTC

svn commit: r821749 [2/3] - in /qpid/branches/java-broker-0-10/qpid: ./ cpp/src/qpid/amqp_0_10/ cpp/src/qpid/broker/ cpp/src/qpid/client/ cpp/src/qpid/cluster/ cpp/src/qpid/framing/ cpp/src/qpid/management/ cpp/src/qpid/replication/ cpp/src/qpid/sys/ c...

Propchange: qpid/branches/java-broker-0-10/qpid/java/broker/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Oct  5 10:47:52 2009
@@ -1,2 +1,2 @@
 /qpid/branches/jmx_mc_gsoc09/qpid/java/broker:787599
-/qpid/trunk/qpid/java/broker:742626,743015,743028-743029,743304,743306,743311,743357,744113,747363,747367,747369-747370,747376,747783,747868-747870,747875,748561,748591,748641,748680,748686,749149,749282,749285,749315,749340,749572,753219-753220,753253,754934,754958,755256,757258,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790,796196-799240
+/qpid/trunk/qpid/java/broker:742626,743015,743028-743029,743304,743306,743311,743357,744113,747363,747367,747369-747370,747376,747783,747868-747870,747875,748561,748591,748641,748680,748686,749149,749282,749285,749315,749340,749572,753219-753220,753253,754934,754958,755256,757258,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790,796196-800440

Propchange: qpid/branches/java-broker-0-10/qpid/java/broker/bin/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Oct  5 10:47:52 2009
@@ -1,2 +1,2 @@
 /qpid/branches/0.5-release/qpid/java/broker/bin:757268
-/qpid/trunk/qpid/java/broker/bin:753219-753220,753253,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790,796196-799240
+/qpid/trunk/qpid/java/broker/bin:753219-753220,753253,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790,796196-800440

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java Mon Oct  5 10:47:52 2009
@@ -58,6 +58,12 @@
 import org.apache.qpid.server.txn.NonTransactionalContext;
 import org.apache.qpid.server.txn.TransactionalContext;
 import org.apache.qpid.server.message.ServerMessage;
+import org.apache.qpid.server.logging.LogActor;
+import org.apache.qpid.server.logging.LogSubject;
+import org.apache.qpid.server.logging.messages.ChannelMessages;
+import org.apache.qpid.server.logging.subjects.ChannelLogSubject;
+import org.apache.qpid.server.logging.actors.AMQPChannelActor;
+import org.apache.qpid.server.logging.actors.CurrentActor;
 
 public class AMQChannel
 {
@@ -112,13 +118,22 @@
 
     // Why do we need this reference ? - ritchiem
     private final AMQProtocolSession _session;
-    private boolean _closing; 
+    private boolean _closing;
+
+    private LogActor _actor;
+    private LogSubject _logSubject;
 
     public AMQChannel(AMQProtocolSession session, int channelId, MessageStore messageStore)
             throws AMQException
     {
         _session = session;
         _channelId = channelId;
+
+        _actor = new AMQPChannelActor(this, session.getLogActor().getRootMessageLogger());
+        _logSubject = new ChannelLogSubject(this);
+        
+        _actor.message(ChannelMessages.CHN_1001());
+
         _storeContext = new StoreContext("Session: " + session.getClientIdentifier() + "; channel: " + channelId);
 
 
@@ -386,6 +401,8 @@
     private void setClosing(boolean closing)
     {
         _closing = closing;
+
+        CurrentActor.get().message(_logSubject, ChannelMessages.CHN_1003());
     }
 
     private void unsubscribeAllConsumers() throws AMQException
@@ -789,6 +806,8 @@
         boolean wasSuspended = _suspended.getAndSet(suspended);
         if (wasSuspended != suspended)
         {
+            _actor.message(_logSubject, ChannelMessages.CHN_1002(suspended ? "Stopped" : "Started"));
+
             if (wasSuspended)
             {
                 // may need to deliver queued messages
@@ -891,6 +910,8 @@
 
     public void setCredit(final long prefetchSize, final int prefetchCount)
     {
+        //fixme
+//        _actor.message(ChannelMessages.CHN_100X(prefetchSize, prefetchCount);
         _creditManager.setCreditLimits(prefetchSize, prefetchCount);
     }
 
@@ -942,4 +963,9 @@
     {
         return _recordDeliveryMethod;
     }
+
+    public LogActor getLogActor()
+    {
+        return _actor;
+    }
 }

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java Mon Oct  5 10:47:52 2009
@@ -256,7 +256,7 @@
 
     // Our configuration class needs to make the interpolate method
     // public so it can be called below from the config method.
-    private static class MyConfiguration extends CompositeConfiguration
+    public static class MyConfiguration extends CompositeConfiguration
     {
         public String interpolate(String obj)
         {
@@ -264,7 +264,7 @@
         }
     }
 
-    private final static Configuration flatConfig(File file) throws ConfigurationException
+    public final static Configuration flatConfig(File file) throws ConfigurationException
     {
         // We have to override the interpolate methods so that
         // interpolation takes place accross the entirety of the

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/LogActor.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/LogActor.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/LogActor.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/LogActor.java Mon Oct  5 10:47:52 2009
@@ -40,4 +40,21 @@
      * @param message The message to log
      */
     public void message(LogSubject subject, LogMessage message);
-} 
\ No newline at end of file
+
+    /**
+     * Logs the specified LogMessage against this actor
+     *
+     * Currently logging has a global setting however this will later be revised and
+     * as such the LogActor will need to take into consideration any new configuration
+     * as a means of enabling the logging of LogActors and LogSubjects.
+     *
+     * @param message The message to log
+     */
+    public void message(LogMessage message);
+
+    /**
+     *
+     * @return the RootMessageLogger that is currently in use by this LogActor.
+     */
+    RootMessageLogger getRootMessageLogger();
+}
\ No newline at end of file

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/RootMessageLogger.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/RootMessageLogger.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/RootMessageLogger.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/RootMessageLogger.java Mon Oct  5 10:47:52 2009
@@ -37,6 +37,14 @@
      */
     boolean isMessageEnabled(LogActor actor, LogSubject subject);
 
+    /**
+     * Determine if  the LogActor should be generating log messages.
+     *
+     * @param actor   The actor requesting the logging
+     *
+     * @return boolean true if the message should be logged.
+     */
+    boolean isMessageEnabled(LogActor actor);
 
     /**
      * Log the raw message to the configured logger.

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/RootMessageLoggerImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/RootMessageLoggerImpl.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/RootMessageLoggerImpl.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/RootMessageLoggerImpl.java Mon Oct  5 10:47:52 2009
@@ -40,6 +40,11 @@
         return _enabled;
     }
 
+    public boolean isMessageEnabled(LogActor actor)
+    {
+        return _enabled;
+    }
+
     public void rawMessage(String message)
     {
         _rawLogger.rawMessage(MESSAGE + message);

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java Mon Oct  5 10:47:52 2009
@@ -32,6 +32,10 @@
 
     public AbstractActor(RootMessageLogger rootLogger)
     {
+        if(rootLogger == null)
+        {
+            throw new NullPointerException("RootMessageLogger cannot be null");
+        }
         _rootLogger = rootLogger;
     }
 
@@ -42,4 +46,18 @@
             _rootLogger.rawMessage(_logString + String.valueOf(subject) + message);
         }
     }
+
+    public void message(LogMessage message)
+    {
+        if (_rootLogger.isMessageEnabled(this))
+        {
+            _rootLogger.rawMessage(_logString + message);
+        }
+    }
+
+    public RootMessageLogger getRootMessageLogger()
+    {
+        return _rootLogger;
+    }
+
 }

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages_en_US.properties
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages_en_US.properties?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages_en_US.properties (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages_en_US.properties Mon Oct  5 10:47:52 2009
@@ -235,12 +235,12 @@
 #Connection
 # 0 - Client id
 # 1 - Protocol Version
-CON-1001 = Open : Client ID {0}[ : Protocol Version : {1}]
+CON-1001 = Open[ : Client ID : {0}][ : Protocol Version : {1}]
 CON-1002 = Close
 
 #Channel
-# 0 - count
-CHN-1001 = Create : Prefetch {0, number}
+CHN-1001 = Create
+#  : Prefetch Size {0,number} : Count {1,number}
 # 0 - flow
 CHN-1002 = Flow {0}
 CHN-1003 = Close

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/rawloggers/Log4jMessageLogger.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/rawloggers/Log4jMessageLogger.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/rawloggers/Log4jMessageLogger.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/rawloggers/Log4jMessageLogger.java Mon Oct  5 10:47:52 2009
@@ -41,6 +41,7 @@
         _level = Level.toLevel(level);
 
         _rawMessageLogger = Logger.getLogger(logger);
+        _rawMessageLogger.setLevel(_level);
     }
 
     public void rawMessage(String message)

Propchange: qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/management/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Oct  5 10:47:52 2009
@@ -1,3 +1,3 @@
 /qpid/branches/0.5-release/qpid/java/broker/src/main/java/org/apache/qpid/server/management:757268
 /qpid/branches/jmx_mc_gsoc09/qpid/java/broker/src/main/java/org/apache/qpid/server/management:787599
-/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management:753219-753220,753253,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790,796196-799240
+/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management:753219-753220,753253,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790,796196-800440

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQMinaProtocolSession.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQMinaProtocolSession.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQMinaProtocolSession.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQMinaProtocolSession.java Mon Oct  5 10:47:52 2009
@@ -54,6 +54,10 @@
 import org.apache.qpid.server.handler.ServerMethodDispatcherImpl;
 import org.apache.qpid.server.logging.actors.AMQPConnectionActor;
 import org.apache.qpid.server.logging.actors.CurrentActor;
+import org.apache.qpid.server.logging.subjects.ConnectionLogSubject;
+import org.apache.qpid.server.logging.LogSubject;
+import org.apache.qpid.server.logging.LogActor;
+import org.apache.qpid.server.logging.messages.ConnectionMessages;
 import org.apache.qpid.server.management.Managable;
 import org.apache.qpid.server.management.ManagedObject;
 import org.apache.qpid.server.output.ProtocolOutputConverter;
@@ -139,6 +143,7 @@
     private final long _sessionID = idGenerator.getAndIncrement();
 
     private AMQPConnectionActor _actor;
+    private LogSubject _logSubject;
 
     public ManagedObject getManagedObject()
     {
@@ -156,6 +161,8 @@
 
         _actor = new AMQPConnectionActor(this, virtualHostRegistry.getApplicationRegistry().getRootMessageLogger());
 
+        _actor.message(ConnectionMessages.CON_1001(null, null, false, false));
+
         try
         {
             IoServiceConfig config = session.getServiceConfig();
@@ -171,18 +178,6 @@
         }
     }
 
-    public AMQMinaProtocolSession(IoSession session, VirtualHostRegistry virtualHostRegistry, AMQCodecFactory codecFactory,
-                                  AMQStateManager stateManager) throws AMQException
-    {
-        _stateManager = stateManager;
-        _minaProtocolSession = session;
-        session.setAttachment(this);
-
-        _codecFactory = codecFactory;
-
-        _actor = new AMQPConnectionActor(this, virtualHostRegistry.getApplicationRegistry().getRootMessageLogger());
-    }
-
     private AMQProtocolSessionMBean createMBean() throws AMQException
     {
         try
@@ -211,6 +206,11 @@
         return _sessionID;
     }
 
+    public LogActor getLogActor()
+    {
+        return _actor;
+    }
+
     public void dataBlockReceived(AMQDataBlock message) throws Exception
     {
         _lastReceived = message;
@@ -236,42 +236,54 @@
         int channelId = frame.getChannel();
         AMQBody body = frame.getBodyFrame();
 
-        if (_logger.isDebugEnabled())
+        //Look up the Channel's Actor and set that as the current actor
+        // If that is not available then we can use the ConnectionActor
+        // that is associated with this AMQMPSession.
+        LogActor channelActor = null;
+        if (_channelMap.get(channelId) != null)
         {
-            _logger.debug("Frame Received: " + frame);
+            channelActor = _channelMap.get(channelId).getLogActor();
         }
+        CurrentActor.set(channelActor == null ? _actor : channelActor);
 
-        // Check that this channel is not closing
-        if (channelAwaitingClosure(channelId))
+        try
         {
-            if ((frame.getBodyFrame() instanceof ChannelCloseOkBody))
+            if (_logger.isDebugEnabled())
             {
-                if (_logger.isInfoEnabled())
-                {
-                    _logger.info("Channel[" + channelId + "] awaiting closure - processing close-ok");
-                }
+                _logger.debug("Frame Received: " + frame);
             }
-            else
+
+            // Check that this channel is not closing
+            if (channelAwaitingClosure(channelId))
             {
-                if (_logger.isInfoEnabled())
+                if ((frame.getBodyFrame() instanceof ChannelCloseOkBody))
                 {
-                    _logger.info("Channel[" + channelId + "] awaiting closure. Should close socket as client did not close-ok :" + frame);
+                    if (_logger.isInfoEnabled())
+                    {
+                        _logger.info("Channel[" + channelId + "] awaiting closure - processing close-ok");
+                    }
                 }
+                else
+                {
+                    if (_logger.isInfoEnabled())
+                    {
+                        _logger.info("Channel[" + channelId + "] awaiting closure. Should close socket as client did not close-ok :" + frame);
+                    }
 
-                closeProtocolSession();
-                return;
+                    closeProtocolSession();
+                    return;
+                }
             }
-        }
 
-        CurrentActor.set(_actor);
-        try
-        {
-            body.handle(channelId, this);
-        }
-        catch (AMQException e)
-        {
-            closeChannel(channelId);
-            throw e;
+            try
+            {
+                body.handle(channelId, this);
+            }
+            catch (AMQException e)
+            {
+                closeChannel(channelId);
+                throw e;
+            }
         }
         finally
         {
@@ -285,6 +297,9 @@
         ((AMQDecoder) _codecFactory.getDecoder()).setExpectProtocolInitiation(false);
         try
         {
+            // Log incomming protocol negotiation request
+            _actor.message(ConnectionMessages.CON_1001(null, pi._protocolMajor + "-" + pi._protocolMinor, false, true));
+
             ProtocolVersion pv = pi.checkVersion(); // Fails if not correct
 
             // This sets the protocol version (and hence framing classes) for this session.
@@ -643,6 +658,8 @@
         if (!_closed)
         {
             _closed = true;
+            
+            _actor.message(ConnectionMessages.CON_1002());
 
             if (_virtualHost != null)
             {
@@ -770,7 +787,11 @@
         {
             if (_clientProperties.getString(CLIENT_PROPERTIES_INSTANCE) != null)
             {
-                setContextKey(new AMQShortString(_clientProperties.getString(CLIENT_PROPERTIES_INSTANCE)));
+                String clientID = _clientProperties.getString(CLIENT_PROPERTIES_INSTANCE);
+                setContextKey(new AMQShortString(clientID));
+
+                // Log the Opening of the connection for this client
+                _actor.message(ConnectionMessages.CON_1001(clientID, _protocolVersion.toString(), true, true));
             }
 
             if (_clientProperties.getString(ClientProperties.version.toString()) != null)
@@ -829,6 +850,7 @@
         _virtualHost = virtualHost;
 
         _actor.virtualHostSelected(this);
+        _logSubject = new ConnectionLogSubject(this);
 
         _virtualHost.getConnectionRegistry().registerConnection(this);
 

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolSession.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolSession.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolSession.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolSession.java Mon Oct  5 10:47:52 2009
@@ -29,6 +29,8 @@
 import org.apache.qpid.protocol.AMQVersionAwareProtocolSession;
 import org.apache.qpid.server.AMQChannel;
 import org.apache.qpid.server.PrincipalHolder;
+import org.apache.qpid.server.logging.RootMessageLogger;
+import org.apache.qpid.server.logging.LogActor;
 import org.apache.qpid.server.output.ProtocolOutputConverter;
 import org.apache.qpid.server.virtualhost.VirtualHost;
 
@@ -39,6 +41,8 @@
 {
     long getSessionID();
 
+    LogActor getLogActor();
+
     public static final class ProtocolSessionIdentifier
     {
         private final Object _sessionIdentifier;

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBean.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBean.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBean.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBean.java Mon Oct  5 10:47:52 2009
@@ -65,6 +65,8 @@
 import org.apache.qpid.management.common.mbeans.annotations.MBeanDescription;
 import org.apache.qpid.protocol.AMQConstant;
 import org.apache.qpid.server.AMQChannel;
+import org.apache.qpid.server.logging.actors.CurrentActor;
+import org.apache.qpid.server.logging.LogActor;
 import org.apache.qpid.server.management.AMQManagedObject;
 import org.apache.qpid.server.management.ManagedObject;
 
@@ -185,6 +187,7 @@
      */
     public void commitTransactions(int channelId) throws JMException
     {
+        CurrentActor.set(getLogActor());
         try
         {
             AMQChannel channel = _session.getChannel(channelId);
@@ -199,6 +202,10 @@
         {
             throw new MBeanException(ex, ex.toString());
         }
+        finally
+        {
+            CurrentActor.remove();
+        }
     }
 
     /**
@@ -209,6 +216,7 @@
      */
     public void rollbackTransactions(int channelId) throws JMException
     {
+        CurrentActor.set(getLogActor());
         try
         {
             AMQChannel channel = _session.getChannel(channelId);
@@ -223,6 +231,10 @@
         {
             throw new MBeanException(ex, ex.toString());
         }
+        finally
+        {
+            CurrentActor.remove();
+        }
     }
 
     /**
@@ -269,18 +281,38 @@
                                                          0,
                                                          0);
 
-        _session.writeFrame(responseBody.generateFrame(0));
-
+        CurrentActor.set(getLogActor());
         try
         {
-            _session.closeSession();
+            _session.writeFrame(responseBody.generateFrame(0));
+
+            try
+            {
+
+                _session.closeSession();
+            }
+            catch (AMQException ex)
+            {
+                throw new MBeanException(ex, ex.toString());
+            }
         }
-        catch (AMQException ex)
+        finally
         {
-            throw new MBeanException(ex, ex.toString());
+            CurrentActor.remove();
         }
     }
 
+    /**
+     * Return the LogActor for this MBean Session
+     * //fixme currently simply returning the managed sessions LogActor, should
+     * be the ManagementActor
+     * @return
+     */
+    private LogActor getLogActor()
+    {
+        return _session.getLogActor();
+    }
+
     @Override
     public MBeanNotificationInfo[] getNotificationInfo()
     {

Propchange: qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Oct  5 10:47:52 2009
@@ -1,3 +1,3 @@
 /qpid/branches/0.5-release/qpid/java/broker/src/main/java/org/apache/qpid/server/queue:757257
 /qpid/branches/jmx_mc_gsoc09/qpid/java/broker/src/main/java/org/apache/qpid/server/queue:787599
-/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue:753219-753220,753253,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790,796196-799240
+/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue:753219-753220,753253,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790,796196-800440

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java Mon Oct  5 10:47:52 2009
@@ -88,7 +88,7 @@
 
     private final Timer _houseKeepingTimer;
     private VirtualHostConfiguration _configuration;
-     
+
     public void setAccessableName(String name)
     {
         _logger.warn("Setting Accessable Name for VirualHost is not allowed. ("
@@ -386,11 +386,6 @@
         return _exchangeFactory;
     }
 
-    public ApplicationRegistry getApplicationRegistry()
-    {
-        throw new UnsupportedOperationException();
-    }
-
     public MessageStore getMessageStore()
     {
         return _messageStore;

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java Mon Oct  5 10:47:52 2009
@@ -35,6 +35,7 @@
 import org.apache.qpid.server.RequiredDeliveryException;
 import org.apache.qpid.server.message.InboundMessage;
 import org.apache.qpid.server.message.ServerMessage;
+import org.apache.qpid.server.virtualhost.VirtualHost;
 import org.apache.qpid.server.subscription.Subscription;
 import org.apache.qpid.server.protocol.AMQProtocolSession;
 import org.apache.log4j.Logger;
@@ -475,14 +476,14 @@
                                                                          new LinkedList<RequiredDeliveryException>()
         );
 
-        Message(String id, String... headers) throws AMQException
+        Message(AMQProtocolSession protocolSession, String id, String... headers) throws AMQException
         {
-            this(id, getHeaders(headers));
+            this(protocolSession, id, getHeaders(headers));
         }
 
-        Message(String id, FieldTable headers) throws AMQException
+        Message(AMQProtocolSession protocolSession, String id, FieldTable headers) throws AMQException
         {
-            this(_messageStore.getNewMessageId(),getPublishRequest(id), getContentHeader(headers), null);
+            this(protocolSession, _messageStore.getNewMessageId(),getPublishRequest(id), getContentHeader(headers), null);
         }
 
         public IncomingMessage getIncomingMessage()
@@ -490,7 +491,7 @@
             return _incoming;
         }
 
-        private Message(long messageId,
+        private Message(AMQProtocolSession protocolsession, long messageId,
                         MessagePublishInfo publish,
                         ContentHeaderBody header,
                         List<ContentBody> bodies) throws AMQException
@@ -499,7 +500,7 @@
 
 
             
-            _incoming = new TestIncomingMessage(getMessageId(),publish,_txnContext,new MockProtocolSession(_messageStore));
+            _incoming = new TestIncomingMessage(getMessageId(),publish, _txnContext, protocolsession);
             _incoming.setContentHeaderBody(header);
 
 

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/DestWildExchangeTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/DestWildExchangeTest.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/DestWildExchangeTest.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/DestWildExchangeTest.java Mon Oct  5 10:47:52 2009
@@ -57,7 +57,7 @@
         _vhost = ApplicationRegistry.getInstance().getVirtualHostRegistry().getVirtualHosts().iterator().next();
         _store = new MemoryMessageStore();
         _context = new StoreContext();
-        _protocolSession = new InternalTestProtocolSession();
+        _protocolSession = new InternalTestProtocolSession(_vhost);
     }
 
     public void tearDown()

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java Mon Oct  5 10:47:52 2009
@@ -23,14 +23,21 @@
 import org.apache.qpid.AMQException;
 import org.apache.qpid.server.registry.ApplicationRegistry;
 import org.apache.qpid.server.util.NullApplicationRegistry;
-import org.apache.qpid.framing.BasicPublishBody;
+import org.apache.qpid.server.virtualhost.VirtualHost;
+import org.apache.qpid.server.protocol.InternalTestProtocolSession;
+import org.apache.qpid.server.protocol.AMQProtocolSession;
 
 public class HeadersExchangeTest extends AbstractHeadersExchangeTestBase
 {
+    AMQProtocolSession _protocolSession;
+
     protected void setUp() throws Exception
     {
         super.setUp();
         ApplicationRegistry.initialise(new NullApplicationRegistry(), 1);
+        // Just use the first vhost.
+        VirtualHost virtualHost = ApplicationRegistry.getInstance(1).getVirtualHostRegistry().getVirtualHosts().iterator().next();
+        _protocolSession = new InternalTestProtocolSession(virtualHost);
     }
 
     protected void tearDown()
@@ -49,21 +56,21 @@
         TestQueue q7 = bindDefault("F0000", "F0001=Bear");
         TestQueue q8 = bindDefault("F0000=Aardvark", "F0001");
 
-        routeAndTest(new Message("Message1", "F0000"), q1);
-        routeAndTest(new Message("Message2", "F0000=Aardvark"), q1, q2);
-        routeAndTest(new Message("Message3", "F0000=Aardvark", "F0001"), q1, q2, q3, q5, q8);
-        routeAndTest(new Message("Message4", "F0000", "F0001=Bear"), q1, q3, q4, q5, q7);
-        routeAndTest(new Message("Message5", "F0000=Aardvark", "F0001=Bear"),
+        routeAndTest(new Message(_protocolSession, "Message1", "F0000"), q1);
+        routeAndTest(new Message(_protocolSession, "Message2", "F0000=Aardvark"), q1, q2);
+        routeAndTest(new Message(_protocolSession, "Message3", "F0000=Aardvark", "F0001"), q1, q2, q3, q5, q8);
+        routeAndTest(new Message(_protocolSession, "Message4", "F0000", "F0001=Bear"), q1, q3, q4, q5, q7);
+        routeAndTest(new Message(_protocolSession, "Message5", "F0000=Aardvark", "F0001=Bear"),
                      q1, q2, q3, q4, q5, q6, q7, q8);
-        routeAndTest(new Message("Message6", "F0002"));
+        routeAndTest(new Message(_protocolSession, "Message6", "F0002"));
 
-        Message m7 = new Message("Message7", "XXXXX");
+        Message m7 = new Message(_protocolSession, "Message7", "XXXXX");
 
         MessagePublishInfoImpl pb7 = (MessagePublishInfoImpl) (m7.getMessagePublishInfo());
         pb7.setMandatory(true);
         routeAndTest(m7,true);
 
-        Message m8 = new Message("Message8", "F0000");
+        Message m8 = new Message(_protocolSession, "Message8", "F0000");
         MessagePublishInfoImpl pb8 = (MessagePublishInfoImpl)(m8.getMessagePublishInfo());
         pb8.setMandatory(true);
         routeAndTest(m8,false,q1);
@@ -79,19 +86,19 @@
         TestQueue q4 = bindDefault("F0000=Aardvark", "F0001", "X-match=any");
         TestQueue q6 = bindDefault("F0000=Apple", "F0001", "X-match=any");
 
-        routeAndTest(new Message("Message1", "F0000"), q1, q3);
-        routeAndTest(new Message("Message2", "F0000=Aardvark"), q1, q2, q3, q4);
-        routeAndTest(new Message("Message3", "F0000=Aardvark", "F0001"), q1, q2, q3, q4, q6);
-        routeAndTest(new Message("Message4", "F0000", "F0001=Bear"), q1, q2, q3, q4, q6);
-        routeAndTest(new Message("Message5", "F0000=Aardvark", "F0001=Bear"), q1, q2, q3, q4, q6);
-        routeAndTest(new Message("Message6", "F0002"));
+        routeAndTest(new Message(_protocolSession, "Message1", "F0000"), q1, q3);
+        routeAndTest(new Message(_protocolSession, "Message2", "F0000=Aardvark"), q1, q2, q3, q4);
+        routeAndTest(new Message(_protocolSession, "Message3", "F0000=Aardvark", "F0001"), q1, q2, q3, q4, q6);
+        routeAndTest(new Message(_protocolSession, "Message4", "F0000", "F0001=Bear"), q1, q2, q3, q4, q6);
+        routeAndTest(new Message(_protocolSession, "Message5", "F0000=Aardvark", "F0001=Bear"), q1, q2, q3, q4, q6);
+        routeAndTest(new Message(_protocolSession, "Message6", "F0002"));
     }
 
     public void testMandatory() throws AMQException
     {
         bindDefault("F0000");
-        Message m1 = new Message("Message1", "XXXXX");
-        Message m2 = new Message("Message2", "F0000");
+        Message m1 = new Message(_protocolSession, "Message1", "XXXXX");
+        Message m2 = new Message(_protocolSession, "Message2", "F0000");
         MessagePublishInfoImpl pb1 = (MessagePublishInfoImpl) (m1.getMessagePublishInfo());
         pb1.setMandatory(true);
         MessagePublishInfoImpl pb2 = (MessagePublishInfoImpl) (m2.getMessagePublishInfo());

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPChannelActorTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPChannelActorTest.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPChannelActorTest.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPChannelActorTest.java Mon Oct  5 10:47:52 2009
@@ -27,11 +27,9 @@
 import org.apache.qpid.AMQException;
 import org.apache.qpid.server.configuration.ServerConfiguration;
 import org.apache.qpid.server.protocol.AMQProtocolSession;
-import org.apache.qpid.server.queue.MockProtocolSession;
+import org.apache.qpid.server.protocol.InternalTestProtocolSession;
 import org.apache.qpid.server.registry.ApplicationRegistry;
-import org.apache.qpid.server.store.MemoryMessageStore;
 import org.apache.qpid.server.virtualhost.VirtualHost;
-import org.apache.qpid.server.logging.actors.AMQPConnectionActor;
 import org.apache.qpid.server.logging.rawloggers.UnitTestMessageLogger;
 import org.apache.qpid.server.logging.RootMessageLogger;
 import org.apache.qpid.server.logging.RootMessageLoggerImpl;
@@ -56,38 +54,33 @@
 
     LogActor _amqpActor;
     UnitTestMessageLogger _rawLogger;
+    AMQProtocolSession _session;
+    AMQChannel _channel;
 
     public void setUp() throws ConfigurationException, AMQException
     {
         Configuration config = new PropertiesConfiguration();
         ServerConfiguration serverConfig = new ServerConfiguration(config);
 
+        setUpWithConfig(serverConfig);
+    }
+
+    private void setUpWithConfig(ServerConfiguration serverConfig) throws AMQException
+    {
         _rawLogger = new UnitTestMessageLogger();
         RootMessageLogger rootLogger =
                 new RootMessageLoggerImpl(serverConfig, _rawLogger);
 
+        VirtualHost virtualHost = ApplicationRegistry.getInstance().
+                    getVirtualHostRegistry().getVirtualHosts().iterator().next();
+
         // Create a single session for this test.
-        // Re-use is ok as we are testing the LogActor object is set correctly,
-        // not the value of the output.
-        AMQProtocolSession session = new MockProtocolSession(new MemoryMessageStore());
-        // Use the first Virtualhost that has been defined to initialise
-        // the MockProtocolSession. This prevents a NPE when the
-        // AMQPActor attempts to lookup the name of the VHost.
-        try
-        {
-            session.setVirtualHost(ApplicationRegistry.getInstance().
-                    getVirtualHostRegistry().getVirtualHosts().
-                    toArray(new VirtualHost[1])[0]);
-        }
-        catch (AMQException e)
-        {
-            fail("Unable to set virtualhost on session:" + e.getMessage());
-        }
+        _session = new InternalTestProtocolSession(virtualHost);
 
 
-        AMQChannel channel = new AMQChannel(session, 1, session.getVirtualHost().getMessageStore());
+        _channel = new AMQChannel(_session, 1, _session.getVirtualHost().getMessageStore());
 
-        _amqpActor = new AMQPChannelActor(channel, rootLogger);
+        _amqpActor = new AMQPChannelActor(_channel, rootLogger);
 
     }
 
@@ -105,22 +98,7 @@
      */
     public void testChannel()
     {
-        final String message = "test logging";
-
-        _amqpActor.message(new LogSubject()
-        {
-            public String toString()
-            {
-                return "[AMQPActorTest]";
-            }
-
-        }, new LogMessage()
-        {
-            public String toString()
-            {
-                return message;
-            }
-        });
+        final String message = sendTestMessage();
 
         List<Object> logs = _rawLogger.getLogMessages();
 
@@ -146,40 +124,12 @@
 
     }
 
-    public void testChannelLoggingOff() throws ConfigurationException, AMQException
+    /**
+     * Log a message using the test Actor
+     * @return the logged message
+     */
+    private String sendTestMessage()
     {
-        Configuration config = new PropertiesConfiguration();
-        config.addProperty("status-updates", "OFF");
-
-        ServerConfiguration serverConfig = new ServerConfiguration(config);
-
-        _rawLogger = new UnitTestMessageLogger();
-        RootMessageLogger rootLogger =
-                new RootMessageLoggerImpl(serverConfig, _rawLogger);
-
-        // Create a single session for this test.
-        // Re-use is ok as we are testing the LogActor object is set correctly,
-        // not the value of the output.
-        AMQProtocolSession session = new MockProtocolSession(new MemoryMessageStore());
-        // Use the first Virtualhost that has been defined to initialise
-        // the MockProtocolSession. This prevents a NPE when the
-        // AMQPActor attempts to lookup the name of the VHost.
-        try
-        {
-            session.setVirtualHost(ApplicationRegistry.getInstance().
-                    getVirtualHostRegistry().getVirtualHosts().
-                    toArray(new VirtualHost[1])[0]);
-        }
-        catch (AMQException e)
-        {
-            fail("Unable to set virtualhost on session:" + e.getMessage());
-        }
-
-
-        AMQChannel channel = new AMQChannel(session, 1, session.getVirtualHost().getMessageStore());
-
-        _amqpActor = new AMQPChannelActor(channel, rootLogger);
-
         final String message = "test logging";
 
         _amqpActor.message(new LogSubject()
@@ -196,6 +146,152 @@
                 return message;
             }
         });
+        return message;
+    }
+
+    /**
+     * Test that if logging is configured to be off in the configuration that
+     * no logging is presented
+     * @throws ConfigurationException
+     * @throws AMQException
+     */
+    public void testChannelLoggingOFF() throws ConfigurationException, AMQException
+    {
+        Configuration config = new PropertiesConfiguration();
+        config.addProperty("status-updates", "OFF");
+
+        ServerConfiguration serverConfig = new ServerConfiguration(config);
+
+        _rawLogger = new UnitTestMessageLogger();
+
+        setUpWithConfig(serverConfig);
+
+        sendTestMessage();
+
+        List<Object> logs = _rawLogger.getLogMessages();
+
+        assertEquals("Message log size not as expected.", 0, logs.size());
+
+    }
+
+      /**
+     * Test that if logging is configured to be off in the configuration that
+     * no logging is presented
+     * @throws ConfigurationException
+     * @throws AMQException
+     */
+    public void testChannelLoggingOfF() throws ConfigurationException, AMQException
+    {
+        Configuration config = new PropertiesConfiguration();
+        config.addProperty("status-updates", "OfF");
+
+        ServerConfiguration serverConfig = new ServerConfiguration(config);
+
+        _rawLogger = new UnitTestMessageLogger();
+
+        setUpWithConfig(serverConfig);
+
+        sendTestMessage();
+
+        List<Object> logs = _rawLogger.getLogMessages();
+
+        assertEquals("Message log size not as expected.", 0, logs.size());
+
+    }
+
+    /**
+     * Test that if logging is configured to be off in the configuration that
+     * no logging is presented
+     * @throws ConfigurationException
+     * @throws AMQException
+     */
+    public void testChannelLoggingOff() throws ConfigurationException, AMQException
+    {
+        Configuration config = new PropertiesConfiguration();
+        config.addProperty("status-updates", "Off");
+
+        ServerConfiguration serverConfig = new ServerConfiguration(config);
+
+        _rawLogger = new UnitTestMessageLogger();
+
+        setUpWithConfig(serverConfig);
+
+        sendTestMessage();
+
+        List<Object> logs = _rawLogger.getLogMessages();
+
+        assertEquals("Message log size not as expected.", 0, logs.size());
+
+    }
+
+    /**
+     * Test that if logging is configured to be off in the configuration that
+     * no logging is presented
+     * @throws ConfigurationException
+     * @throws AMQException
+     */
+    public void testChannelLoggingofF() throws ConfigurationException, AMQException
+    {
+        Configuration config = new PropertiesConfiguration();
+        config.addProperty("status-updates", "ofF");
+
+        ServerConfiguration serverConfig = new ServerConfiguration(config);
+
+        _rawLogger = new UnitTestMessageLogger();
+
+        setUpWithConfig(serverConfig);
+
+        sendTestMessage();
+
+        List<Object> logs = _rawLogger.getLogMessages();
+
+        assertEquals("Message log size not as expected.", 0, logs.size());
+
+    }
+
+    /**
+     * Test that if logging is configured to be off in the configuration that
+     * no logging is presented
+     * @throws ConfigurationException
+     * @throws AMQException
+     */
+    public void testChannelLoggingoff() throws ConfigurationException, AMQException
+    {
+        Configuration config = new PropertiesConfiguration();
+        config.addProperty("status-updates", "off");
+
+        ServerConfiguration serverConfig = new ServerConfiguration(config);
+
+        _rawLogger = new UnitTestMessageLogger();
+
+        setUpWithConfig(serverConfig);
+
+        sendTestMessage();
+
+        List<Object> logs = _rawLogger.getLogMessages();
+
+        assertEquals("Message log size not as expected.", 0, logs.size());
+
+    }
+
+    /**
+     * Test that if logging is configured to be off in the configuration that
+     * no logging is presented
+     * @throws ConfigurationException
+     * @throws AMQException
+     */
+    public void testChannelLoggingoFf() throws ConfigurationException, AMQException
+    {
+        Configuration config = new PropertiesConfiguration();
+        config.addProperty("status-updates", "oFf");
+
+        ServerConfiguration serverConfig = new ServerConfiguration(config);
+
+        _rawLogger = new UnitTestMessageLogger();
+
+        setUpWithConfig(serverConfig);
+
+        sendTestMessage();
 
         List<Object> logs = _rawLogger.getLogMessages();
 

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPConnectionActorTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPConnectionActorTest.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPConnectionActorTest.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPConnectionActorTest.java Mon Oct  5 10:47:52 2009
@@ -26,18 +26,16 @@
 import org.apache.commons.configuration.PropertiesConfiguration;
 import org.apache.qpid.AMQException;
 import org.apache.qpid.server.configuration.ServerConfiguration;
+import org.apache.qpid.server.logging.LogActor;
+import org.apache.qpid.server.logging.LogMessage;
+import org.apache.qpid.server.logging.LogSubject;
+import org.apache.qpid.server.logging.RootMessageLogger;
+import org.apache.qpid.server.logging.RootMessageLoggerImpl;
+import org.apache.qpid.server.logging.rawloggers.UnitTestMessageLogger;
 import org.apache.qpid.server.protocol.AMQProtocolSession;
-import org.apache.qpid.server.queue.MockProtocolSession;
+import org.apache.qpid.server.protocol.InternalTestProtocolSession;
 import org.apache.qpid.server.registry.ApplicationRegistry;
-import org.apache.qpid.server.store.MemoryMessageStore;
 import org.apache.qpid.server.virtualhost.VirtualHost;
-import org.apache.qpid.server.logging.actors.AMQPConnectionActor;
-import org.apache.qpid.server.logging.rawloggers.UnitTestMessageLogger;
-import org.apache.qpid.server.logging.RootMessageLogger;
-import org.apache.qpid.server.logging.RootMessageLoggerImpl;
-import org.apache.qpid.server.logging.LogSubject;
-import org.apache.qpid.server.logging.LogMessage;
-import org.apache.qpid.server.logging.LogActor;
 
 import java.util.List;
 
@@ -56,41 +54,34 @@
     LogActor _amqpActor;
     UnitTestMessageLogger _rawLogger;
 
-    public void setUp() throws ConfigurationException
+    public void setUp() throws ConfigurationException, AMQException
     {
         Configuration config = new PropertiesConfiguration();
         ServerConfiguration serverConfig = new ServerConfiguration(config);
 
+        setUpWithConfig(serverConfig);
+    }
+
+    public void tearDown()
+    {
+        _rawLogger.clearLogMessages();
+    }
+
+    private void setUpWithConfig(ServerConfiguration serverConfig) throws AMQException
+    {
         _rawLogger = new UnitTestMessageLogger();
         RootMessageLogger rootLogger =
                 new RootMessageLoggerImpl(serverConfig, _rawLogger);
 
+        VirtualHost virtualHost = ApplicationRegistry.getInstance().
+                getVirtualHostRegistry().getVirtualHosts().iterator().next();
+
         // Create a single session for this test.
-        // Re-use is ok as we are testing the LogActor object is set correctly,
-        // not the value of the output.
-        AMQProtocolSession session = new MockProtocolSession(new MemoryMessageStore());
-        // Use the first Virtualhost that has been defined to initialise
-        // the MockProtocolSession. This prevents a NPE when the
-        // AMQPActor attempts to lookup the name of the VHost.
-        try
-        {
-            session.setVirtualHost(ApplicationRegistry.getInstance().
-                    getVirtualHostRegistry().getVirtualHosts().
-                    toArray(new VirtualHost[1])[0]);
-        }
-        catch (AMQException e)
-        {
-            fail("Unable to set virtualhost on session:" + e.getMessage());
-        }
+        AMQProtocolSession session = new InternalTestProtocolSession(virtualHost);
 
         _amqpActor = new AMQPConnectionActor(session, rootLogger);
     }
 
-    public void tearDown()
-    {
-        _rawLogger.clearLogMessages();
-    }
-
     /**
      * Test the AMQPActor logging as a Connection level.
      *
@@ -98,26 +89,10 @@
      *
      * The log message should be fully repalaced (no '{n}' values) and should
      * not contain any channel identification.
-     *
      */
     public void testConnection()
     {
-        final String message = "test logging";
-
-        _amqpActor.message(new LogSubject()
-        {
-            public String toString()
-            {
-                return "[AMQPActorTest]";
-            }
-
-        }, new LogMessage()
-        {
-            public String toString()
-            {
-                return message;
-            }
-        });
+        final String message = sendLogMessage();
 
         List<Object> logs = _rawLogger.getLogMessages();
 
@@ -129,7 +104,7 @@
 
         // Verify that the message has the correct type
         assertTrue("Message contains the [con: prefix",
-                   logs.get(0).toString().contains("[con:"));        
+                   logs.get(0).toString().contains("[con:"));
 
         // Verify that all the values were presented to the MessageFormatter
         // so we will not end up with '{n}' entries in the log.
@@ -138,11 +113,9 @@
 
         // Verify that the logged message does not contains the 'ch:' marker
         assertFalse("Message was logged with a channel identifier." + logs.get(0),
-                   logs.get(0).toString().contains("/ch:"));
+                    logs.get(0).toString().contains("/ch:"));
     }
 
-
-
     public void testConnectionLoggingOff() throws ConfigurationException, AMQException
     {
         Configuration config = new PropertiesConfiguration();
@@ -150,31 +123,18 @@
 
         ServerConfiguration serverConfig = new ServerConfiguration(config);
 
-        _rawLogger = new UnitTestMessageLogger();
-        RootMessageLogger rootLogger =
-                new RootMessageLoggerImpl(serverConfig, _rawLogger);
+        setUpWithConfig(serverConfig);
 
-        // Create a single session for this test.
-        // Re-use is ok as we are testing the LogActor object is set correctly,
-        // not the value of the output.
-        AMQProtocolSession session = new MockProtocolSession(new MemoryMessageStore());
-        // Use the first Virtualhost that has been defined to initialise
-        // the MockProtocolSession. This prevents a NPE when the
-        // AMQPActor attempts to lookup the name of the VHost.
-        try
-        {
-            session.setVirtualHost(ApplicationRegistry.getInstance().
-                    getVirtualHostRegistry().getVirtualHosts().
-                    toArray(new VirtualHost[1])[0]);
-        }
-        catch (AMQException e)
-        {
-            fail("Unable to set virtualhost on session:" + e.getMessage());
-        }
+        sendLogMessage();
 
+        List<Object> logs = _rawLogger.getLogMessages();
 
-        _amqpActor = new AMQPConnectionActor(session, rootLogger);
+        assertEquals("Message log size not as expected.", 0, logs.size());
+
+    }
 
+    private String sendLogMessage()
+    {
         final String message = "test logging";
 
         _amqpActor.message(new LogSubject()
@@ -191,12 +151,7 @@
                 return message;
             }
         });
-
-        List<Object> logs = _rawLogger.getLogMessages();
-
-        assertEquals("Message log size not as expected.", 0, logs.size());
-
+        return message;
     }
 
-
 }

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/CurrentActorTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/CurrentActorTest.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/CurrentActorTest.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/CurrentActorTest.java Mon Oct  5 10:47:52 2009
@@ -26,9 +26,8 @@
 import org.apache.qpid.server.logging.LogMessage;
 import org.apache.qpid.server.logging.LogSubject;
 import org.apache.qpid.server.protocol.AMQProtocolSession;
-import org.apache.qpid.server.queue.MockProtocolSession;
+import org.apache.qpid.server.protocol.InternalTestProtocolSession;
 import org.apache.qpid.server.registry.ApplicationRegistry;
-import org.apache.qpid.server.store.MemoryMessageStore;
 import org.apache.qpid.server.virtualhost.VirtualHost;
 
 /**
@@ -61,27 +60,16 @@
     final Exception[] _errors = new Exception[THREADS];
 
     // Create a single session for this test.
-    AMQProtocolSession session;
+    AMQProtocolSession _session;
 
-    public void setUp()
+    public void setUp() throws AMQException
     {
         // Create a single session for this test.
-        // Re-use is ok as we are testing the LogActor object is set correctly,
-        // not the value of the output.
-        session = new MockProtocolSession(new MemoryMessageStore());
-        // Use the first Virtualhost that has been defined to initialise
-        // the MockProtocolSession. This prevents a NPE when the
-        // AMQPActor attempts to lookup the name of the VHost.
-        try
-        {
-            session.setVirtualHost(ApplicationRegistry.getInstance().
-                    getVirtualHostRegistry().getVirtualHosts().
-                    toArray(new VirtualHost[1])[0]);
-        }
-        catch (AMQException e)
-        {
-            fail("Unable to set virtualhost on session:" + e.getMessage());
-        }
+        VirtualHost virtualHost = ApplicationRegistry.getInstance().
+                getVirtualHostRegistry().getVirtualHosts().iterator().next();
+
+        // Create a single session for this test.
+        _session = new InternalTestProtocolSession(virtualHost);
     }
 
     public void testFIFO() throws AMQException
@@ -89,7 +77,7 @@
         // Create a new actor using retrieving the rootMessageLogger from
         // the default ApplicationRegistry.
         //fixme reminder that we need a better approach for broker testing.
-        AMQPConnectionActor connectionActor = new AMQPConnectionActor(session,
+        AMQPConnectionActor connectionActor = new AMQPConnectionActor(_session,
                                                                       ApplicationRegistry.getInstance().
                                                                               getRootMessageLogger());
 
@@ -120,7 +108,7 @@
          * to push the actor on to the stack
          */
 
-        AMQChannel channel = new AMQChannel(session, 1, session.getVirtualHost().getMessageStore());
+        AMQChannel channel = new AMQChannel(_session, 1, _session.getVirtualHost().getMessageStore());
 
         AMQPChannelActor channelActor = new AMQPChannelActor(channel,
                                                              ApplicationRegistry.getInstance().
@@ -218,7 +206,7 @@
             // Create a new actor using retrieving the rootMessageLogger from
             // the default ApplicationRegistry.
             //fixme reminder that we need a better approach for broker testing.
-            AMQPConnectionActor actor = new AMQPConnectionActor(session,
+            AMQPConnectionActor actor = new AMQPConnectionActor(_session,
                                                                 ApplicationRegistry.getInstance().
                                                                         getRootMessageLogger());
 

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ChannelMessagesTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ChannelMessagesTest.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ChannelMessagesTest.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ChannelMessagesTest.java Mon Oct  5 10:47:52 2009
@@ -27,15 +27,12 @@
 {
     public void testMessage1001()
     {
-        Integer prefetch = 12345;
-
-        _logMessage = ChannelMessages.CHN_1001(prefetch);
+        _logMessage = ChannelMessages.CHN_1001();
         List<Object> log = performLog();
 
         // We use the MessageFormat here as that is what the ChannelMessage
         // will do, this makes the resulting value 12,345
-        String[] expected = {"Create", "Prefetch",
-                             MessageFormat.format("{0, number}", prefetch)};
+        String[] expected = {"Create"};
 
         validateLogMessage(log, "CHN-1001", expected);
     }

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ConnectionMessagesTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ConnectionMessagesTest.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ConnectionMessagesTest.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ConnectionMessagesTest.java Mon Oct  5 10:47:52 2009
@@ -24,12 +24,12 @@
 
 public class ConnectionMessagesTest extends AbstractTestMessages
 {
-    public void testMessage1001_WithProtocolVersion()
+    public void testMessage1001_WithClientIDProtocolVersion()
     {
         String clientID = "client";
         String protocolVersion = "8-0";
 
-        _logMessage = ConnectionMessages.CON_1001(clientID, protocolVersion, true);
+        _logMessage = ConnectionMessages.CON_1001(clientID, protocolVersion, true , true);
         List<Object> log = performLog();
 
         String[] expected = {"Open :", "Client ID", clientID,
@@ -38,11 +38,11 @@
         validateLogMessage(log, "CON-1001", expected);
     }
 
-    public void testMessage1001_NoProtocolVersion()
+    public void testMessage1001_WithClientIDNoProtocolVersion()
     {
         String clientID = "client";        
 
-        _logMessage = ConnectionMessages.CON_1001(clientID, null, false);
+        _logMessage = ConnectionMessages.CON_1001(clientID, null,true, false);
         List<Object> log = performLog();
 
         String[] expected = {"Open :", "Client ID", clientID};
@@ -50,6 +50,29 @@
         validateLogMessage(log, "CON-1001", expected);
     }
 
+    public void testMessage1001_WithNOClientIDProtocolVersion()
+    {
+        String protocolVersion = "8-0";
+
+        _logMessage = ConnectionMessages.CON_1001(null, protocolVersion, false , true);
+        List<Object> log = performLog();
+
+        String[] expected = {"Open", ": Protocol Version :", protocolVersion};
+
+        validateLogMessage(log, "CON-1001", expected);
+    }
+
+    public void testMessage1001_WithNoClientIDNoProtocolVersion()
+    {
+        _logMessage = ConnectionMessages.CON_1001(null, null,false, false);
+        List<Object> log = performLog();
+
+        String[] expected = {"Open"};
+
+        validateLogMessage(log, "CON-1001", expected);
+    }
+
+
 
     public void testMessage1002()
     {

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/rawloggers/Log4jMessageLoggerTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/rawloggers/Log4jMessageLoggerTest.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/rawloggers/Log4jMessageLoggerTest.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/rawloggers/Log4jMessageLoggerTest.java Mon Oct  5 10:47:52 2009
@@ -77,10 +77,8 @@
      * Verify that the default configuraion of Log4jMessageLogger will
      * log a message.
      *
-     * @throws IOException
-     * @throws InterruptedException
      */
-    public void testDefaultLogsMessage() throws IOException, InterruptedException
+    public void testDefaultLogsMessage()
     {
         // Create a logger to test
         Log4jMessageLogger logger = new Log4jMessageLogger();
@@ -95,28 +93,17 @@
     }
 
     /**
-     * This test checks that if the Root Logger level is set such that the INFO
-     * messages would not be logged then the  Log4jMessageLogger default of INFO
-     * will result in logging not being presented.
+     * This test verifies that the Log4jMessageLogger does not inherit a logging
+     * level from the RootLogger. The Log4jMessageLogger default of INFO
+     * will result in logging being presented.
      *
-     * @throws IOException
-     * @throws InterruptedException
      */
-    public void testDefaultsLogsAtInfo() throws IOException, InterruptedException
+    public void testLoggerDoesNotInheritRootLevel()
     {
-        // Create a logger to test
-        Log4jMessageLogger logger = new Log4jMessageLogger();
-
-        //Create Message for test
-        String message = "testDefaults";
-
         //Set default logger level to off
-        Logger.getRootLogger().setLevel(Level.WARN);
+        Logger.getRootLogger().setLevel(Level.OFF);
 
-        // Log the message
-        logger.rawMessage(message);
-
-        verifyNoLog(message);
+        testDefaultLogsMessage();
     }
 
     /**
@@ -125,10 +112,8 @@
      * Test this by setting the default logger level to off which has been
      * verified to work by test 'testDefaultsLevelObeyed'
      *
-     * @throws IOException
-     * @throws InterruptedException
      */
-    public void testDefaultLoggerAdjustment() throws IOException, InterruptedException
+    public void testDefaultLoggerAdjustment()
     {
         String loggerName = "TestLogger";
         // Create a logger to test
@@ -150,41 +135,6 @@
         Logger.getLogger(Log4jMessageLogger.DEFAULT_LOGGER).setLevel(originalLevel);
     }
 
-    /**
-     * Test that changing the log level has an effect.
-     * Set the level to be debug
-     * but only set the logger to log at INFO
-     * there should be no data printed
-     * subsequently changing the root logger to allow DEBUG should
-     * show the message
-     *
-     * @throws IOException
-     * @throws InterruptedException
-     */
-    public void testDefaultsLevelObeyed() throws IOException, InterruptedException
-    {
-        // Create a logger to test
-        Log4jMessageLogger logger = new Log4jMessageLogger("DEBUG", Log4jMessageLogger.DEFAULT_LOGGER);
-
-        //Create Message for test
-        String message = "testDefaults";
-
-        //Set root logger to INFO only
-        Logger.getRootLogger().setLevel(Level.INFO);
-
-        // Log the message
-        logger.rawMessage(message);
-
-        verifyNoLog(message);
-
-        //Set root logger to INFO only
-        Logger.getRootLogger().setLevel(Level.DEBUG);
-
-        // Log the message
-        logger.rawMessage(message);
-
-        verifyLogPresent(message);
-    }
 
     /**
      * Check that the Log Message reached log4j

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java Mon Oct  5 10:47:52 2009
@@ -36,6 +36,9 @@
 import org.apache.qpid.server.logging.rawloggers.UnitTestMessageLogger;
 import org.apache.qpid.server.queue.AMQQueue;
 import org.apache.qpid.server.virtualhost.VirtualHost;
+import org.apache.qpid.server.registry.ApplicationRegistry;
+import org.apache.qpid.server.protocol.InternalTestProtocolSession;
+import org.apache.qpid.server.protocol.AMQProtocolSession;
 
 import java.util.List;
 
@@ -44,6 +47,19 @@
     protected Configuration _config = new PropertiesConfiguration();
     protected LogSubject _subject = null;
 
+    AMQProtocolSession _session;
+
+    public void setUp() throws Exception
+    {
+        super.setUp();
+
+        VirtualHost virtualHost = ApplicationRegistry.getInstance().
+                getVirtualHostRegistry().getVirtualHosts().iterator().next();
+
+        // Create a single session for this test.
+        _session = new InternalTestProtocolSession(virtualHost);
+    }
+
     protected List<Object> performLog() throws ConfigurationException
     {
         if (_subject == null)
@@ -96,15 +112,19 @@
         assertEquals("Username not as expected", userNameParts[0], user);
 
         // Extract IP.
+        // The connection will be of the format - guest@/127.0.0.1:1/test
+        // and so our userNamePart will be '/127.0.0.1:1/test'
         String[] ipParts = userNameParts[1].split("/");
 
+        // We will have three sections
         assertEquals("Unable to split IP from rest of Connection:"
-                     + userNameParts[1], 2, ipParts.length);
+                     + userNameParts[1], 3, ipParts.length);
 
-        assertEquals("IP not as expected", ipParts[0], ipString);
+        // We need to skip the first '/' split will be empty so validate 1 as IP
+        assertEquals("IP not as expected", ipString, ipParts[1]);
 
-        //Finally check vhost
-        assertEquals("Virtualhost name not as expected.", vhost, ipParts[1]);
+        //Finally check vhost which is section 2
+        assertEquals("Virtualhost name not as expected.", vhost, ipParts[2]);
     }
 
     /**
@@ -172,7 +192,7 @@
      * @param message the message to search
      * @param vhost   the vhostName to check against
      */
-    protected void verifyVirtualHost(String message, VirtualHost vhost)
+    static public void verifyVirtualHost(String message, VirtualHost vhost)
     {
         String vhostSlice = getSlice("vh", message);
 
@@ -199,7 +219,7 @@
      *
      * @return the slice if found otherwise null is returned
      */
-    protected String getSlice(String sliceID, String message)
+    static public String getSlice(String sliceID, String message)
     {
         int indexOfSlice = message.indexOf(sliceID + "(");
 

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ChannelLogSubjectTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ChannelLogSubjectTest.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ChannelLogSubjectTest.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ChannelLogSubjectTest.java Mon Oct  5 10:47:52 2009
@@ -20,13 +20,7 @@
  */
 package org.apache.qpid.server.logging.subjects;
 
-import org.apache.qpid.AMQException;
 import org.apache.qpid.server.AMQChannel;
-import org.apache.qpid.server.protocol.AMQProtocolSession;
-import org.apache.qpid.server.queue.MockProtocolSession;
-import org.apache.qpid.server.registry.ApplicationRegistry;
-import org.apache.qpid.server.store.MemoryMessageStore;
-import org.apache.qpid.server.virtualhost.VirtualHost;
 
 public class ChannelLogSubjectTest extends ConnectionLogSubjectTest
 {
@@ -37,24 +31,6 @@
     {
         super.setUp();
 
-        // Create a single session for this test.
-        // Re-use is ok as we are testing the LogActor object is set correctly,
-        // not the value of the output.
-        _session = new MockProtocolSession(new MemoryMessageStore());
-        // Use the first Virtualhost that has been defined to initialise
-        // the MockProtocolSession. This prevents a NPE when the
-        // AMQPActor attempts to lookup the name of the VHost.
-        try
-        {
-            _session.setVirtualHost(ApplicationRegistry.getInstance().
-                    getVirtualHostRegistry().getVirtualHosts().
-                    toArray(new VirtualHost[1])[0]);
-        }
-        catch (AMQException e)
-        {
-            fail("Unable to set virtualhost on session:" + e.getMessage());
-        }
-
         AMQChannel channel = new AMQChannel(_session, _channelID, _session.getVirtualHost().getMessageStore());
 
         _subject = new ChannelLogSubject(channel);

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ConnectionLogSubjectTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ConnectionLogSubjectTest.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ConnectionLogSubjectTest.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/ConnectionLogSubjectTest.java Mon Oct  5 10:47:52 2009
@@ -20,39 +20,13 @@
  */
 package org.apache.qpid.server.logging.subjects;
 
-import org.apache.qpid.AMQException;
-import org.apache.qpid.server.protocol.AMQProtocolSession;
-import org.apache.qpid.server.queue.MockProtocolSession;
-import org.apache.qpid.server.registry.ApplicationRegistry;
-import org.apache.qpid.server.store.MemoryMessageStore;
-import org.apache.qpid.server.virtualhost.VirtualHost;
-
 public class ConnectionLogSubjectTest extends AbstractTestLogSubject
 {
-    AMQProtocolSession _session;
 
     public void setUp() throws Exception
     {
         super.setUp();
 
-        // Create a single session for this test.
-        // Re-use is ok as we are testing the LogActor object is set correctly,
-        // not the value of the output.
-        _session = new MockProtocolSession(new MemoryMessageStore());
-        // Use the first Virtualhost that has been defined to initialise
-        // the MockProtocolSession. This prevents a NPE when the
-        // AMQPActor attempts to lookup the name of the VHost.
-        try
-        {
-            _session.setVirtualHost(ApplicationRegistry.getInstance().
-                    getVirtualHostRegistry().getVirtualHosts().
-                    toArray(new VirtualHost[1])[0]);
-        }
-        catch (AMQException e)
-        {
-            fail("Unable to set virtualhost on session:" + e.getMessage());
-        }
-
         _subject = new ConnectionLogSubject(_session);
     }
 
@@ -63,7 +37,7 @@
      */
     protected void validateLogStatement(String message)
     {
-        verifyConnection(_session.getSessionID(), "MockProtocolSessionUser", "null", "test", message);
+        verifyConnection(_session.getSessionID(), "InternalTestProtocolSession", "127.0.0.1:1", "test", message);
     }
 
 }

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubjectTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubjectTest.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubjectTest.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubjectTest.java Mon Oct  5 10:47:52 2009
@@ -20,17 +20,13 @@
  */
 package org.apache.qpid.server.logging.subjects;
 
-import org.apache.qpid.AMQException;
 import org.apache.qpid.framing.AMQShortString;
 import org.apache.qpid.framing.FieldTable;
 import org.apache.qpid.server.AMQChannel;
 import org.apache.qpid.server.flow.LimitlessCreditManager;
-import org.apache.qpid.server.protocol.AMQProtocolSession;
 import org.apache.qpid.server.queue.AMQQueue;
 import org.apache.qpid.server.queue.MockAMQQueue;
-import org.apache.qpid.server.queue.MockProtocolSession;
 import org.apache.qpid.server.registry.ApplicationRegistry;
-import org.apache.qpid.server.store.MemoryMessageStore;
 import org.apache.qpid.server.subscription.Subscription;
 import org.apache.qpid.server.subscription.SubscriptionFactory;
 import org.apache.qpid.server.subscription.SubscriptionFactoryImpl;
@@ -57,31 +53,13 @@
         _queue = new MockAMQQueue("QueueLogSubjectTest");
         ((MockAMQQueue) _queue).setVirtualHost(_testVhost);
 
-        // Create a single session for this test.
-        // Re-use is ok as we are testing the LogActor object is set correctly,
-        // not the value of the output.
-        AMQProtocolSession session = new MockProtocolSession(new MemoryMessageStore());
-        // Use the first Virtualhost that has been defined to initialise
-        // the MockProtocolSession. This prevents a NPE when the
-        // AMQPActor attempts to lookup the name of the VHost.
-        try
-        {
-            session.setVirtualHost(ApplicationRegistry.getInstance().
-                    getVirtualHostRegistry().getVirtualHosts().
-                    toArray(new VirtualHost[1])[0]);
-        }
-        catch (AMQException e)
-        {
-            fail("Unable to set virtualhost on session:" + e.getMessage());
-        }
+        AMQChannel channel = new AMQChannel(_session, _channelID, _session.getVirtualHost().getMessageStore());
 
-        AMQChannel channel = new AMQChannel(session, _channelID, session.getVirtualHost().getMessageStore());
-
-        session.addChannel(channel);
+        _session.addChannel(channel);
 
         SubscriptionFactory factory = new SubscriptionFactoryImpl();
 
-        _subscription = factory.createSubscription(_channelID, session, new AMQShortString("cTag"),
+        _subscription = factory.createSubscription(_channelID, _session, new AMQShortString("cTag"),
                                                    _acks, _filters, _noLocal,
                                                    new LimitlessCreditManager());
 
@@ -102,13 +80,13 @@
         String subscriptionSlice = getSlice("sub:"
                                             + _subscription.getSubscriptionID(),
                                             message);
-        
+
         assertNotNull("Unable to locate subscription 'sub:" +
                       _subscription.getSubscriptionID() + "'");
 
         // Adding the ')' is a bit ugly but SubscriptionLogSubject is the only
         // Subject that nests () and so the simple parser of checking for the
         // next ')' falls down.
-        verifyQueue(subscriptionSlice+")", _queue);
+        verifyQueue(subscriptionSlice + ")", _queue);
     }
 }

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBeanTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBeanTest.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBeanTest.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBeanTest.java Mon Oct  5 10:47:52 2009
@@ -111,8 +111,7 @@
 
         IApplicationRegistry appRegistry = ApplicationRegistry.getInstance();
         _protocolSession =
-                new AMQMinaProtocolSession(new TestIoSession(), appRegistry.getVirtualHostRegistry(), new AMQCodecFactory(true),
-                                           null);
+                new AMQMinaProtocolSession(new TestIoSession(), appRegistry.getVirtualHostRegistry(), new AMQCodecFactory(true));
         // Need to authenticate session for it to work, (well for logging to work)
         _protocolSession.setAuthorizedID(new Principal()
         {

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/InternalTestProtocolSession.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/InternalTestProtocolSession.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/InternalTestProtocolSession.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/InternalTestProtocolSession.java Mon Oct  5 10:47:52 2009
@@ -26,7 +26,7 @@
 import org.apache.qpid.server.output.ProtocolOutputConverter;
 import org.apache.qpid.server.queue.AMQMessage;
 import org.apache.qpid.server.registry.ApplicationRegistry;
-import org.apache.qpid.server.AMQChannel;
+import org.apache.qpid.server.virtualhost.VirtualHost;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -34,7 +34,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
-import java.net.SocketAddress;
+import java.security.Principal;
 
 public class InternalTestProtocolSession extends AMQMinaProtocolSession implements ProtocolOutputConverter
 {
@@ -42,7 +42,7 @@
     final Map<Integer, Map<AMQShortString, LinkedList<DeliveryPair>>> _channelDelivers;
     private AtomicInteger _deliveryCount = new AtomicInteger(0);
 
-    public InternalTestProtocolSession() throws AMQException
+    public InternalTestProtocolSession(VirtualHost virtualHost) throws AMQException
     {
         super(new TestIoSession(),
               ApplicationRegistry.getInstance().getVirtualHostRegistry(),
@@ -50,6 +50,16 @@
 
         _channelDelivers = new HashMap<Integer, Map<AMQShortString, LinkedList<DeliveryPair>>>();
 
+        // Need to authenticate session for it to be representative testing.
+        setAuthorizedID(new Principal()
+        {
+            public String getName()
+            {
+                return "InternalTestProtocolSession";
+            }
+        });
+
+        setVirtualHost(virtualHost);
     }
 
     public ProtocolOutputConverter getProtocolOutputConverter()

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/MaxChannelsTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/MaxChannelsTest.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/MaxChannelsTest.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/MaxChannelsTest.java Mon Oct  5 10:47:52 2009
@@ -25,6 +25,7 @@
 import org.apache.qpid.codec.AMQCodecFactory;
 import org.apache.qpid.protocol.AMQConstant;
 import org.apache.qpid.server.AMQChannel;
+import org.apache.qpid.server.logging.actors.CurrentActor;
 import org.apache.qpid.server.registry.ApplicationRegistry;
 import org.apache.qpid.server.registry.IApplicationRegistry;
 import org.apache.qpid.AMQException;
@@ -41,7 +42,10 @@
     public void testChannels() throws Exception
     {
         _session = new AMQMinaProtocolSession(new TestIoSession(), _appRegistry
-				.getVirtualHostRegistry(), new AMQCodecFactory(true), null);
+				.getVirtualHostRegistry(), new AMQCodecFactory(true));
+
+        // Set the current Actor for these tests
+        CurrentActor.set(_session.getLogActor());
 
         // Need to authenticate session for it to work, (well for logging to work)
         _session.setAuthorizedID(new Principal()
@@ -92,6 +96,11 @@
 			// Yikes
 			fail(e.getMessage());
 		}
+        finally
+        {
+            //Remove the actor set during the test
+            CurrentActor.remove();
+        }
     	ApplicationRegistry.remove(1);
     }
 

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java Mon Oct  5 10:47:52 2009
@@ -32,6 +32,7 @@
 import org.apache.qpid.server.txn.NonTransactionalContext;
 import org.apache.qpid.server.RequiredDeliveryException;
 import org.apache.qpid.server.AMQChannel;
+import org.apache.qpid.server.logging.actors.CurrentActor;
 import org.apache.qpid.server.subscription.Subscription;
 import org.apache.qpid.server.subscription.SubscriptionFactoryImpl;
 import org.apache.qpid.server.protocol.AMQMinaProtocolSession;
@@ -49,6 +50,7 @@
 import java.util.LinkedList;
 import java.util.Collections;
 import java.util.Set;
+import java.security.Principal;
 
 /** This class tests all the alerts an AMQQueue can throw based on threshold values of different parameters */
 public class AMQQueueAlertTest extends TestCase
@@ -184,7 +186,6 @@
     */
     public void testQueueDepthAlertWithSubscribers() throws Exception
     {
-        _protocolSession = new InternalTestProtocolSession();
         AMQChannel channel = new AMQChannel(_protocolSession, 2, _messageStore);
         _protocolSession.addChannel(channel);
 
@@ -295,12 +296,13 @@
         super.setUp();
         IApplicationRegistry applicationRegistry = ApplicationRegistry.getInstance(1);
         _virtualHost = applicationRegistry.getVirtualHostRegistry().getVirtualHost("test");
-        _protocolSession = new InternalTestProtocolSession();
-
+        _protocolSession = new InternalTestProtocolSession(_virtualHost);
+        CurrentActor.set(_protocolSession.getLogActor());
     }
 
     protected void tearDown()
     {
+        CurrentActor.remove();
         ApplicationRegistry.remove(1);
     }
 

Modified: qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java?rev=821749&r1=821748&r2=821749&view=diff
==============================================================================
--- qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java (original)
+++ qpid/branches/java-broker-0-10/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java Mon Oct  5 10:47:52 2009
@@ -175,7 +175,8 @@
         assertTrue(_queueMBean.getActiveConsumerCount() == 0);
 
 
-        InternalTestProtocolSession protocolSession = new InternalTestProtocolSession();
+        InternalTestProtocolSession protocolSession = new InternalTestProtocolSession(_virtualHost);
+
         AMQChannel channel = new AMQChannel(protocolSession, 1, _messageStore);
         protocolSession.addChannel(channel);
 
@@ -372,7 +373,7 @@
                                                     null);
         _queueMBean = new AMQQueueMBean(_queue);
 
-        _protocolSession = new InternalTestProtocolSession();
+        _protocolSession = new InternalTestProtocolSession(_virtualHost);
     }
 
     public void tearDown()



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org