public List<Subscription> listSubscriptions(TopicName topicName) { return subscriptionRepository.listSubscriptions(topicName); }
private Stream<Subscription> notSuspendedSubscriptionsForTopic(Topic topic) { return subscriptionRepository.listSubscriptions(topic.getName()) .stream() .filter(sub -> Subscription.State.SUSPENDED != sub.getState()); } }
private void refillCache() { try { logger.info("Starting filling SubscriptionOwnerCache"); long start = System.currentTimeMillis(); Multimap<OwnerId, SubscriptionName> cache = ArrayListMultimap.create(); topicService.getAllTopics().stream() .flatMap(topic -> subscriptionRepository.listSubscriptions(topic.getName()).stream()) .forEach(subscription -> cache.put(subscription.getOwner(), subscription.getQualifiedName())); this.cache = Multimaps.synchronizedMultimap(cache); long end = System.currentTimeMillis(); logger.info("SubscriptionOwnerCache filled. Took {}ms", end - start); } catch (Exception e) { logger.error("Error while filling SubscriptionOwnerCache", e); } } }
@Override public void start() { for(String groupName : groupRepository.listGroupNames()) { for(String topicName : topicRepository.listTopicNames(groupName)) { for(Subscription subscription : subscriptionRepository.listSubscriptions(new TopicName(groupName, topicName))) { subscriptions.put(subscription.getQualifiedName(), subscription); } } } } }
@Override public void start() { for(String groupName : groupRepository.listGroupNames()) { for(String topicName : topicRepository.listTopicNames(groupName)) { for(Subscription subscription : subscriptionRepository.listSubscriptions(new TopicName(groupName, topicName))) { subscriptions.put(subscription.getQualifiedName(), subscription); } } } } }