package com.sequenceiq.samples.test; import com.sequenceiq.samples.callback.StatusCallback; import com.sequenceiq.samples.client.Client; import com.sequenceiq.samples.server.Server; import com.sequenceiq.samples.transfer.StatusResponse; public class Executor implements StatusCallback { private final Client client; private final String name; public Executor(Client client, String name) { this.client = client; this.name = name; } public void serverStatus() { client.sendStatusRequest(this); } @Override public void process(StatusResponse status) { System.out.println("Executor (" + name + ") received status response: " + status.getStatus()); } public static void main(String[] args) { Server server = new Server(); Client client = new Client(server); Executor executor1 = new Executor(client, "exec1"); Executor executor2 = new Executor(client, "exec2"); executor1.serverStatus(); executor2.serverStatus(); executor1.serverStatus(); executor1.serverStatus(); executor2.serverStatus(); server.shutdown(); } }