private void shutdown(QueueConsumer consumer) { synchronized (consumer) { consumer.shutdown(); queueConsumers.remove(consumer.getId()); Subscription subscription = (Subscription) consumer; if (subscription.isDeleteWhenIdle()) deleteSubscriberQueue(consumer); } }
public void testTimeout(String target) { QueueConsumer consumer = queueConsumers.get(target); Subscription subscription = (Subscription) consumer; if (consumer == null) return; synchronized (consumer) { if (System.currentTimeMillis() - consumer.getLastPingTime() > subscription.getTimeout()) { HornetQRestLogger.LOGGER.shutdownRestSubscription(consumer.getId()); consumer.shutdown(); queueConsumers.remove(consumer.getId()); serviceManager.getTimeoutTask().remove(consumer.getId()); if (subscription.isDeleteWhenIdle()) deleteSubscriberQueue(consumer); } } }