diff options
| author | Keith Wall <kwall@apache.org> | 2014-05-16 11:08:51 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2014-05-16 11:08:51 +0000 |
| commit | 8b9d54dcb70bb397dae8742cf1a005945102dede (patch) | |
| tree | 8bfe66fd8ff71d11b8fe3e14ee3d3e53fe2403f2 /qpid/java/broker-core | |
| parent | 4770c709c9a1a28ac2d623a7a476af15f31ecc78 (diff) | |
| download | qpid-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')
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) { |
