public void addSubscription(String destination, String subscriptionId, @Nullable Expression selectorExpression) { Set<Subscription> subs = this.destinationLookup.get(destination); if (subs == null) { synchronized (this.destinationLookup) { subs = this.destinationLookup.get(destination); if (subs == null) { subs = new CopyOnWriteArraySet<>(); this.destinationLookup.put(destination, subs); } } } subs.add(new Subscription(subscriptionId, selectorExpression)); }
public LinkedMultiValueMap<String, String> getSubscriptions(String destination, Message<?> message) { LinkedMultiValueMap<String, String> result = this.accessCache.get(destination); if (result == null) { synchronized (this.updateCache) { result = new LinkedMultiValueMap<>(); for (SessionSubscriptionInfo info : subscriptionRegistry.getAllSubscriptions()) { for (String destinationPattern : info.getDestinations()) { if (getPathMatcher().match(destinationPattern, destination)) { for (Subscription sub : info.getSubscriptions(destinationPattern)) { result.add(info.sessionId, sub.getId()); } } } } if (!result.isEmpty()) { this.updateCache.put(destination, result.deepCopy()); this.accessCache.put(destination, result); } } } return result; }
continue; Expression expression = sub.getSelectorExpression(); if (expression == null) { result.add(sessionId, subId);
continue; Expression expression = sub.getSelectorExpression(); if (expression == null) { result.add(sessionId, subId);
continue; Expression expression = sub.getSelectorExpression(); if (expression == null) { result.add(sessionId, subId);
public LinkedMultiValueMap<String, String> getSubscriptions(String destination, Message<?> message) { LinkedMultiValueMap<String, String> result = this.accessCache.get(destination); if (result == null) { synchronized (this.updateCache) { result = new LinkedMultiValueMap<>(); for (SessionSubscriptionInfo info : subscriptionRegistry.getAllSubscriptions()) { for (String destinationPattern : info.getDestinations()) { if (getPathMatcher().match(destinationPattern, destination)) { for (Subscription sub : info.getSubscriptions(destinationPattern)) { result.add(info.sessionId, sub.getId()); } } } } if (!result.isEmpty()) { this.updateCache.put(destination, result.deepCopy()); this.accessCache.put(destination, result); } } } return result; }
public LinkedMultiValueMap<String, String> getSubscriptions(String destination, Message<?> message) { LinkedMultiValueMap<String, String> result = this.accessCache.get(destination); if (result == null) { synchronized (this.updateCache) { result = new LinkedMultiValueMap<>(); for (SessionSubscriptionInfo info : subscriptionRegistry.getAllSubscriptions()) { for (String destinationPattern : info.getDestinations()) { if (getPathMatcher().match(destinationPattern, destination)) { for (Subscription sub : info.getSubscriptions(destinationPattern)) { result.add(info.sessionId, sub.getId()); } } } } if (!result.isEmpty()) { this.updateCache.put(destination, result.deepCopy()); this.accessCache.put(destination, result); } } } return result; }
@Nullable public String removeSubscription(String subscriptionId) { for (Map.Entry<String, Set<DefaultSubscriptionRegistry.Subscription>> destinationEntry : this.destinationLookup.entrySet()) { Set<Subscription> subs = destinationEntry.getValue(); if (subs != null) { for (Subscription sub : subs) { if (sub.getId().equals(subscriptionId) && subs.remove(sub)) { synchronized (this.destinationLookup) { if (subs.isEmpty()) { this.destinationLookup.remove(destinationEntry.getKey()); } } return destinationEntry.getKey(); } } } } return null; }
@Nullable public String removeSubscription(String subscriptionId) { for (Map.Entry<String, Set<DefaultSubscriptionRegistry.Subscription>> destinationEntry : this.destinationLookup.entrySet()) { Set<Subscription> subs = destinationEntry.getValue(); if (subs != null) { for (Subscription sub : subs) { if (sub.getId().equals(subscriptionId) && subs.remove(sub)) { synchronized (this.destinationLookup) { if (subs.isEmpty()) { this.destinationLookup.remove(destinationEntry.getKey()); } } return destinationEntry.getKey(); } } } } return null; }
public void addSubscription(String destination, String subscriptionId, @Nullable Expression selectorExpression) { Set<Subscription> subs = this.destinationLookup.get(destination); if (subs == null) { synchronized (this.destinationLookup) { subs = this.destinationLookup.get(destination); if (subs == null) { subs = new CopyOnWriteArraySet<>(); this.destinationLookup.put(destination, subs); } } } subs.add(new Subscription(subscriptionId, selectorExpression)); }
public void addSubscription(String destination, String subscriptionId, @Nullable Expression selectorExpression) { Set<Subscription> subs = this.destinationLookup.get(destination); if (subs == null) { synchronized (this.destinationLookup) { subs = this.destinationLookup.get(destination); if (subs == null) { subs = new CopyOnWriteArraySet<>(); this.destinationLookup.put(destination, subs); } } } subs.add(new Subscription(subscriptionId, selectorExpression)); }
@Nullable public Subscription getSubscription(String subscriptionId) { for (Map.Entry<String, Set<DefaultSubscriptionRegistry.Subscription>> destinationEntry : this.destinationLookup.entrySet()) { for (Subscription sub : destinationEntry.getValue()) { if (sub.getId().equalsIgnoreCase(subscriptionId)) { return sub; } } } return null; }
@Nullable public Subscription getSubscription(String subscriptionId) { for (Map.Entry<String, Set<DefaultSubscriptionRegistry.Subscription>> destinationEntry : this.destinationLookup.entrySet()) { for (Subscription sub : destinationEntry.getValue()) { if (sub.getId().equalsIgnoreCase(subscriptionId)) { return sub; } } } return null; }
continue; Expression expression = sub.getSelectorExpression(); if (expression == null) { result.add(sessionId, subId);
public LinkedMultiValueMap<String, String> getSubscriptions(String destination, Message<?> message) { LinkedMultiValueMap<String, String> result = this.accessCache.get(destination); if (result == null) { synchronized (this.updateCache) { result = new LinkedMultiValueMap<>(); for (SessionSubscriptionInfo info : subscriptionRegistry.getAllSubscriptions()) { for (String destinationPattern : info.getDestinations()) { if (getPathMatcher().match(destinationPattern, destination)) { for (Subscription sub : info.getSubscriptions(destinationPattern)) { result.add(info.sessionId, sub.getId()); } } } } if (!result.isEmpty()) { this.updateCache.put(destination, result.deepCopy()); this.accessCache.put(destination, result); } } } return result; }
@Nullable public String removeSubscription(String subscriptionId) { for (Map.Entry<String, Set<DefaultSubscriptionRegistry.Subscription>> destinationEntry : this.destinationLookup.entrySet()) { Set<Subscription> subs = destinationEntry.getValue(); if (subs != null) { for (Subscription sub : subs) { if (sub.getId().equals(subscriptionId) && subs.remove(sub)) { synchronized (this.destinationLookup) { if (subs.isEmpty()) { this.destinationLookup.remove(destinationEntry.getKey()); } } return destinationEntry.getKey(); } } } } return null; }
public void addSubscription(String destination, String subscriptionId, @Nullable Expression selectorExpression) { Set<Subscription> subs = this.destinationLookup.get(destination); if (subs == null) { synchronized (this.destinationLookup) { subs = this.destinationLookup.get(destination); if (subs == null) { subs = new CopyOnWriteArraySet<>(); this.destinationLookup.put(destination, subs); } } } subs.add(new Subscription(subscriptionId, selectorExpression)); }
@Nullable public Subscription getSubscription(String subscriptionId) { for (Map.Entry<String, Set<DefaultSubscriptionRegistry.Subscription>> destinationEntry : this.destinationLookup.entrySet()) { for (Subscription sub : destinationEntry.getValue()) { if (sub.getId().equalsIgnoreCase(subscriptionId)) { return sub; } } } return null; }
@Nullable public String removeSubscription(String subscriptionId) { for (Map.Entry<String, Set<DefaultSubscriptionRegistry.Subscription>> destinationEntry : this.destinationLookup.entrySet()) { Set<Subscription> subs = destinationEntry.getValue(); if (subs != null) { for (Subscription sub : subs) { if (sub.getId().equals(subscriptionId) && subs.remove(sub)) { synchronized (this.destinationLookup) { if (subs.isEmpty()) { this.destinationLookup.remove(destinationEntry.getKey()); } } return destinationEntry.getKey(); } } } } return null; }
@Nullable public Subscription getSubscription(String subscriptionId) { for (Map.Entry<String, Set<DefaultSubscriptionRegistry.Subscription>> destinationEntry : this.destinationLookup.entrySet()) { for (Subscription sub : destinationEntry.getValue()) { if (sub.getId().equalsIgnoreCase(subscriptionId)) { return sub; } } } return null; }