/** * Write the booleans that this object uses to a BooleanStream */ public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException { ConsumerInfo info = (ConsumerInfo)o; super.looseMarshal(wireFormat, o, dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getConsumerId(), dataOut); dataOut.writeBoolean(info.isBrowser()); looseMarshalCachedObject(wireFormat, (DataStructure)info.getDestination(), dataOut); dataOut.writeInt(info.getPrefetchSize()); dataOut.writeInt(info.getMaximumPendingMessageLimit()); dataOut.writeBoolean(info.isDispatchAsync()); looseMarshalString(info.getSelector(), dataOut); looseMarshalString(info.getSubscriptionName(), dataOut); dataOut.writeBoolean(info.isNoLocal()); dataOut.writeBoolean(info.isExclusive()); dataOut.writeBoolean(info.isRetroactive()); dataOut.writeByte(info.getPriority()); looseMarshalObjectArray(wireFormat, info.getBrokerPath(), dataOut); looseMarshalNestedObject(wireFormat, (DataStructure)info.getAdditionalPredicate(), dataOut); dataOut.writeBoolean(info.isNetworkSubscription()); dataOut.writeBoolean(info.isOptimizedAcknowledge()); dataOut.writeBoolean(info.isNoRangeAcks()); } }
@Override @SuppressWarnings("unchecked") public Subscription addConsumer(ConnectionContext context, ConsumerInfo info) throws Exception { LOG.debug("{} adding consumer: {} for destination: {}", new Object[]{ broker.getBrokerName(), info.getConsumerId(), info.getDestination() }); ActiveMQDestination destination = info.getDestination(); if (destination != null && !destination.isPattern() && !destination.isComposite()) { addGuard = consumerChangeMutexMap.get(info.getConsumerId()); if (addGuard == null) { addGuard = new Object(); consumerChangeMutexMap.put(info.getConsumerId(), addGuard); DestinationFilter.parseFilter(info.getDestination()); if (info.isBrowser()) { ((QueueBrowserSubscription) sub).destinationsAdded();
protected Subscription createSubscription(ConnectionContext context, ConsumerInfo info) throws JMSException { ActiveMQDestination destination = info.getDestination(); PolicyEntry entry = null; if (destination != null && broker.getDestinationPolicy() != null) { entry = broker.getDestinationPolicy().getEntryFor(destination); } if (info.isBrowser()) { QueueBrowserSubscription sub = new QueueBrowserSubscription(broker,usageManager, context, info); if (entry != null) { entry.configure(broker, usageManager, sub); } return sub; } else { QueueSubscription sub = new QueueSubscription(broker, usageManager,context, info); if (entry != null) { entry.configure(broker, usageManager, sub); } return sub; } }
BrokerId[] path = info.getBrokerPath(); if (info.isBrowser()) { LOG.debug("{} Ignoring sub from {}, browsers explicitly suppressed", configuration.getBrokerName(), remoteBrokerName); return; if (!isPermissableDestination(info.getDestination())) { configuration.getBrokerName(), remoteBrokerName, info.getDestination(), info }); return;
public void init(SlowConsumerDetectionListener slowConsumerDetectionListener, long nativeId) throws Exception { SimpleString selector = info.getSelector() == null ? null : new SimpleString(SelectorTranslator.convertToActiveMQFilterString(info.getSelector())); boolean preAck = false; if (info.isNoLocal()) { if (!AdvisorySupport.isAdvisoryTopic(openwireDestination)) { selector = new SimpleString(noLocalSelector); } else { selector = new SimpleString(info.getSelector() + " AND " + noLocalSelector); SimpleString queueName = createTopicSubscription(info.isDurable(), info.getClientId(), destinationName.toString(), info.getSubscriptionName(), selector, destinationName); serverConsumer = session.getCoreSession().createConsumer(nativeId, queueName, null, info.getPriority(), info.isBrowser(), false, -1); serverConsumer.setlowConsumerDetection(slowConsumerDetectionListener); serverConsumer = session.getCoreSession().createConsumer(nativeId, destinationName, selector, info.getPriority(), info.isBrowser(), false, -1); serverConsumer.setlowConsumerDetection(slowConsumerDetectionListener); AddressSettings addrSettings = session.getCoreServer().getAddressSettingsRepository().getMatch(destinationName.toString()); cc.setConsumerId(info.getConsumerId()); cc.setPrefetch(0); session.getConnection().dispatch(cc);
if (actualDest.isQueue() && consumerInfo.getSubscriptionName() != null) { throw new ProtocolException("Invalid Subscription: cannot durably subscribe to a Queue destination!"); if (!consumerInfo.isBrowser()) { stompSubscription = new StompSubscription(this, subscriptionId, consumerInfo, headers.get(Stomp.Headers.TRANSFORMATION)); } else {
this.info.setSelector(selector); this.selector = selector; } else if (info.getSelector() != null) { SelectorParser.parse(this.info.getSelector()); this.selector = this.info.getSelector(); } else { this.selector = null; && !info.isBrowser(); if (this.optimizeAcknowledge) { this.optimizeAcknowledgeTimeOut = session.connection.getOptimizeAcknowledgeTimeOut();
/** * Write the booleans that this object uses to a BooleanStream */ public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException { ConsumerInfo info = (ConsumerInfo)o; super.looseMarshal(wireFormat, o, dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getConsumerId(), dataOut); dataOut.writeBoolean(info.isBrowser()); looseMarshalCachedObject(wireFormat, (DataStructure)info.getDestination(), dataOut); dataOut.writeInt(info.getPrefetchSize()); dataOut.writeInt(info.getMaximumPendingMessageLimit()); dataOut.writeBoolean(info.isDispatchAsync()); looseMarshalString(info.getSelector(), dataOut); looseMarshalString(info.getSubscriptionName(), dataOut); dataOut.writeBoolean(info.isNoLocal()); dataOut.writeBoolean(info.isExclusive()); dataOut.writeBoolean(info.isRetroactive()); dataOut.writeByte(info.getPriority()); looseMarshalObjectArray(wireFormat, info.getBrokerPath(), dataOut); looseMarshalNestedObject(wireFormat, (DataStructure)info.getAdditionalPredicate(), dataOut); dataOut.writeBoolean(info.isNetworkSubscription()); dataOut.writeBoolean(info.isOptimizedAcknowledge()); dataOut.writeBoolean(info.isNoRangeAcks()); } }
public Subscription addConsumer(ConnectionContext context, ConsumerInfo info) throws Exception { LOG.debug(broker.getBrokerName() + " adding consumer: " + info.getConsumerId() + " for destination: " + info.getDestination()); ActiveMQDestination destination = info.getDestination(); if (destination != null && !destination.isPattern() && !destination.isComposite()) { addGuard = consumerChangeMutexMap.get(info.getConsumerId()); if (addGuard == null) { addGuard = new Object(); consumerChangeMutexMap.put(info.getConsumerId(), addGuard); DestinationFilter.parseFilter(info.getDestination()); if (info.isBrowser()) { ((QueueBrowserSubscription) sub).destinationsAdded();
BrokerId[] path = info.getBrokerPath(); if (info.isBrowser()) { if (LOG.isDebugEnabled()) { LOG.info(configuration.getBrokerName() + " Ignoring sub from " + remoteBrokerName + ", browsers explicitly suppressed"); if (!isPermissableDestination(info.getDestination())) { LOG.debug(configuration.getBrokerName() + " Ignoring sub from " + remoteBrokerName + ", destination " + info.getDestination() + " is not permiited :" + info);
protected Subscription createSubscription(ConnectionContext context, ConsumerInfo info) throws JMSException { ActiveMQDestination destination = info.getDestination(); PolicyEntry entry = null; if (destination != null && broker.getDestinationPolicy() != null) { entry = broker.getDestinationPolicy().getEntryFor(destination); } if (info.isBrowser()) { QueueBrowserSubscription sub = new QueueBrowserSubscription(broker,usageManager, context, info); if (entry != null) { entry.configure(broker, usageManager, sub); } return sub; } else { QueueSubscription sub = new QueueSubscription(broker, usageManager,context, info); if (entry != null) { entry.configure(broker, usageManager, sub); } return sub; } }
if (actualDest.isQueue() && consumerInfo.getSubscriptionName() != null) { throw new ProtocolException("Invalid Subscription: cannot durably subscribe to a Queue destination!"); if (!consumerInfo.isBrowser()) { stompSubscription = new StompSubscription(this, subscriptionId, consumerInfo, headers.get(Stomp.Headers.TRANSFORMATION)); } else {
this.info.setSelector(selector); this.selector = selector; } else if (info.getSelector() != null) { SelectorParser.parse(this.info.getSelector()); this.selector = this.info.getSelector(); } else { this.selector = null; && !info.isBrowser(); if (this.optimizeAcknowledge) { this.optimizeAcknowledgeTimeOut = session.connection.getOptimizeAcknowledgeTimeOut();
/** * Write the booleans that this object uses to a BooleanStream */ public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException { ConsumerInfo info = (ConsumerInfo)o; super.looseMarshal(wireFormat, o, dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getConsumerId(), dataOut); dataOut.writeBoolean(info.isBrowser()); looseMarshalCachedObject(wireFormat, (DataStructure)info.getDestination(), dataOut); dataOut.writeInt(info.getPrefetchSize()); dataOut.writeInt(info.getMaximumPendingMessageLimit()); dataOut.writeBoolean(info.isDispatchAsync()); looseMarshalString(info.getSelector(), dataOut); looseMarshalString(info.getSubscriptionName(), dataOut); dataOut.writeBoolean(info.isNoLocal()); dataOut.writeBoolean(info.isExclusive()); dataOut.writeBoolean(info.isRetroactive()); dataOut.writeByte(info.getPriority()); looseMarshalObjectArray(wireFormat, info.getBrokerPath(), dataOut); looseMarshalNestedObject(wireFormat, (DataStructure)info.getAdditionalPredicate(), dataOut); dataOut.writeBoolean(info.isNetworkSubscription()); dataOut.writeBoolean(info.isOptimizedAcknowledge()); dataOut.writeBoolean(info.isNoRangeAcks()); } }
@Override @SuppressWarnings("unchecked") public Subscription addConsumer(ConnectionContext context, ConsumerInfo info) throws Exception { LOG.debug("{} adding consumer: {} for destination: {}", new Object[]{ broker.getBrokerName(), info.getConsumerId(), info.getDestination() }); ActiveMQDestination destination = info.getDestination(); if (destination != null && !destination.isPattern() && !destination.isComposite()) { addGuard = consumerChangeMutexMap.get(info.getConsumerId()); if (addGuard == null) { addGuard = new Object(); consumerChangeMutexMap.put(info.getConsumerId(), addGuard); DestinationFilter.parseFilter(info.getDestination()); if (info.isBrowser()) { ((QueueBrowserSubscription) sub).destinationsAdded();
BrokerId[] path = info.getBrokerPath(); if (info.isBrowser()) { LOG.debug("{} Ignoring sub from {}, browsers explicitly suppressed", configuration.getBrokerName(), remoteBrokerName); return; if (!isPermissableDestination(info.getDestination())) { configuration.getBrokerName(), remoteBrokerName, info.getDestination(), info }); return;
protected Subscription createSubscription(ConnectionContext context, ConsumerInfo info) throws JMSException { ActiveMQDestination destination = info.getDestination(); PolicyEntry entry = null; if (destination != null && broker.getDestinationPolicy() != null) { entry = broker.getDestinationPolicy().getEntryFor(destination); } if (info.isBrowser()) { QueueBrowserSubscription sub = new QueueBrowserSubscription(broker,usageManager, context, info); if (entry != null) { entry.configure(broker, usageManager, sub); } return sub; } else { QueueSubscription sub = new QueueSubscription(broker, usageManager,context, info); if (entry != null) { entry.configure(broker, usageManager, sub); } return sub; } }
if (actualDest.isQueue() && consumerInfo.getSubscriptionName() != null) { throw new ProtocolException("Invalid Subscription: cannot durably subscribe to a Queue destination!"); if (!consumerInfo.isBrowser()) { stompSubscription = new StompSubscription(this, subscriptionId, consumerInfo, headers.get(Stomp.Headers.TRANSFORMATION)); } else {
this.info.setSelector(selector); this.selector = selector; } else if (info.getSelector() != null) { SelectorParser.parse(this.info.getSelector()); this.selector = this.info.getSelector(); } else { this.selector = null; && !info.isBrowser(); if (this.optimizeAcknowledge) { this.optimizeAcknowledgeTimeOut = session.connection.getOptimizeAcknowledgeTimeOut();
/** * Write the booleans that this object uses to a BooleanStream */ public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException { ConsumerInfo info = (ConsumerInfo)o; super.looseMarshal(wireFormat, o, dataOut); looseMarshalCachedObject(wireFormat, (DataStructure)info.getConsumerId(), dataOut); dataOut.writeBoolean(info.isBrowser()); looseMarshalCachedObject(wireFormat, (DataStructure)info.getDestination(), dataOut); dataOut.writeInt(info.getPrefetchSize()); dataOut.writeInt(info.getMaximumPendingMessageLimit()); dataOut.writeBoolean(info.isDispatchAsync()); looseMarshalString(info.getSelector(), dataOut); looseMarshalString(info.getSubscriptionName(), dataOut); dataOut.writeBoolean(info.isNoLocal()); dataOut.writeBoolean(info.isExclusive()); dataOut.writeBoolean(info.isRetroactive()); dataOut.writeByte(info.getPriority()); looseMarshalObjectArray(wireFormat, info.getBrokerPath(), dataOut); looseMarshalNestedObject(wireFormat, (DataStructure)info.getAdditionalPredicate(), dataOut); dataOut.writeBoolean(info.isNetworkSubscription()); dataOut.writeBoolean(info.isOptimizedAcknowledge()); dataOut.writeBoolean(info.isNoRangeAcks()); looseMarshalObjectArray(wireFormat, info.getNetworkConsumerPath(), dataOut); } }