protected boolean isOptimizeStorage(){ boolean result = false; if (isDoOptimzeMessageStorage() && durableSubscribers.isEmpty()==false){ result = true; for (DurableTopicSubscription s : durableSubscribers.values()) { if (s.isActive()== false){ result = false; break; } if (s.getPrefetchSize()==0){ result = false; break; } if (s.isSlowConsumer()){ result = false; break; } if (s.getInFlightUsage() > getOptimizeMessageStoreInFlightLimit()){ result = false; break; } } } return result; }
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()); }
protected boolean isOptimizeStorage(){ boolean result = false; if (isDoOptimzeMessageStorage() && durableSubscribers.isEmpty()==false){ result = true; for (DurableTopicSubscription s : durableSubscribers.values()) { if (s.isActive()== false){ result = false; break; } if (s.getPrefetchSize()==0){ result = false; break; } if (s.isSlowConsumer()){ result = false; break; } if (s.getInFlightUsage() > getOptimizeMessageStoreInFlightLimit()){ result = false; break; } } } return result; }
protected boolean isOptimizeStorage(){ boolean result = false; if (isDoOptimzeMessageStorage() && durableSubscribers.isEmpty()==false){ result = true; for (DurableTopicSubscription s : durableSubscribers.values()) { if (s.isActive()== false){ result = false; break; } if (s.getPrefetchSize()==0){ result = false; break; } if (s.isSlowConsumer()){ result = false; break; } if (s.getInFlightUsage() > getOptimizeMessageStoreInFlightLimit()){ result = false; break; } } } return result; }
protected boolean isOptimizeStorage(){ boolean result = false; if (isDoOptimzeMessageStorage() && durableSubscribers.isEmpty()==false){ result = true; for (DurableTopicSubscription s : durableSubscribers.values()) { if (s.isActive()== false){ result = false; break; } if (s.getPrefetchSize()==0){ result = false; break; } if (s.isSlowConsumer()){ result = false; break; } if (s.getInFlightUsage() > getOptimizeMessageStoreInFlightLimit()){ result = false; break; } } } return result; }
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, 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(); 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(); 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()); }