import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
logger.fine("loaded " + loadedNodes.size() + " nodes from config");
synchronized (syncObject) {
nodes.clear();
- nodes.addAll(loadedNodes);
- }
- for (Node node: nodes) {
- fireNodeAdded(node);
+ for (Node node: nodes) {
+ addNode(node);
+ }
}
}
* @see #connect(Node)
* @param node
* The node to connect to
+ * @throws UnknownHostException
+ * if the hostname of the node can not be resolved
*/
- public void addNode(Node node) {
+ public void addNode(Node node) throws UnknownHostException {
synchronized (syncObject) {
if (!nodes.contains(node)) {
+ HighLevelClient highLevelClient= new HighLevelClient(clientName, node.getHostname(), node.getPort());
nodes.add(node);
+ clientNodes.put(highLevelClient, node);
+ nodeClients.put(node, highLevelClient);
+ highLevelClient.addHighLevelClientListener(this);
fireNodeAdded(node);
}
}
* The node to connect to
*/
public void connect(Node node) {
+ HighLevelClient highLevelClient;
+ synchronized (syncObject) {
+ highLevelClient = nodeClients.get(node);
+ }
try {
- HighLevelClient highLevelClient = new HighLevelClient(clientName, node.getHostname(), node.getPort());
- synchronized (syncObject) {
- clientNodes.put(highLevelClient, node);
- nodeClients.put(node, highLevelClient);
- }
- highLevelClient.addHighLevelClientListener(this);
highLevelClient.connect();
} catch (IOException ioe1) {
fireNodeDisconnected(node, ioe1);