Author: rajdavies
Date: Tue May 20 00:01:42 2008
New Revision: 658127
URL: http://svn.apache.org/viewvc?rev=658127&view=rev
Log:
Fix for https://issues.apache.org/activemq/browse/AMQ-1717
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Topic.java
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java?rev=658127&r1=658126&r2=658127&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java
(original)
+++
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java
Tue May 20 00:01:42 2008
@@ -424,6 +424,11 @@
final ConnectionContext context =
producerExchange.getConnectionContext();
synchronized (sendLock) {
if (store != null && message.isPersistent()) {
+ if (isProducerFlowControl() && context.isProducerFlowControl()
) {
+ if (systemUsage.isSendFailIfNoSpace() &&
systemUsage.getStoreUsage().isFull()) {
+ throw new javax.jms.ResourceAllocationException("Usage
Manager Store is Full");
+ }
+ }
while (!systemUsage.getStoreUsage().waitForSpace(1000)) {
if (context.getStopping().get()) {
throw new IOException(
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Topic.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Topic.java?rev=658127&r1=658126&r2=658127&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Topic.java
(original)
+++
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Topic.java
Tue May 20 00:01:42 2008
@@ -385,6 +385,11 @@
if (topicStore != null && message.isPersistent()
&& !canOptimizeOutPersistence()) {
+ if (isProducerFlowControl() && context.isProducerFlowControl() ) {
+ if (systemUsage.isSendFailIfNoSpace() &&
systemUsage.getStoreUsage().isFull()) {
+ throw new javax.jms.ResourceAllocationException("Usage
Manager Store is Full");
+ }
+ }
while (!systemUsage.getStoreUsage().waitForSpace(1000)) {
if (context.getStopping().get()) {
throw new IOException("Connection closed, send aborted.");