@Override public void unsubscribe(PubSubType type) { String name = type.toString(); Queue<String> regIds = map.remove(name); ITopic<Object> topic = hazelcastSub.getTopic(name); for (String id : regIds) { topic.removeMessageListener(id); } }
@Override public <T extends PubSubMessage> void subscribe(PubSubType type, final PubSubListener<T> listener, Class<T> clazz) { String name = type.toString(); ITopic<T> topic = hazelcastSub.getTopic(name); String regId = topic.addMessageListener(new MessageListener<T>() { @Override public void onMessage(Message<T> message) { PubSubMessage msg = message.getMessageObject(); if (!nodeId.equals(msg.getNodeId())) { listener.onMessage(message.getMessageObject()); } } }); Queue<String> list = map.get(name); if (list == null) { list = new ConcurrentLinkedQueue<String>(); Queue<String> oldList = map.putIfAbsent(name, list); if (oldList != null) { list = oldList; } } list.add(regId); }
@Override public void publish(PubSubType type, PubSubMessage msg) { msg.setNodeId(nodeId); hazelcastPub.getTopic(type.toString()).publish(msg); }
@VisibleForTesting ITopic<StockPrice> createTopic(String topicName) { HazelcastInstance hzInstance = Hazelcast.newHazelcastInstance(); return hzInstance.getTopic(topicName); }
@Override protected synchronized void doUnsubscribe(String eventName) { String id = registrations.remove(eventName); log.info("Unsubscribing from [{}] id [{}]", eventName, id); if (id != null) { ITopic<String> topic = hazelcast.getTopic(eventName); topic.removeMessageListener(id); toDelete.put(eventName, 0); } }
public void run() { ITopic topic = hazelcast.getTopic("myTopic"); topic.publish(String.valueOf(random.nextInt(100000000))); messagesSend.incrementAndGet(); } }, 10);
@Override protected boolean doPublish(String name, Event event, String eventString) throws IOException { ITopic<String> topic = hazelcast.getTopic(name); topic.publish(eventString); return true; }
public static void main(String[] args) { HazelcastInstance hz = Hazelcast.newHazelcastInstance(); ITopic<Date> topic = hz.getTopic("topic"); topic.publish(new Date()); System.out.println("Published"); System.exit(0); } }
public static void main(String[] args) { HazelcastInstance hz = Hazelcast.newHazelcastInstance(); ITopic<Date> topic = hz.getTopic("topic"); topic.publish(new Date()); } }
public HazelcastTopicProducer(HazelcastInstance hazelcastInstance, HazelcastDefaultEndpoint endpoint, String topicName, boolean reliable) { super(endpoint); if (!reliable) { this.topic = hazelcastInstance.getTopic(topicName); } else { this.topic = hazelcastInstance.getReliableTopic(topicName); } }
protected <V> CachedReference<V> createAsyncHybridCachedReference(String name, Supplier<V> supplier, CacheSettings settings) { final String topicName = PREFIX_CACHE_REFERENCE + name; final ITopic<ReferenceKey> topic = hazelcast.getTopic(topicName); return new HazelcastAsyncHybridCachedReference<V>(name, localCacheFactory, topic, supplier, this, settings); }
private ITopic<ResourceNotification> topic() { if (cluster == null) { return null; } return cluster.getHz().getTopic(TOPIC_NAME); }
public static void main(String[] args) { HazelcastInstance hz = Hazelcast.newHazelcastInstance(); ITopic<Date> topic = hz.getTopic("topic"); topic.addMessageListener(new MessageListenerImpl("topic")); System.out.println("Subscribed"); }
public static void main(String[] args) { HazelcastInstance hz = Hazelcast.newHazelcastInstance(); ITopic<Date> topic = hz.getTopic("topic"); topic.addMessageListener(new MessageListenerImpl()); System.out.println("Subscribed"); }
@Produces public ITopic produceTopic( final ProviderContext context ) { final String name = retrieveSourceNameFrom( context ); final ITopic topic = hazelcast.getTopic( name ); notifyDataWasProduced(topic, ITopic.class); return topic; }
private void listenOnHazelCastMsg() { LOG.info("Subscribing to Hazelcast topic. TopicName={}", "moquette"); HazelcastInstance hz = getHazelcastInstance(); ITopic<HazelcastMsg> topic = hz.getTopic("moquette"); topic.addMessageListener(new HazelcastListener(this)); }
@Override public void publish(PubSubType type, PubSubMessage msg) { msg.setNodeId(nodeId); hazelcastPub.getTopic(type.toString()).publish(msg); }
public EventHzSynchronizer(HzCluster cluster, GeoServer gs) { super(cluster, gs); ackTopic = cluster.getHz().getTopic("geoserver.config.ack"); ackTopic.addMessageListener(ackListener = new AckListener()); }
@Override public void onPublish(InterceptPublishMessage msg) { // TODO ugly, too much array copy ByteBuf payload = msg.getPayload(); byte[] payloadContent = readBytesAndRewind(payload); LOG.info("{} publish on {} message: {}", msg.getClientID(), msg.getTopicName(), new String(payloadContent, UTF_8)); ITopic<HazelcastMsg> topic = hz.getTopic("moquette"); HazelcastMsg hazelcastMsg = new HazelcastMsg(msg); topic.publish(hazelcastMsg); }
public HzSynchronizer(HzCluster cluster, GeoServer gs) { this.cluster = cluster; this.gs = gs; topic = cluster.getHz().getTopic("geoserver.config"); topic.addMessageListener(this); executor = getNewExecutor(); gs.addListener(this); gs.getCatalog().addListener(this); }