From c727fd05a439ee6f955b15ca18acd0ccc46e59bd Mon Sep 17 00:00:00 2001 From: Martin Ritchie Date: Mon, 3 Aug 2009 13:33:05 +0000 Subject: QPID-2002 : Updates to integrate Logging with test ant test runs. MaxChannelsTest/AMQProtoSessionMBean - Ensured CurrentActor is correctly set and removed. Log4jMessageLogger - Correctly Set log level to ensure messages are logged. AbstractActor - Null validation of RootLogger Log4jMessasgeLoggerTest - Updated and removed erroneous tests that were based on inherited log levels. AbstractTestLogSubject - Updated to correctly parse IP given by the use of InternalTestProtocolSession TestApplicationRegistry - Created RootMessageLogger git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@800374 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/server/logging/actors/AbstractActor.java | 4 +++ .../logging/rawloggers/Log4jMessageLogger.java | 1 + .../server/protocol/AMQProtocolSessionMBean.java | 42 +++++++++++++++++++--- 3 files changed, 42 insertions(+), 5 deletions(-) (limited to 'qpid/java/broker/src/main') diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java index 8d96739eeb..4502710dd6 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java @@ -32,6 +32,10 @@ public abstract class AbstractActor implements LogActor public AbstractActor(RootMessageLogger rootLogger) { + if(rootLogger == null) + { + throw new NullPointerException("RootMessageLogger cannot be null"); + } _rootLogger = rootLogger; } diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/rawloggers/Log4jMessageLogger.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/rawloggers/Log4jMessageLogger.java index 3774155626..f996576f31 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/rawloggers/Log4jMessageLogger.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/rawloggers/Log4jMessageLogger.java @@ -41,6 +41,7 @@ public class Log4jMessageLogger implements RawMessageLogger _level = Level.toLevel(level); _rawMessageLogger = Logger.getLogger(logger); + _rawMessageLogger.setLevel(_level); } public void rawMessage(String message) diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBean.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBean.java index 65235ba9b9..225a01386b 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBean.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBean.java @@ -65,6 +65,8 @@ import org.apache.qpid.management.common.mbeans.annotations.MBeanConstructor; 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 class AMQProtocolSessionMBean extends AMQManagedObject implements Managed */ public void commitTransactions(int channelId) throws JMException { + CurrentActor.set(getLogActor()); try { AMQChannel channel = _session.getChannel(channelId); @@ -199,6 +202,10 @@ public class AMQProtocolSessionMBean extends AMQManagedObject implements Managed { throw new MBeanException(ex, ex.toString()); } + finally + { + CurrentActor.remove(); + } } /** @@ -209,6 +216,7 @@ public class AMQProtocolSessionMBean extends AMQManagedObject implements Managed */ public void rollbackTransactions(int channelId) throws JMException { + CurrentActor.set(getLogActor()); try { AMQChannel channel = _session.getChannel(channelId); @@ -223,6 +231,10 @@ public class AMQProtocolSessionMBean extends AMQManagedObject implements Managed { throw new MBeanException(ex, ex.toString()); } + finally + { + CurrentActor.remove(); + } } /** @@ -269,18 +281,38 @@ public class AMQProtocolSessionMBean extends AMQManagedObject implements Managed 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() { -- cgit v1.2.1