This is an automated email from the ASF dual-hosted git repository.

lta pushed a commit to branch cluster_akka
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git

commit 74ff2052e4f65d4f804548a25e0fcc6fec06094c
Author: lta <[email protected]>
AuthorDate: Mon Mar 4 13:43:10 2019 +0800

    integrate code
---
 .../org/apache/iotdb/db/cluster/IoTDBCluster.java  | 32 +++++++++++++++
 .../org/apache/iotdb/db/cluster/IoTDBClustetr.java | 45 ----------------------
 .../org/apache/iotdb/db/cluster/IoTDBNode.java     | 27 ++++++-------
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 34 ++++++++++++++++
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  3 ++
 5 files changed, 80 insertions(+), 61 deletions(-)

diff --git a/iotdb/src/main/java/org/apache/iotdb/db/cluster/IoTDBCluster.java 
b/iotdb/src/main/java/org/apache/iotdb/db/cluster/IoTDBCluster.java
new file mode 100644
index 0000000..ade9c87
--- /dev/null
+++ b/iotdb/src/main/java/org/apache/iotdb/db/cluster/IoTDBCluster.java
@@ -0,0 +1,32 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements.  See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership.  The ASF licenses this file to you under the Apache 
License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with the 
License.  You may obtain
+ * a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied.  See the License for the specific language governing 
permissions and limitations
+ * under the License.
+ */
+package org.apache.iotdb.db.cluster;
+
+import akka.actor.ActorSystem;
+import com.typesafe.config.Config;
+import org.apache.iotdb.db.conf.IoTDBDescriptor;
+
+/**
+ * @author lta
+ */
+public class IoTDBCluster {
+
+  private static Config clusterConfig = 
IoTDBDescriptor.getInstance().getConfig().clusterConfig;
+
+  public static void main(String[] args) {
+    ActorSystem system = ActorSystem.create("IoTDBClusterSystem", 
clusterConfig);
+    system.actorOf(IoTDBNode.props(), "clusterListener");
+  }
+}
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/cluster/IoTDBClustetr.java 
b/iotdb/src/main/java/org/apache/iotdb/db/cluster/IoTDBClustetr.java
deleted file mode 100644
index e82497f..0000000
--- a/iotdb/src/main/java/org/apache/iotdb/db/cluster/IoTDBClustetr.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.iotdb.db.cluster;
-
-import akka.actor.ActorSystem;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
-import java.io.File;
-import org.apache.iotdb.db.conf.IoTDBConstant;
-
-/**
- * @author lta
- */
-public class IoTDBClustetr {
-
-  public static void main(String[] args) {
-    String url = System.getProperty(IoTDBConstant.IOTDB_CONF, null);
-    Config config;
-    if (url != null) {
-      config = ConfigFactory.parseFile(new File(url, 
IoTDBConstant.CLUSTER_CONFIG));
-    } else {
-      config = ConfigFactory.parseFile(new File(
-          
"/Users/litianan/workspace/java/IDEA/IoTDBProject/incubator-iotdb/iotdb/iotdb/conf",
-          IoTDBConstant.CLUSTER_CONFIG));
-    }
-    ActorSystem system = ActorSystem.create("IoTDBClusterSystem", config);
-    system.actorOf(IoTDBNode.props(), "clusterListener");
-  }
-}
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/cluster/IoTDBNode.java 
b/iotdb/src/main/java/org/apache/iotdb/db/cluster/IoTDBNode.java
index 68334b0..4526ab0 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/cluster/IoTDBNode.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/cluster/IoTDBNode.java
@@ -1,19 +1,15 @@
 /**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements.  See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership.  The ASF licenses this file to you under the Apache 
License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with the 
License.  You may obtain
+ * a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied.  See the License for the specific language governing 
permissions and limitations
  * under the License.
  */
 package org.apache.iotdb.db.cluster;
@@ -28,7 +24,6 @@ import akka.cluster.ClusterEvent.MemberUp;
 import akka.cluster.ClusterEvent.UnreachableMember;
 import akka.event.Logging;
 import akka.event.LoggingAdapter;
-import org.apache.iotdb.db.exception.FileNodeManagerException;
 import org.apache.iotdb.db.service.IoTDB;
 
 /**
@@ -53,9 +48,9 @@ public class IoTDBNode extends AbstractActor {
   }
 
   @Override
-  public void postStop() throws FileNodeManagerException {
+  public void postStop() {
+    daemon.deactivate();
     cluster.unsubscribe(self());
-    daemon.stop();
   }
 
   public IoTDBNode() {
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java 
b/iotdb/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
index 96e2969..acb74ce 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
@@ -18,6 +18,8 @@
  */
 package org.apache.iotdb.db.conf;
 
+import com.typesafe.config.Config;
+import com.typesafe.config.ConfigFactory;
 import java.io.File;
 import java.time.ZoneId;
 import java.util.ArrayList;
@@ -273,6 +275,12 @@ public class IoTDBConfig {
    */
   public long cacheFileReaderClearPeriod = 100000;
 
+  /**
+   * Cluster Config
+   */
+  public Config clusterConfig;
+
+
   public IoTDBConfig() {
     // empty constructor
   }
@@ -322,6 +330,32 @@ public class IoTDBConfig {
 
     derbyHome = sysDir + derbyHome;
     indexFileDir = dataDir + indexFileDir;
+
+    // default cluster configuration
+    clusterConfig = ConfigFactory.parseString("akka {\n"
+        + "  actor {\n"
+        + "    provider = \"cluster\"\n"
+        + "  }\n"
+        + "  remote {\n"
+        + "    netty.tcp {\n"
+        + "      hostname = \"127.0.0.1\"\n"
+        + "      port = 2552\n"
+        + "    }\n"
+        + "\n"
+        + "    artery {\n"
+        + "      enabled = off\n"
+        + "      transport = tcp\n"
+        + "      canonical.hostname = \"127.0.0.1\"\n"
+        + "      canonical.port = 0\n"
+        + "    }\n"
+        + "  }\n"
+        + "\n"
+        + "  cluster {\n"
+        + "    seed-nodes = [\n"
+        + "      \"akka.tcp://[email protected]:2552\"]\n"
+        + "    auto-down-unreachable-after = 10s\n"
+        + "  }\n"
+        + "}");
   }
 
   /*
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java 
b/iotdb/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
index 5cb2fab..f23a122 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.conf;
 
+import com.typesafe.config.ConfigFactory;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
@@ -78,6 +79,8 @@ public class IoTDBDescriptor {
       return;
     }
 
+    conf.clusterConfig = ConfigFactory.parseFile(new File(url, 
IoTDBConstant.CLUSTER_CONFIG));
+
     LOGGER.info("Start to read config file {}", url);
     Properties properties = new Properties();
     try {

Reply via email to