protected Region createTopicRegion(SystemUsage memoryManager, TaskRunnerFactory taskRunnerFactory, DestinationFactory destinationFactory) { return new TopicRegion(this, destinationStatistics, memoryManager, taskRunnerFactory, destinationFactory); }
public ConsumerInfo createInactiveConsumerInfo(SubscriptionInfo info) { ConsumerInfo rc = new ConsumerInfo(); rc.setSelector(info.getSelector()); rc.setSubscriptionName(info.getSubscriptionName()); rc.setDestination(info.getSubscribedDestination()); rc.setConsumerId(createConsumerId()); rc.setNoLocal(info.isNoLocal()); return rc; }
protected Destination createDestination(ConnectionContext context, ActiveMQDestination destination) throws Exception { Destination rc = super.createDestination(context, destination); regionBroker.register(destination, rc); return rc; }
ConsumerInfo consumerInfo = createInactiveConsumerInfo(info); if (sub == null) { ConnectionContext c = new ConnectionContext(); c.setClientId(key.getClientId()); c.setConnectionId(consumerInfo.getConsumerId().getParentId().getParentId()); sub = (DurableTopicSubscription)createSubscription(c, consumerInfo); sub.setOfflineTimestamp(System.currentTimeMillis());
if (!destination.isPattern()) { lookup(context, destination,true); if (hasDurableSubChanged(info, sub.getConsumerInfo())) {
protected void destroySubscription(Subscription sub) { regionBroker.unregisterSubscription(sub); super.destroySubscription(sub); }
private boolean alreadyKnown(SubscriptionKey key) { boolean known = false; known = ((TopicRegion) getTopicRegion()).durableSubscriptionExists(key); LOG.trace("Sub with key: {}, {} already registered", key, (known ? "": "not")); return known; }
protected Subscription createSubscription(ConnectionContext context, ConsumerInfo info) throws JMSException { Subscription sub = super.createSubscription(context, info); ObjectName name = regionBroker.registerSubscription(context, sub); sub.setObjectName(name); return sub; }
public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { super.removeDestination(context, destination, timeout); regionBroker.unregister(destination); }
protected void addInactiveSubscription(SubscriptionKey key, SubscriptionInfo info, Subscription subscription) { try { ConsumerInfo offlineConsumerInfo = subscription != null ? subscription.getConsumerInfo() : ((TopicRegion)getTopicRegion()).createInactiveConsumerInfo(info); ObjectName objectName = BrokerMBeanSupport.createSubscriptionName(brokerObjectName, info.getClientId(), offlineConsumerInfo); SubscriptionView view = new InactiveDurableSubscriptionView(this, brokerService, key.getClientId(), info, subscription); try { if (AsyncAnnotatedMBean.registerMBean(asyncInvokeService, mbeanTimeout, managementContext, view, objectName) != null) { registeredMBeans.add(objectName); } } catch (Throwable e) { LOG.warn("Failed to register MBean {}", key); LOG.debug("Failure reason: ", e); } inactiveDurableTopicSubscribers.put(objectName, view); subscriptionKeys.put(key, objectName); } catch (Exception e) { LOG.error("Failed to register subscription {}", info, e); } }
ConsumerInfo consumerInfo = createInactiveConsumerInfo(info); if (sub == null) { ConnectionContext c = new ConnectionContext(); c.setClientId(key.getClientId()); c.setConnectionId(consumerInfo.getConsumerId().getParentId().getParentId()); sub = (DurableTopicSubscription)createSubscription(c, consumerInfo);
if (!destination.isPattern()) { lookup(context, destination,true); if (hasDurableSubChanged(info, sub.getConsumerInfo())) {
} else { destroySubscription(sub);
private boolean alreadyKnown(SubscriptionKey key) { boolean known = false; known = ((TopicRegion) getTopicRegion()).durableSubscriptionExists(key); LOG.trace("Sub with key: {}, {} already registered", key, (known ? "": "not")); return known; }
protected Subscription createSubscription(ConnectionContext context, ConsumerInfo info) throws JMSException { Subscription sub = super.createSubscription(context, info); ObjectName name = regionBroker.registerSubscription(context, sub); sub.setObjectName(name); return sub; }
public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception { super.removeDestination(context, destination, timeout); regionBroker.unregister(destination); }
protected void addInactiveSubscription(SubscriptionKey key, SubscriptionInfo info, Subscription subscription) { try { ConsumerInfo offlineConsumerInfo = subscription != null ? subscription.getConsumerInfo() : ((TopicRegion)getTopicRegion()).createInactiveConsumerInfo(info); ObjectName objectName = BrokerMBeanSupport.createSubscriptionName(brokerObjectName, info.getClientId(), offlineConsumerInfo); SubscriptionView view = new InactiveDurableSubscriptionView(this, brokerService, key.getClientId(), info, subscription); try { AsyncAnnotatedMBean.registerMBean(asyncInvokeService, mbeanTimeout, managementContext, view, objectName); registeredMBeans.add(objectName); } catch (Throwable e) { LOG.warn("Failed to register MBean {}", key); LOG.debug("Failure reason: ", e); } inactiveDurableTopicSubscribers.put(objectName, view); subscriptionKeys.put(key, objectName); } catch (Exception e) { LOG.error("Failed to register subscription {}", info, e); } }
ConsumerInfo consumerInfo = createInactiveConsumerInfo(info); if (sub == null) { ConnectionContext c = new ConnectionContext(); c.setClientId(key.getClientId()); c.setConnectionId(consumerInfo.getConsumerId().getParentId().getParentId()); sub = (DurableTopicSubscription)createSubscription(c, consumerInfo); sub.setOfflineTimestamp(System.currentTimeMillis());
if (!destination.isPattern()) { lookup(context, destination,true); if (hasDurableSubChanged(info, sub.getConsumerInfo())) {
protected void destroySubscription(Subscription sub) { regionBroker.unregisterSubscription(sub); super.destroySubscription(sub); }