|
ActiveMQ example source code file (PolicyEntry.java)
The ActiveMQ PolicyEntry.java source code/** * 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.activemq.broker.region.policy; import org.apache.activemq.ActiveMQPrefetchPolicy; import org.apache.activemq.broker.Broker; import org.apache.activemq.broker.region.BaseDestination; import org.apache.activemq.broker.region.Destination; import org.apache.activemq.broker.region.DurableTopicSubscription; import org.apache.activemq.broker.region.Queue; import org.apache.activemq.broker.region.QueueBrowserSubscription; import org.apache.activemq.broker.region.QueueSubscription; import org.apache.activemq.broker.region.Topic; import org.apache.activemq.broker.region.TopicSubscription; import org.apache.activemq.broker.region.cursors.PendingMessageCursor; import org.apache.activemq.broker.region.group.MessageGroupHashBucketFactory; import org.apache.activemq.broker.region.group.MessageGroupMapFactory; import org.apache.activemq.filter.DestinationMapEntry; import org.apache.activemq.usage.SystemUsage; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Represents an entry in a {@link PolicyMap} for assigning policies to a * specific destination or a hierarchical wildcard area of destinations. * * @org.apache.xbean.XBean * */ public class PolicyEntry extends DestinationMapEntry { private static final Logger LOG = LoggerFactory.getLogger(PolicyEntry.class); private DispatchPolicy dispatchPolicy; private SubscriptionRecoveryPolicy subscriptionRecoveryPolicy; private boolean sendAdvisoryIfNoConsumers; private DeadLetterStrategy deadLetterStrategy = Destination.DEFAULT_DEAD_LETTER_STRATEGY; private PendingMessageLimitStrategy pendingMessageLimitStrategy; private MessageEvictionStrategy messageEvictionStrategy; private long memoryLimit; private MessageGroupMapFactory messageGroupMapFactory; private PendingQueueMessageStoragePolicy pendingQueuePolicy; private PendingDurableSubscriberMessageStoragePolicy pendingDurableSubscriberPolicy; private PendingSubscriberMessageStoragePolicy pendingSubscriberPolicy; private int maxProducersToAudit=BaseDestination.MAX_PRODUCERS_TO_AUDIT; private int maxAuditDepth=BaseDestination.MAX_AUDIT_DEPTH; private int maxQueueAuditDepth=BaseDestination.MAX_AUDIT_DEPTH; private boolean enableAudit=true; private boolean producerFlowControl = true; private long blockedProducerWarningInterval = Destination.DEFAULT_BLOCKED_PRODUCER_WARNING_INTERVAL; private boolean optimizedDispatch=false; private int maxPageSize=BaseDestination.MAX_PAGE_SIZE; private int maxBrowsePageSize=BaseDestination.MAX_BROWSE_PAGE_SIZE; private boolean useCache=true; private long minimumMessageSize=1024; private boolean useConsumerPriority=true; private boolean strictOrderDispatch=false; private boolean lazyDispatch=false; private int timeBeforeDispatchStarts = 0; private int consumersBeforeDispatchStarts = 0; private boolean advisoryForSlowConsumers; private boolean advisdoryForFastProducers; private boolean advisoryForDiscardingMessages; private boolean advisoryWhenFull; private boolean advisoryForDelivery; private boolean advisoryForConsumed; private long expireMessagesPeriod = BaseDestination.EXPIRE_MESSAGE_PERIOD; private int maxExpirePageSize = BaseDestination.MAX_BROWSE_PAGE_SIZE; private int queuePrefetch=ActiveMQPrefetchPolicy.DEFAULT_QUEUE_PREFETCH; private int queueBrowserPrefetch=ActiveMQPrefetchPolicy.DEFAULT_QUEUE_BROWSER_PREFETCH; private int topicPrefetch=ActiveMQPrefetchPolicy.DEFAULT_TOPIC_PREFETCH; private int durableTopicPrefetch=ActiveMQPrefetchPolicy.DEFAULT_DURABLE_TOPIC_PREFETCH; private boolean usePrefetchExtension = true; private int cursorMemoryHighWaterMark = 70; private int storeUsageHighWaterMark = 100; private SlowConsumerStrategy slowConsumerStrategy; private boolean prioritizedMessages; private boolean allConsumersExclusiveByDefault; private boolean gcInactiveDestinations; private long inactiveTimoutBeforeGC = BaseDestination.DEFAULT_INACTIVE_TIMEOUT_BEFORE_GC; private boolean reduceMemoryFootprint; public void configure(Broker broker,Queue queue) { baseConfiguration(broker,queue); if (dispatchPolicy != null) { queue.setDispatchPolicy(dispatchPolicy); } queue.setDeadLetterStrategy(getDeadLetterStrategy()); queue.setMessageGroupMapFactory(getMessageGroupMapFactory()); if (memoryLimit > 0) { queue.getMemoryUsage().setLimit(memoryLimit); } if (pendingQueuePolicy != null) { PendingMessageCursor messages = pendingQueuePolicy.getQueuePendingMessageCursor(broker,queue); queue.setMessages(messages); } queue.setUseConsumerPriority(isUseConsumerPriority()); queue.setStrictOrderDispatch(isStrictOrderDispatch()); queue.setOptimizedDispatch(isOptimizedDispatch()); queue.setLazyDispatch(isLazyDispatch()); queue.setTimeBeforeDispatchStarts(getTimeBeforeDispatchStarts()); queue.setConsumersBeforeDispatchStarts(getConsumersBeforeDispatchStarts()); queue.setAllConsumersExclusiveByDefault(isAllConsumersExclusiveByDefault()); } public void configure(Broker broker,Topic topic) { baseConfiguration(broker,topic); if (dispatchPolicy != null) { topic.setDispatchPolicy(dispatchPolicy); } topic.setDeadLetterStrategy(getDeadLetterStrategy()); if (subscriptionRecoveryPolicy != null) { SubscriptionRecoveryPolicy srp = subscriptionRecoveryPolicy.copy(); srp.setBroker(broker); topic.setSubscriptionRecoveryPolicy(srp); } if (memoryLimit > 0) { topic.getMemoryUsage().setLimit(memoryLimit); } topic.setLazyDispatch(isLazyDispatch()); } public void baseConfiguration(Broker broker,BaseDestination destination) { destination.setProducerFlowControl(isProducerFlowControl()); destination.setBlockedProducerWarningInterval(getBlockedProducerWarningInterval()); destination.setEnableAudit(isEnableAudit()); destination.setMaxAuditDepth(getMaxQueueAuditDepth()); destination.setMaxProducersToAudit(getMaxProducersToAudit()); destination.setMaxPageSize(getMaxPageSize()); destination.setMaxBrowsePageSize(getMaxBrowsePageSize()); destination.setUseCache(isUseCache()); destination.setMinimumMessageSize((int) getMinimumMessageSize()); destination.setAdvisoryForConsumed(isAdvisoryForConsumed()); destination.setAdvisoryForDelivery(isAdvisoryForDelivery()); destination.setAdvisoryForDiscardingMessages(isAdvisoryForDiscardingMessages()); destination.setAdvisoryForSlowConsumers(isAdvisoryForSlowConsumers()); destination.setAdvisdoryForFastProducers(isAdvisdoryForFastProducers()); destination.setAdvisoryWhenFull(isAdvisoryWhenFull()); destination.setSendAdvisoryIfNoConsumers(sendAdvisoryIfNoConsumers); destination.setExpireMessagesPeriod(getExpireMessagesPeriod()); destination.setMaxExpirePageSize(getMaxExpirePageSize()); destination.setCursorMemoryHighWaterMark(getCursorMemoryHighWaterMark()); destination.setStoreUsageHighWaterMark(getStoreUsageHighWaterMark()); SlowConsumerStrategy scs = getSlowConsumerStrategy(); if (scs != null) { scs.setBrokerService(broker); } destination.setSlowConsumerStrategy(scs); destination.setPrioritizedMessages(isPrioritizedMessages()); destination.setGcIfInactive(isGcInactiveDestinations()); destination.setInactiveTimoutBeforeGC(getInactiveTimoutBeforeGC()); destination.setReduceMemoryFootprint(isReduceMemoryFootprint()); } public void configure(Broker broker, SystemUsage memoryManager, TopicSubscription subscription) { //override prefetch size if not set by the Consumer int prefetch=subscription.getConsumerInfo().getPrefetchSize(); if (prefetch == ActiveMQPrefetchPolicy.DEFAULT_TOPIC_PREFETCH){ subscription.getConsumerInfo().setPrefetchSize(getTopicPrefetch()); } if (pendingMessageLimitStrategy != null) { int value = pendingMessageLimitStrategy.getMaximumPendingMessageLimit(subscription); int consumerLimit = subscription.getInfo().getMaximumPendingMessageLimit(); if (consumerLimit > 0) { if (value < 0 || consumerLimit < value) { value = consumerLimit; } } if (value >= 0) { if (LOG.isDebugEnabled()) { LOG.debug("Setting the maximumPendingMessages size to: " + value + " for consumer: " + subscription.getInfo().getConsumerId()); } subscription.setMaximumPendingMessages(value); } } if (messageEvictionStrategy != null) { subscription.setMessageEvictionStrategy(messageEvictionStrategy); } if (pendingSubscriberPolicy != null) { String name = subscription.getContext().getClientId() + "_" + subscription.getConsumerInfo().getConsumerId(); int maxBatchSize = subscription.getConsumerInfo().getPrefetchSize(); subscription.setMatched(pendingSubscriberPolicy.getSubscriberPendingMessageCursor(broker,name, maxBatchSize,subscription)); } if (enableAudit) { subscription.setEnableAudit(enableAudit); subscription.setMaxProducersToAudit(maxProducersToAudit); subscription.setMaxAuditDepth(maxAuditDepth); } } public void configure(Broker broker, SystemUsage memoryManager, DurableTopicSubscription sub) { String clientId = sub.getSubscriptionKey().getClientId(); String subName = sub.getSubscriptionKey().getSubscriptionName(); int prefetch = sub.getPrefetchSize(); sub.setCursorMemoryHighWaterMark(getCursorMemoryHighWaterMark()); //override prefetch size if not set by the Consumer if (prefetch == ActiveMQPrefetchPolicy.DEFAULT_DURABLE_TOPIC_PREFETCH || prefetch == ActiveMQPrefetchPolicy.DEFAULT_OPTIMIZE_DURABLE_TOPIC_PREFETCH){ sub.setPrefetchSize(getDurableTopicPrefetch()); } if (pendingDurableSubscriberPolicy != null) { PendingMessageCursor cursor = pendingDurableSubscriberPolicy.getSubscriberPendingMessageCursor(broker,clientId, subName,sub.getPrefetchSize(),sub); cursor.setSystemUsage(memoryManager); sub.setPending(cursor); } int auditDepth = getMaxAuditDepth(); if (auditDepth == BaseDestination.MAX_AUDIT_DEPTH && this.isPrioritizedMessages()) { sub.setMaxAuditDepth(auditDepth * 10); } else { sub.setMaxAuditDepth(auditDepth); } sub.setMaxProducersToAudit(getMaxProducersToAudit()); sub.setUsePrefetchExtension(isUsePrefetchExtension()); } public void configure(Broker broker, SystemUsage memoryManager, QueueBrowserSubscription sub) { int prefetch = sub.getPrefetchSize(); //override prefetch size if not set by the Consumer if (prefetch == ActiveMQPrefetchPolicy.DEFAULT_QUEUE_BROWSER_PREFETCH){ sub.setPrefetchSize(getQueueBrowserPrefetch()); } sub.setCursorMemoryHighWaterMark(getCursorMemoryHighWaterMark()); sub.setUsePrefetchExtension(isUsePrefetchExtension()); } public void configure(Broker broker, SystemUsage memoryManager, QueueSubscription sub) { int prefetch = sub.getPrefetchSize(); //override prefetch size if not set by the Consumer if (prefetch == ActiveMQPrefetchPolicy.DEFAULT_QUEUE_PREFETCH){ sub.setPrefetchSize(getQueuePrefetch()); } sub.setCursorMemoryHighWaterMark(getCursorMemoryHighWaterMark()); sub.setUsePrefetchExtension(isUsePrefetchExtension()); } // Properties // ------------------------------------------------------------------------- public DispatchPolicy getDispatchPolicy() { return dispatchPolicy; } public void setDispatchPolicy(DispatchPolicy policy) { this.dispatchPolicy = policy; } public SubscriptionRecoveryPolicy getSubscriptionRecoveryPolicy() { return subscriptionRecoveryPolicy; } public void setSubscriptionRecoveryPolicy(SubscriptionRecoveryPolicy subscriptionRecoveryPolicy) { this.subscriptionRecoveryPolicy = subscriptionRecoveryPolicy; } public boolean isSendAdvisoryIfNoConsumers() { return sendAdvisoryIfNoConsumers; } /** * Sends an advisory message if a non-persistent message is sent and there * are no active consumers */ public void setSendAdvisoryIfNoConsumers(boolean sendAdvisoryIfNoConsumers) { this.sendAdvisoryIfNoConsumers = sendAdvisoryIfNoConsumers; } public DeadLetterStrategy getDeadLetterStrategy() { return deadLetterStrategy; } /** * Sets the policy used to determine which dead letter queue destination * should be used */ public void setDeadLetterStrategy(DeadLetterStrategy deadLetterStrategy) { this.deadLetterStrategy = deadLetterStrategy; } public PendingMessageLimitStrategy getPendingMessageLimitStrategy() { return pendingMessageLimitStrategy; } /** * Sets the strategy to calculate the maximum number of messages that are * allowed to be pending on consumers (in addition to their prefetch sizes). * Once the limit is reached, non-durable topics can then start discarding * old messages. This allows us to keep dispatching messages to slow * consumers while not blocking fast consumers and discarding the messages * oldest first. */ public void setPendingMessageLimitStrategy(PendingMessageLimitStrategy pendingMessageLimitStrategy) { this.pendingMessageLimitStrategy = pendingMessageLimitStrategy; } public MessageEvictionStrategy getMessageEvictionStrategy() { return messageEvictionStrategy; } /** * Sets the eviction strategy used to decide which message to evict when the * slow consumer needs to discard messages */ public void setMessageEvictionStrategy(MessageEvictionStrategy messageEvictionStrategy) { this.messageEvictionStrategy = messageEvictionStrategy; } public long getMemoryLimit() { return memoryLimit; } /** * When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used * @org.apache.xbean.Property propertyEditor="org.apache.activemq.util.MemoryPropertyEditor" */ public void setMemoryLimit(long memoryLimit) { this.memoryLimit = memoryLimit; } public MessageGroupMapFactory getMessageGroupMapFactory() { if (messageGroupMapFactory == null) { messageGroupMapFactory = new MessageGroupHashBucketFactory(); } return messageGroupMapFactory; } /** * Sets the factory used to create new instances of {MessageGroupMap} used * to implement the <a * href="http://activemq.apache.org/message-groups.html">Message Groups</a> * functionality. */ public void setMessageGroupMapFactory(MessageGroupMapFactory messageGroupMapFactory) { this.messageGroupMapFactory = messageGroupMapFactory; } /** * @return the pendingDurableSubscriberPolicy */ public PendingDurableSubscriberMessageStoragePolicy getPendingDurableSubscriberPolicy() { return this.pendingDurableSubscriberPolicy; } /** * @param pendingDurableSubscriberPolicy the pendingDurableSubscriberPolicy * to set */ public void setPendingDurableSubscriberPolicy(PendingDurableSubscriberMessageStoragePolicy pendingDurableSubscriberPolicy) { this.pendingDurableSubscriberPolicy = pendingDurableSubscriberPolicy; } /** * @return the pendingQueuePolicy */ public PendingQueueMessageStoragePolicy getPendingQueuePolicy() { return this.pendingQueuePolicy; } /** * @param pendingQueuePolicy the pendingQueuePolicy to set */ public void setPendingQueuePolicy(PendingQueueMessageStoragePolicy pendingQueuePolicy) { this.pendingQueuePolicy = pendingQueuePolicy; } /** * @return the pendingSubscriberPolicy */ public PendingSubscriberMessageStoragePolicy getPendingSubscriberPolicy() { return this.pendingSubscriberPolicy; } /** * @param pendingSubscriberPolicy the pendingSubscriberPolicy to set */ public void setPendingSubscriberPolicy(PendingSubscriberMessageStoragePolicy pendingSubscriberPolicy) { this.pendingSubscriberPolicy = pendingSubscriberPolicy; } /** * @return true if producer flow control enabled */ public boolean isProducerFlowControl() { return producerFlowControl; } /** * @param producerFlowControl */ public void setProducerFlowControl(boolean producerFlowControl) { this.producerFlowControl = producerFlowControl; } /** * Set's the interval at which warnings about producers being blocked by * resource usage will be triggered. Values of 0 or less will disable * warnings * * @param blockedProducerWarningInterval the interval at which warning about * blocked producers will be triggered. */ public void setBlockedProducerWarningInterval(long blockedProducerWarningInterval) { this.blockedProducerWarningInterval = blockedProducerWarningInterval; } /** * * @return the interval at which warning about blocked producers will be * triggered. */ public long getBlockedProducerWarningInterval() { return blockedProducerWarningInterval; } /** * @return the maxProducersToAudit */ public int getMaxProducersToAudit() { return maxProducersToAudit; } /** * @param maxProducersToAudit the maxProducersToAudit to set */ public void setMaxProducersToAudit(int maxProducersToAudit) { this.maxProducersToAudit = maxProducersToAudit; } /** * @return the maxAuditDepth */ public int getMaxAuditDepth() { return maxAuditDepth; } /** * @param maxAuditDepth the maxAuditDepth to set */ public void setMaxAuditDepth(int maxAuditDepth) { this.maxAuditDepth = maxAuditDepth; } /** * @return the enableAudit */ public boolean isEnableAudit() { return enableAudit; } /** * @param enableAudit the enableAudit to set */ public void setEnableAudit(boolean enableAudit) { this.enableAudit = enableAudit; } public int getMaxQueueAuditDepth() { return maxQueueAuditDepth; } public void setMaxQueueAuditDepth(int maxQueueAuditDepth) { this.maxQueueAuditDepth = maxQueueAuditDepth; } public boolean isOptimizedDispatch() { return optimizedDispatch; } public void setOptimizedDispatch(boolean optimizedDispatch) { this.optimizedDispatch = optimizedDispatch; } public int getMaxPageSize() { return maxPageSize; } public void setMaxPageSize(int maxPageSize) { this.maxPageSize = maxPageSize; } public int getMaxBrowsePageSize() { return maxBrowsePageSize; } public void setMaxBrowsePageSize(int maxPageSize) { this.maxBrowsePageSize = maxPageSize; } public boolean isUseCache() { return useCache; } public void setUseCache(boolean useCache) { this.useCache = useCache; } public long getMinimumMessageSize() { return minimumMessageSize; } public void setMinimumMessageSize(long minimumMessageSize) { this.minimumMessageSize = minimumMessageSize; } public boolean isUseConsumerPriority() { return useConsumerPriority; } public void setUseConsumerPriority(boolean useConsumerPriority) { this.useConsumerPriority = useConsumerPriority; } public boolean isStrictOrderDispatch() { return strictOrderDispatch; } public void setStrictOrderDispatch(boolean strictOrderDispatch) { this.strictOrderDispatch = strictOrderDispatch; } public boolean isLazyDispatch() { return lazyDispatch; } public void setLazyDispatch(boolean lazyDispatch) { this.lazyDispatch = lazyDispatch; } public int getTimeBeforeDispatchStarts() { return timeBeforeDispatchStarts; } public void setTimeBeforeDispatchStarts(int timeBeforeDispatchStarts) { this.timeBeforeDispatchStarts = timeBeforeDispatchStarts; } public int getConsumersBeforeDispatchStarts() { return consumersBeforeDispatchStarts; } public void setConsumersBeforeDispatchStarts(int consumersBeforeDispatchStarts) { this.consumersBeforeDispatchStarts = consumersBeforeDispatchStarts; } /** * @return the advisoryForSlowConsumers */ public boolean isAdvisoryForSlowConsumers() { return advisoryForSlowConsumers; } /** * @param advisoryForSlowConsumers the advisoryForSlowConsumers to set */ public void setAdvisoryForSlowConsumers(boolean advisoryForSlowConsumers) { this.advisoryForSlowConsumers = advisoryForSlowConsumers; } /** * @return the advisoryForDiscardingMessages */ public boolean isAdvisoryForDiscardingMessages() { return advisoryForDiscardingMessages; } /** * @param advisoryForDiscardingMessages the advisoryForDiscardingMessages to set */ public void setAdvisoryForDiscardingMessages( boolean advisoryForDiscardingMessages) { this.advisoryForDiscardingMessages = advisoryForDiscardingMessages; } /** * @return the advisoryWhenFull */ public boolean isAdvisoryWhenFull() { return advisoryWhenFull; } /** * @param advisoryWhenFull the advisoryWhenFull to set */ public void setAdvisoryWhenFull(boolean advisoryWhenFull) { this.advisoryWhenFull = advisoryWhenFull; } /** * @return the advisoryForDelivery */ public boolean isAdvisoryForDelivery() { return advisoryForDelivery; } /** * @param advisoryForDelivery the advisoryForDelivery to set */ public void setAdvisoryForDelivery(boolean advisoryForDelivery) { this.advisoryForDelivery = advisoryForDelivery; } /** * @return the advisoryForConsumed */ public boolean isAdvisoryForConsumed() { return advisoryForConsumed; } /** * @param advisoryForConsumed the advisoryForConsumed to set */ public void setAdvisoryForConsumed(boolean advisoryForConsumed) { this.advisoryForConsumed = advisoryForConsumed; } /** * @return the advisdoryForFastProducers */ public boolean isAdvisdoryForFastProducers() { return advisdoryForFastProducers; } /** * @param advisdoryForFastProducers the advisdoryForFastProducers to set */ public void setAdvisdoryForFastProducers(boolean advisdoryForFastProducers) { this.advisdoryForFastProducers = advisdoryForFastProducers; } public void setMaxExpirePageSize(int maxExpirePageSize) { this.maxExpirePageSize = maxExpirePageSize; } public int getMaxExpirePageSize() { return maxExpirePageSize; } public void setExpireMessagesPeriod(long expireMessagesPeriod) { this.expireMessagesPeriod = expireMessagesPeriod; } public long getExpireMessagesPeriod() { return expireMessagesPeriod; } /** * Get the queuePrefetch * @return the queuePrefetch */ public int getQueuePrefetch() { return this.queuePrefetch; } /** * Set the queuePrefetch * @param queuePrefetch the queuePrefetch to set */ public void setQueuePrefetch(int queuePrefetch) { this.queuePrefetch = queuePrefetch; } /** * Get the queueBrowserPrefetch * @return the queueBrowserPrefetch */ public int getQueueBrowserPrefetch() { return this.queueBrowserPrefetch; } /** * Set the queueBrowserPrefetch * @param queueBrowserPrefetch the queueBrowserPrefetch to set */ public void setQueueBrowserPrefetch(int queueBrowserPrefetch) { this.queueBrowserPrefetch = queueBrowserPrefetch; } /** * Get the topicPrefetch * @return the topicPrefetch */ public int getTopicPrefetch() { return this.topicPrefetch; } /** * Set the topicPrefetch * @param topicPrefetch the topicPrefetch to set */ public void setTopicPrefetch(int topicPrefetch) { this.topicPrefetch = topicPrefetch; } /** * Get the durableTopicPrefetch * @return the durableTopicPrefetch */ public int getDurableTopicPrefetch() { return this.durableTopicPrefetch; } /** * Set the durableTopicPrefetch * @param durableTopicPrefetch the durableTopicPrefetch to set */ public void setDurableTopicPrefetch(int durableTopicPrefetch) { this.durableTopicPrefetch = durableTopicPrefetch; } public boolean isUsePrefetchExtension() { return this.usePrefetchExtension; } public void setUsePrefetchExtension(boolean usePrefetchExtension) { this.usePrefetchExtension = usePrefetchExtension; } public int getCursorMemoryHighWaterMark() { return this.cursorMemoryHighWaterMark; } public void setCursorMemoryHighWaterMark(int cursorMemoryHighWaterMark) { this.cursorMemoryHighWaterMark = cursorMemoryHighWaterMark; } public void setStoreUsageHighWaterMark(int storeUsageHighWaterMark) { this.storeUsageHighWaterMark = storeUsageHighWaterMark; } public int getStoreUsageHighWaterMark() { return storeUsageHighWaterMark; } public void setSlowConsumerStrategy(SlowConsumerStrategy slowConsumerStrategy) { this.slowConsumerStrategy = slowConsumerStrategy; } public SlowConsumerStrategy getSlowConsumerStrategy() { return this.slowConsumerStrategy; } public boolean isPrioritizedMessages() { return this.prioritizedMessages; } public void setPrioritizedMessages(boolean prioritizedMessages) { this.prioritizedMessages = prioritizedMessages; } public void setAllConsumersExclusiveByDefault(boolean allConsumersExclusiveByDefault) { this.allConsumersExclusiveByDefault = allConsumersExclusiveByDefault; } public boolean isAllConsumersExclusiveByDefault() { return allConsumersExclusiveByDefault; } public boolean isGcInactiveDestinations() { return this.gcInactiveDestinations; } public void setGcInactiveDestinations(boolean gcInactiveDestinations) { this.gcInactiveDestinations = gcInactiveDestinations; } public long getInactiveTimoutBeforeGC() { return this.inactiveTimoutBeforeGC; } public void setInactiveTimoutBeforeGC(long inactiveTimoutBeforeGC) { this.inactiveTimoutBeforeGC = inactiveTimoutBeforeGC; } public boolean isReduceMemoryFootprint() { return reduceMemoryFootprint; } public void setReduceMemoryFootprint(boolean reduceMemoryFootprint) { this.reduceMemoryFootprint = reduceMemoryFootprint; } } Other ActiveMQ examples (source code examples)Here is a short list of links related to this ActiveMQ PolicyEntry.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.