public void baseUpdate(BaseDestination destination, Set<String> includedProperties) { if (isUpdate("producerFlowControl", includedProperties)) { destination.setProducerFlowControl(isProducerFlowControl()); if (isUpdate("alwaysRetroactive", includedProperties)) { destination.setAlwaysRetroactive(isAlwaysRetroactive()); if (isUpdate("blockedProducerWarningInterval", includedProperties)) { destination.setBlockedProducerWarningInterval(getBlockedProducerWarningInterval()); if (isUpdate("maxPageSize", includedProperties)) { destination.setMaxPageSize(getMaxPageSize()); if (isUpdate("maxBrowsePageSize", includedProperties)) { destination.setMaxBrowsePageSize(getMaxBrowsePageSize()); if (isUpdate("minimumMessageSize", includedProperties)) { destination.setMinimumMessageSize((int) getMinimumMessageSize()); if (isUpdate("maxExpirePageSize", includedProperties)) { destination.setMaxExpirePageSize(getMaxExpirePageSize()); if (isUpdate("cursorMemoryHighWaterMark", includedProperties)) { destination.setCursorMemoryHighWaterMark(getCursorMemoryHighWaterMark()); if (isUpdate("storeUsageHighWaterMark", includedProperties)) { destination.setStoreUsageHighWaterMark(getStoreUsageHighWaterMark()); if (isUpdate("gcInactiveDestinations", includedProperties)) { destination.setGcIfInactive(isGcInactiveDestinations());
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()); queue.setPersistJMSRedelivered(isPersistJMSRedelivered()); }
protected void configureTopic(Topic topic, ActiveMQDestination destination) { if (broker == null) { throw new IllegalStateException("broker property is not set"); } if (broker.getDestinationPolicy() != null) { PolicyEntry entry = broker.getDestinationPolicy().getEntryFor(destination); if (entry != null) { entry.configure(broker,topic); } } }
public void configure(Broker broker, SystemUsage memoryManager, QueueSubscription sub) { configurePrefetch(sub); sub.setCursorMemoryHighWaterMark(getCursorMemoryHighWaterMark()); sub.setUsePrefetchExtension(isUsePrefetchExtension()); sub.setMaxProducersToAudit(getMaxProducersToAudit()); }
public void configure(Broker broker, SystemUsage memoryManager, QueueBrowserSubscription sub) { configurePrefetch(sub); sub.setCursorMemoryHighWaterMark(getCursorMemoryHighWaterMark()); sub.setUsePrefetchExtension(isUsePrefetchExtension()); // TODO // We currently need an infinite audit because of the way that browser dispatch // is done. We should refactor the browsers to better handle message dispatch so // we can remove this and perform a more efficient dispatch. sub.setMaxProducersToAudit(Integer.MAX_VALUE); sub.setMaxAuditDepth(Short.MAX_VALUE); // part solution - dispatching to browsers needs to be restricted sub.setMaxMessages(getMaxBrowsePageSize()); }
baseUpdate(queue, includedProperties); if (isUpdate("memoryLimit", includedProperties) && memoryLimit > 0) { queue.getMemoryUsage().setLimit(memoryLimit); if (isUpdate("useConsumerPriority", includedProperties)) { queue.setUseConsumerPriority(isUseConsumerPriority()); if (isUpdate("strictOrderDispatch", includedProperties)) { queue.setStrictOrderDispatch(isStrictOrderDispatch()); if (isUpdate("optimizedDispatch", includedProperties)) { queue.setOptimizedDispatch(isOptimizedDispatch()); if (isUpdate("lazyDispatch", includedProperties)) { queue.setLazyDispatch(isLazyDispatch()); if (isUpdate("timeBeforeDispatchStarts", includedProperties)) { queue.setTimeBeforeDispatchStarts(getTimeBeforeDispatchStarts()); if (isUpdate("consumersBeforeDispatchStarts", includedProperties)) { queue.setConsumersBeforeDispatchStarts(getConsumersBeforeDispatchStarts()); if (isUpdate("allConsumersExclusiveByDefault", includedProperties)) { queue.setAllConsumersExclusiveByDefault(isAllConsumersExclusiveByDefault()); if (isUpdate("persistJMSRedelivered", includedProperties)) { queue.setPersistJMSRedelivered(isPersistJMSRedelivered());
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.setPrioritizedMessages(isPrioritizedMessages()); destination.setGcIfInactive(isGcInactiveDestinations()); destination.setInactiveTimoutBeforeGC(getInactiveTimoutBeforeGC()); destination.setReduceMemoryFootprint(isReduceMemoryFootprint());
public void configure(Broker broker, SystemUsage memoryManager, DurableTopicSubscription sub) { String clientId = sub.getSubscriptionKey().getClientId(); String subName = sub.getSubscriptionKey().getSubscriptionName(); sub.setCursorMemoryHighWaterMark(getCursorMemoryHighWaterMark()); configurePrefetch(sub); 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, 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, TopicSubscription subscription) { configurePrefetch(subscription); subscription.setUsePrefetchExtension(isUsePrefetchExtension()); subscription.setCursorMemoryHighWaterMark(getCursorMemoryHighWaterMark()); subscription.setUseTopicSubscriptionInflightStats(isUseTopicSubscriptionInflightStats()); if (pendingMessageLimitStrategy != null) { int value = pendingMessageLimitStrategy.getMaximumPendingMessageLimit(subscription);
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 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()); }
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()); }
/** * Get the state of the ActiveMQ advisoryWhenFull Policy Entry. * * @return true if the policy is enabled; false otherwise * * @see <a href="http://activemq.apache.org/advisory-message.html" >ActiveMQ Advisory Message documenatation</a> */ public boolean isAdvisoryWhenFullEnabled() { return getDefaultPolicyEntry().isAdvisoryWhenFull(); }
/** * Get the state of the ActiveMQ advisoryForDelivery Policy Entry. * * @return true if the policy is enabled; false otherwise * * @see <a href="http://activemq.apache.org/advisory-message.html" >ActiveMQ Advisory Message documenatation</a> */ public boolean isAdvisoryForDeliveryEnabled() { return getDefaultPolicyEntry().isAdvisoryForDelivery(); }
/** * Get the state of the ActiveMQ advisoryForConsumed Policy Entry. * * @return true if the policy is enabled; false otherwise * * @see <a href="http://activemq.apache.org/advisory-message.html" >ActiveMQ Advisory Message documenatation</a> */ public boolean isAdvisoryForConsumedEnabled() { return getDefaultPolicyEntry().isAdvisoryForConsumed(); }
/** * Get the state of the ActiveMQ advisoryForDiscardingMessages Policy Entry. * * @return true if the policy is enabled; false otherwise * * @see <a href="http://activemq.apache.org/advisory-message.html" >ActiveMQ Advisory Message documenatation</a> */ public boolean isAdvisoryForDiscardingMessagesEnabled() { return getDefaultPolicyEntry().isAdvisoryForDiscardingMessages(); }
/** * Get the state of the ActiveMQ advisoryForSlowConsumers Policy Entry. * * @return true if the policy is enabled; false otherwise * * @see <a href="http://activemq.apache.org/advisory-message.html" >ActiveMQ Advisory Message documenatation</a> */ public boolean isAdvisoryForSlowConsumersEnabled() { return getDefaultPolicyEntry().isAdvisoryForSlowConsumers(); }
baseUpdate(queue, includedProperties); if (isUpdate("memoryLimit", includedProperties) && memoryLimit > 0) { queue.getMemoryUsage().setLimit(memoryLimit); if (isUpdate("useConsumerPriority", includedProperties)) { queue.setUseConsumerPriority(isUseConsumerPriority()); if (isUpdate("strictOrderDispatch", includedProperties)) { queue.setStrictOrderDispatch(isStrictOrderDispatch()); if (isUpdate("optimizedDispatch", includedProperties)) { queue.setOptimizedDispatch(isOptimizedDispatch()); if (isUpdate("lazyDispatch", includedProperties)) { queue.setLazyDispatch(isLazyDispatch()); if (isUpdate("timeBeforeDispatchStarts", includedProperties)) { queue.setTimeBeforeDispatchStarts(getTimeBeforeDispatchStarts()); if (isUpdate("consumersBeforeDispatchStarts", includedProperties)) { queue.setConsumersBeforeDispatchStarts(getConsumersBeforeDispatchStarts()); if (isUpdate("allConsumersExclusiveByDefault", includedProperties)) { queue.setAllConsumersExclusiveByDefault(isAllConsumersExclusiveByDefault()); if (isUpdate("persistJMSRedelivered", includedProperties)) { queue.setPersistJMSRedelivered(isPersistJMSRedelivered());
public void configure(Broker broker, SystemUsage memoryManager, DurableTopicSubscription sub) { String clientId = sub.getSubscriptionKey().getClientId(); String subName = sub.getSubscriptionKey().getSubscriptionName(); sub.setCursorMemoryHighWaterMark(getCursorMemoryHighWaterMark()); configurePrefetch(sub); 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()); }