summaryrefslogtreecommitdiff
path: root/java/broker-core/src/main/java/org/apache/qpid/server/model
diff options
context:
space:
mode:
Diffstat (limited to 'java/broker-core/src/main/java/org/apache/qpid/server/model')
-rw-r--r--java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java b/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
index 109aaff5bd..ee008b1642 100644
--- a/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
+++ b/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
@@ -82,6 +82,9 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
private Timer _reportingTimer;
private final StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
+ /** Flags used to control the reporting of flow to disk. Protected by this */
+ private boolean _totalMessageSizeExceedThresholdReported = false, _totalMessageSizeWithinThresholdReported = true;
+
@ManagedAttributeField
private String _defaultVirtualHost;
@ManagedAttributeField
@@ -99,6 +102,7 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
@ManagedAttributeField
private String _confidentialConfigurationEncryptionProvider;
+
@ManagedObjectFactoryConstructor
public BrokerAdapter(Map<String, Object> attributes,
SystemConfig parent)
@@ -437,6 +441,19 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
}
}
+ if (totalSize > totalTarget && !_totalMessageSizeExceedThresholdReported)
+ {
+ _eventLogger.message(BrokerMessages.FLOW_TO_DISK_ACTIVE(totalSize / 1024, totalTarget / 1024));
+ _totalMessageSizeExceedThresholdReported = true;
+ _totalMessageSizeWithinThresholdReported = false;
+ }
+ else if (totalSize <= totalTarget && !_totalMessageSizeWithinThresholdReported)
+ {
+ _eventLogger.message(BrokerMessages.FLOW_TO_DISK_INACTIVE(totalSize / 1024, totalTarget / 1024));
+ _totalMessageSizeWithinThresholdReported = true;
+ _totalMessageSizeExceedThresholdReported = false;
+ }
+
for(Map.Entry<VirtualHost<?, ?, ?>,Long> entry : vhs.entrySet())
{