Bootstrap.{setup,start}()
src/main/java/org/elasticsearch/bootstrap/Bootstrap.java:
50/**
51 * A main entry point when starting from the command line.
52 */
53 public class Bootstrap {
…
62 private void setup(boolean addShutdownHook, Tuple<Settings,
Environment> tuple) throws Exception {
…
69 NodeBuilder nodeBuilder =
NodeBuilder.nodeBuilder().settings(tuple.v1()).loadConfigSettings(fa
lse);
70 node = nodeBuilder.build();
…
79 }
…
118 /**
119 * hook for JSVC
120 */
121 public void start() {
122 node.start();
123 }
11
12.
NodeBuilder
src/main/java/org/elasticsearch/node/NodeBuilder.java:
26/**
27 * A node builder is used to construct a {@link Node} instance.
…
57 */
58 public class NodeBuilder {
…
64 /**
65 * A convenient factory method to create a {@link
NodeBuilder}.
66 */
67 public static NodeBuilder nodeBuilder() {
68 return new NodeBuilder();
69 }
…
155 /**
156 * Builds the node without starting it.
157 */
158 public Node build() {
159 return new InternalNode(settings.build(),
loadConfigSettings);
160 }
12
13.
class InternalNode
AutoClosable
Releasable
<<interface>>
Node
final
InternalNode
• ノードに関する情報を保持しているクラス
• elasticsearchの各々のサーバのこと