diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2014-03-08 14:36:06 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2014-03-08 14:36:06 +0000 |
| commit | 19b2671cbd4af77ac52c222605c09b06cab7ced6 (patch) | |
| tree | 6f650ec2b1ad6bbdd5c64d0a4415b52fa136a41e /qpid/java/broker-core/src | |
| parent | 9d32428fce0ff0631319e2eae21081a2f8f19e9b (diff) | |
| download | qpid-python-19b2671cbd4af77ac52c222605c09b06cab7ced6.tar.gz | |
QPID-5611 : Fix other logging to always use the most current event logger held at the broker
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1575547 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-core/src')
8 files changed, 49 insertions, 11 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/TransactionTimeoutHelper.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/TransactionTimeoutHelper.java index dd47a28296..2bf9fae19d 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/TransactionTimeoutHelper.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/TransactionTimeoutHelper.java @@ -19,6 +19,7 @@ package org.apache.qpid.server; import org.apache.qpid.server.logging.EventLogger; +import org.apache.qpid.server.logging.EventLoggerProvider; import org.apache.qpid.server.logging.LogMessage; import org.apache.qpid.server.logging.LogSubject; import org.apache.qpid.server.logging.messages.ChannelMessages; @@ -32,15 +33,15 @@ public class TransactionTimeoutHelper private final LogSubject _logSubject; private final CloseAction _closeAction; - private final EventLogger _eventLogger; + private final EventLoggerProvider _eventLoggerProvider; public TransactionTimeoutHelper(final LogSubject logSubject, final CloseAction closeAction, - final EventLogger eventLogger) + final EventLoggerProvider eventLoggerProvider) { _logSubject = logSubject; _closeAction = closeAction; - _eventLogger = eventLogger; + _eventLoggerProvider = eventLoggerProvider; } public void checkIdleOrOpenTimes(ServerTransaction transaction, long openWarn, long openClose, long idleWarn, long idleClose) @@ -76,7 +77,7 @@ public class TransactionTimeoutHelper { if (isTimedOut(timeSoFar, warnTimeout)) { - _eventLogger.message(_logSubject, warnMessage); + getEventLogger().message(_logSubject, warnMessage); } if(isTimedOut(timeSoFar, closeTimeout)) @@ -100,4 +101,9 @@ public class TransactionTimeoutHelper void doTimeoutAction(String reason); } + public EventLogger getEventLogger() + { + return _eventLoggerProvider.getEventLogger(); + } + } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/EventLoggerProvider.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/EventLoggerProvider.java new file mode 100644 index 0000000000..c628f0dcfa --- /dev/null +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/EventLoggerProvider.java @@ -0,0 +1,26 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +package org.apache.qpid.server.logging; + +public interface EventLoggerProvider +{ + public EventLogger getEventLogger(); +} diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java index ab07b3eec6..bb3e635326 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java @@ -24,6 +24,7 @@ import java.net.SocketAddress; import java.util.Collection; import org.apache.qpid.server.logging.EventLogger; +import org.apache.qpid.server.logging.EventLoggerProvider; import org.apache.qpid.server.logging.LogRecorder; import org.apache.qpid.server.logging.MessageLogger; import org.apache.qpid.server.configuration.updater.TaskExecutor; @@ -32,7 +33,7 @@ import org.apache.qpid.server.security.SubjectCreator; import org.apache.qpid.server.virtualhost.VirtualHostRegistry; @ManagedObject -public interface Broker<X extends Broker<X>> extends ConfiguredObject<X> +public interface Broker<X extends Broker<X>> extends ConfiguredObject<X>, EventLoggerProvider { String BUILD_VERSION = "buildVersion"; diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AccessControlProviderFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AccessControlProviderFactory.java index 53909fb09d..e98cc2800c 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AccessControlProviderFactory.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AccessControlProviderFactory.java @@ -73,7 +73,7 @@ public class AccessControlProviderFactory { for (AccessControlFactory factory : _factories) { - AccessControl accessControl = factory.createInstance(attributes, broker.getEventLogger()); + AccessControl accessControl = factory.createInstance(attributes, broker); if (accessControl != null) { return new AccessControlProviderAdapter(id, broker,accessControl, attributes, factory.getAttributeNames()); diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/AccessControlFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/AccessControlFactory.java index afea8204a5..3d7c479ba2 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/AccessControlFactory.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/AccessControlFactory.java @@ -22,6 +22,7 @@ import java.util.Collection; import java.util.Map; import org.apache.qpid.server.logging.EventLogger; +import org.apache.qpid.server.logging.EventLoggerProvider; import org.apache.qpid.server.model.AccessControlProvider; import org.apache.qpid.server.security.AccessControl; @@ -29,7 +30,7 @@ public interface AccessControlFactory extends Pluggable { public static final String ATTRIBUTE_TYPE = AccessControlProvider.TYPE; - AccessControl createInstance(Map<String, Object> attributes, final EventLogger eventLogger); + AccessControl createInstance(Map<String, Object> attributes, final EventLoggerProvider eventLogger); /** * Returns the access control provider type diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/SecurityManager.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/SecurityManager.java index c45b7bb2be..ac0521b34e 100755 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/SecurityManager.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/SecurityManager.java @@ -144,7 +144,7 @@ public class SecurityManager implements ConfigurationChangeListener for (AccessControlFactory provider : (new QpidServiceLoader<AccessControlFactory>()).instancesOf(AccessControlFactory.class)) { - AccessControl accessControl = provider.createInstance(attributes, _broker.getEventLogger()); + AccessControl accessControl = provider.createInstance(attributes, _broker); accessControl.open(); if(accessControl != null) { diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java index 52bf2fb216..a06056de8f 100755 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java @@ -32,6 +32,7 @@ import org.apache.qpid.server.configuration.VirtualHostConfiguration; import org.apache.qpid.server.connection.IConnectionRegistry; import org.apache.qpid.server.exchange.ExchangeImpl; import org.apache.qpid.server.logging.EventLogger; +import org.apache.qpid.server.logging.EventLoggerProvider; import org.apache.qpid.server.message.MessageDestination; import org.apache.qpid.server.message.MessageSource; import org.apache.qpid.server.plugin.ExchangeType; @@ -43,7 +44,8 @@ import org.apache.qpid.server.store.DurableConfigurationStore; import org.apache.qpid.server.store.MessageStore; import org.apache.qpid.server.txn.DtxRegistry; -public interface VirtualHost extends DurableConfigurationStore.Source, Closeable, StatisticsGatherer +public interface VirtualHost extends DurableConfigurationStore.Source, Closeable, StatisticsGatherer, + EventLoggerProvider { IConnectionRegistry getConnectionRegistry(); diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/TransactionTimeoutHelperTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/TransactionTimeoutHelperTest.java index 74bd8c2d94..744c609845 100644 --- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/TransactionTimeoutHelperTest.java +++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/TransactionTimeoutHelperTest.java @@ -32,6 +32,7 @@ import static org.mockito.Mockito.when; import org.apache.qpid.server.TransactionTimeoutHelper.CloseAction; import org.apache.qpid.server.logging.EventLogger; +import org.apache.qpid.server.logging.EventLoggerProvider; import org.apache.qpid.server.logging.LogMessage; import org.apache.qpid.server.logging.LogSubject; import org.apache.qpid.server.logging.MessageLogger; @@ -155,8 +156,9 @@ public class TransactionTimeoutHelperTest extends QpidTestCase when(_rootLogger.isEnabled()).thenReturn(true); when(_rootLogger.isMessageEnabled(anyString())).thenReturn(true); EventLogger eventLogger = new EventLogger(_rootLogger); - - _transactionTimeoutHelper = new TransactionTimeoutHelper(_logSubject, _closeAction, eventLogger); + EventLoggerProvider eventLoggerProvider = mock(EventLoggerProvider.class); + when(eventLoggerProvider.getEventLogger()).thenReturn(eventLogger); + _transactionTimeoutHelper = new TransactionTimeoutHelper(_logSubject, _closeAction, eventLoggerProvider); _now = System.currentTimeMillis(); } |
