blob: b0b9ae4434fdeae90910686e74ad2a6fcaef1765 [file] [log] [blame]
package backtype.storm.utils;
import backtype.storm.Config;
import backtype.storm.generated.Nimbus;
import java.util.Map;
import org.apache.thrift7.TException;
import org.apache.thrift7.protocol.TBinaryProtocol;
import org.apache.thrift7.transport.TFramedTransport;
import org.apache.thrift7.transport.TSocket;
import org.apache.thrift7.transport.TTransport;
public class NimbusClient {
public static NimbusClient getConfiguredClient(Map conf) {
String nimbusHost = (String) conf.get(Config.NIMBUS_HOST);
int nimbusPort = Utils.getInt(conf.get(Config.NIMBUS_THRIFT_PORT));
return new NimbusClient(nimbusHost, nimbusPort);
}
private TTransport conn;
private Nimbus.Client client;
public NimbusClient(String host) {
this(host, 6627);
}
public NimbusClient(String host, int port) {
try {
if(host==null) {
throw new IllegalArgumentException("Nimbus host is not set");
}
conn = new TFramedTransport(new TSocket(host, port));
client = new Nimbus.Client(new TBinaryProtocol(conn));
conn.open();
} catch(TException e) {
throw new RuntimeException(e);
}
}
public Nimbus.Client getClient() {
return client;
}
public void close() {
conn.close();
}
}