1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package net.anyflow.lannister.plugin;
18
19 public class DefaultSubscribeEventListener implements SubscribeEventListener {
20 @SuppressWarnings("unused")
21 private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory
22 .getLogger(DefaultSubscribeEventListener.class);
23
24 public static final DefaultSubscribeEventListener SHARED = new DefaultSubscribeEventListener();
25
26 @Override
27 public Plugin clone() {
28 return this;
29 }
30
31 @Override
32 public boolean allowSubscribe(SubscribeEventArgs args) {
33 return args.cleanSession()
34 || args.topicSubscriptions().stream().filter(ts -> ts.topicFilter().startsWith("$SYS")).count() <= 0;
35 }
36 }