summaryrefslogtreecommitdiff
path: root/qpid/java/broker-core/src
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-03-08 14:36:06 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-03-08 14:36:06 +0000
commit19b2671cbd4af77ac52c222605c09b06cab7ced6 (patch)
tree6f650ec2b1ad6bbdd5c64d0a4415b52fa136a41e /qpid/java/broker-core/src
parent9d32428fce0ff0631319e2eae21081a2f8f19e9b (diff)
downloadqpid-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')
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/TransactionTimeoutHelper.java14
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/EventLoggerProvider.java26
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java3
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AccessControlProviderFactory.java2
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/AccessControlFactory.java3
-rwxr-xr-xqpid/java/broker-core/src/main/java/org/apache/qpid/server/security/SecurityManager.java2
-rwxr-xr-xqpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java4
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/TransactionTimeoutHelperTest.java6
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();
}