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