public static ProxyMessage list() { return ProxyMessage.newBuilder() .withType("topic") .withAction("list") .build(); }
public static ProxyMessage health() { return ProxyMessage.newBuilder() .withType("health") .build(); } }
@Override public void shutdown() { client.shutdown(); } }
@Override public void send(String to, Response response) { ProxyMessage responseMessage = ProxyMessageBuilder.notification(new NotificationCreatePayload(to, gson.toJson(response))); proxyClient.push(responseMessage); } }
public void createTopic(List<String> topics) { client.push(ProxyMessageBuilder.create(new TopicsPayload(topics))).join(); }
public void subscribeToTopic(String topic) { client.push(ProxyMessageBuilder.subscribe(new SubscribePayload(topic))).join(); }
public void start() { proxyClient.start(); }
public static <T extends Payload> Builder<T> newBuilder() { return new Builder<>(); }
public ProxyMessage build() { return new ProxyMessage(id, type, action, status, payload); }
public static ProxyMessage notification(NotificationCreatePayload payload) { return ProxyMessage.newBuilder() .withType("notif") .withAction("create") .withPayload(payload) .build(); }
@Override public void push(Request request) { if (request.getBody() == null) { throw new NullPointerException("Request body must not be null."); } request.setReplyTo(replyToTopic); client.push(ProxyMessageBuilder.notification(new NotificationCreatePayload(requestTopic, gson.toJson(request)))); // toDo: use request partition key }
public void createTopic(List<String> topics) { client.push(ProxyMessageBuilder.create(new TopicsPayload(topics))).join(); }
public void subscribeToTopic(String topic) { client.push(ProxyMessageBuilder.subscribe(new SubscribePayload(topic))).join(); }
@Autowired public ProxyServerEventHandler(Gson gson, WebSocketKafkaProxyConfig proxyConfig, HandlersMapper requestHandlersMapper) { this.gson = gson; this.requestHandlersMapper = requestHandlersMapper; WebSocketKafkaProxyClient webSocketKafkaProxyClient = new WebSocketKafkaProxyClient((message, client) -> {}); webSocketKafkaProxyClient.setWebSocketKafkaProxyConfig(proxyConfig); this.proxyClient = webSocketKafkaProxyClient; this.proxyClient.start(); }
@Override public void shutdown() { client.shutdown(); }
public static ProxyMessage unsubscribe() { return ProxyMessage.newBuilder() .withType("topic") .withAction("unsubscribe") .build(); }
@Override public void push(Request request) { if (request.getBody() == null) { throw new NullPointerException("Request body must not be null."); } request.setReplyTo(replyToTopic); client.push(ProxyMessageBuilder.notification(new NotificationCreatePayload(requestTopic, gson.toJson(request)))); // toDo: use request partition key }
@Override public void start() { client.start(); createTopic(Arrays.asList(requestTopic, replyToTopic)); subscribeToTopic(replyToTopic); pingServer(); }
public static ProxyMessage create(TopicsPayload payload) { return ProxyMessage.newBuilder() .withType("topic") .withAction("create") .withPayload(payload) .build(); }
public static ProxyMessage subscribe(SubscribePayload payload) { return ProxyMessage.newBuilder() .withType("topic") .withAction("subscribe") .withPayload(payload) .build(); }