package io.muoncore.examples;
import io.muoncore.Muon;
import io.muoncore.MuonBuilder;
import io.muoncore.config.AutoConfiguration;
import io.muoncore.config.MuonConfigBuilder;
import io.muoncore.protocol.reactivestream.client.StreamData;
import reactor.rx.broadcast.Broadcaster;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
public class ServiceStreamConsumer {
public static void main(String[] args) throws URISyntaxException, InterruptedException, NoSuchAlgorithmException, KeyManagementException, IOException {
String serviceName = "myclient";
AutoConfiguration config = MuonConfigBuilder
.withServiceIdentifier(serviceName)
.withTags("node", "awesome")
.build();
Muon muon = MuonBuilder.withConfig(config).build();
muon.getDiscovery().blockUntilReady();
Broadcaster<StreamData> b = Broadcaster.create();
b.consume(s -> {
System.out.println("DATA: " + s);
});
muon.subscribe(new URI("stream://awesomeservicequery/ticktock"), b);
}
}