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); } } }
@Override public boolean testTimeout(String target, boolean autoShutdown) { QueueConsumer consumer = queueConsumers.get(target); Subscription subscription = (Subscription) consumer; if (consumer == null) return false; if (System.currentTimeMillis() - consumer.getLastPingTime() > subscription.getTimeout()) { ActiveMQRestLogger.LOGGER.shutdownRestSubscription(consumer.getId()); if (autoShutdown) { shutdown(consumer); } return true; } else { return false; } }