summaryrefslogtreecommitdiff
path: root/qpid/java/broker-core
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2014-05-16 11:08:51 +0000
committerKeith Wall <kwall@apache.org>2014-05-16 11:08:51 +0000
commit8b9d54dcb70bb397dae8742cf1a005945102dede (patch)
tree8bfe66fd8ff71d11b8fe3e14ee3d3e53fe2403f2 /qpid/java/broker-core
parent4770c709c9a1a28ac2d623a7a476af15f31ecc78 (diff)
downloadqpid-python-8b9d54dcb70bb397dae8742cf1a005945102dede.tar.gz
QPID-5766: Intitialisation of StatisticsCounter objects can lead to NPE.
Patch Supplied by Andrew MacBean <andymacbean@gmail.com>. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1595155 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-core')
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java18
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/stats/StatisticsGatherer.java11
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java16
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/consumer/MockConsumer.java4
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java5
5 files changed, 10 insertions, 44 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
index 782e4fa4c9..e6d7f44e0c 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
@@ -82,7 +82,7 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
private BrokerOptions _brokerOptions;
private Timer _reportingTimer;
- private StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
+ private final StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
@ManagedAttributeField
private String _defaultVirtualHost;
@@ -119,7 +119,10 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
authManager.addUser(BrokerOptions.MANAGEMENT_MODE_USER_NAME, _brokerOptions.getManagementModePassword());
_managementModeAuthenticationProvider = authManager;
}
- initialiseStatistics();
+ _messagesDelivered = new StatisticsCounter("messages-delivered");
+ _dataDelivered = new StatisticsCounter("bytes-delivered");
+ _messagesReceived = new StatisticsCounter("messages-received");
+ _dataReceived = new StatisticsCounter("bytes-received");
}
public void onValidate()
@@ -243,9 +246,6 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
addVirtualHostNode(virtualHostNode);
}
-
- initialiseStatistics();
-
initialiseStatisticsReporting();
// changeChildState(State.ACTIVE, false);
if (isManagementMode())
@@ -995,14 +995,6 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
}
}
- public void initialiseStatistics()
- {
- _messagesDelivered = new StatisticsCounter("messages-delivered");
- _dataDelivered = new StatisticsCounter("bytes-delivered");
- _messagesReceived = new StatisticsCounter("messages-received");
- _dataReceived = new StatisticsCounter("bytes-received");
- }
-
private class StatisticsReportingTask extends TimerTask
{
private final int DELIVERED = 0;
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/stats/StatisticsGatherer.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/stats/StatisticsGatherer.java
index 7fda6862ec..25f5f4e73f 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/stats/StatisticsGatherer.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/stats/StatisticsGatherer.java
@@ -36,17 +36,6 @@ package org.apache.qpid.server.stats;
public interface StatisticsGatherer
{
/**
- * Initialise the statistics gathering for this object.
- *
- * This method is responsible for creating any {@link StatisticsCounter}
- * objects and for determining whether statistics generation should be
- * enabled, by checking broker and system configuration.
- *
- * @see StatisticsCounter#DISABLE_STATISTICS
- */
- void initialiseStatistics();
-
- /**
* This method is responsible for registering the receipt of a message
* with the counters, and also for passing this notification to any parent
* {@link StatisticsGatherer}s. If statistics generation is not enabled,
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
index 159c526594..cd3d7c889c 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
@@ -110,7 +110,7 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte
private volatile VirtualHostState _state = VirtualHostState.INITIALISING;
- private StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
+ private final StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
private final Map<String, LinkRegistry> _linkRegistry = new HashMap<String, LinkRegistry>();
private boolean _blocked;
@@ -173,6 +173,10 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte
_defaultDestination = new DefaultDestination(this);
+ _messagesDelivered = new StatisticsCounter("messages-delivered-" + getName());
+ _dataDelivered = new StatisticsCounter("bytes-delivered-" + getName());
+ _messagesReceived = new StatisticsCounter("messages-received-" + getName());
+ _dataReceived = new StatisticsCounter("bytes-received-" + getName());
}
public void onValidate()
@@ -245,8 +249,6 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte
registerSystemNodes();
- initialiseStatistics();
-
Subject.doAs(SecurityManager.getSubjectWithAddedSystemRights(), new PrivilegedAction<Object>()
{
@Override
@@ -790,14 +792,6 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte
}
}
- public void initialiseStatistics()
- {
- _messagesDelivered = new StatisticsCounter("messages-delivered-" + getName());
- _dataDelivered = new StatisticsCounter("bytes-delivered-" + getName());
- _messagesReceived = new StatisticsCounter("messages-received-" + getName());
- _dataReceived = new StatisticsCounter("bytes-received-" + getName());
- }
-
public synchronized LinkRegistry getLinkRegistry(String remoteContainerId)
{
LinkRegistry linkRegistry = _linkRegistry.get(remoteContainerId);
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/consumer/MockConsumer.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/consumer/MockConsumer.java
index e2f95c6cbe..722535669b 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/consumer/MockConsumer.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/consumer/MockConsumer.java
@@ -414,10 +414,6 @@ public class MockConsumer implements ConsumerTarget
private static class MockConnectionModel implements AMQConnectionModel
{
- @Override
- public void initialiseStatistics()
- {
- }
@Override
public void registerMessageReceived(long messageSize, long timestamp)
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java
index 2877371759..cec34bd890 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java
@@ -569,11 +569,6 @@ public class MockVirtualHost implements VirtualHostImpl<MockVirtualHost, AMQQueu
return null;
}
- public void initialiseStatistics()
- {
-
- }
-
public void registerMessageDelivered(long messageSize)
{