Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ public class CommonParameter {
@Parameter(names = {"-c", "--config"}, description = "Config file (default:config.conf)")
public String shellConfFileName = "";
@Getter
@Setter
public String configFilePath = "";
@Getter
@Parameter(names = {"-d", "--output-directory"},
description = "Data directory for the databases (default:output-directory)")
public String outputDirectory = "output-directory";
Expand Down
402 changes: 22 additions & 380 deletions common/src/main/java/org/tron/core/Constant.java

Large diffs are not rendered by default.

912 changes: 456 additions & 456 deletions framework/src/main/java/org/tron/core/config/args/Args.java

Large diffs are not rendered by default.

329 changes: 329 additions & 0 deletions framework/src/main/java/org/tron/core/config/args/ConfigKey.java

Large diffs are not rendered by default.

45 changes: 12 additions & 33 deletions framework/src/main/java/org/tron/core/config/args/DynamicArgs.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package org.tron.core.config.args;

import static org.apache.commons.lang3.StringUtils.isNoneBlank;

import com.typesafe.config.Config;
import java.io.File;
import java.net.InetAddress;
Expand All @@ -15,7 +13,6 @@
import org.springframework.stereotype.Component;
import org.tron.common.es.ExecutorServiceManager;
import org.tron.common.parameter.CommonParameter;
import org.tron.core.Constant;
import org.tron.core.config.Configuration;
import org.tron.core.net.TronNetService;

Expand All @@ -25,6 +22,7 @@
public class DynamicArgs {
private final CommonParameter parameter = Args.getInstance();

private File configFile;
private long lastModified = 0;

private ScheduledExecutorService reloadExecutor;
Expand All @@ -36,11 +34,12 @@ public void init() {
reloadExecutor = ExecutorServiceManager.newSingleThreadScheduledExecutor(esName);
logger.info("Start the dynamic loading configuration service");
long checkInterval = parameter.getDynamicConfigCheckInterval();
File config = getConfigFile();
if (config == null) {
configFile = new File(parameter.getConfigFilePath());
if (!configFile.exists()) {
logger.warn("Configuration path is required! No such file {}", configFile);
return;
}
lastModified = config.lastModified();
lastModified = configFile.lastModified();
reloadExecutor.scheduleWithFixedDelay(() -> {
try {
run();
Expand All @@ -52,36 +51,16 @@ public void init() {
}

public void run() {
File config = getConfigFile();
if (config != null) {
long lastModifiedTime = config.lastModified();
if (lastModifiedTime > lastModified) {
reload();
lastModified = lastModifiedTime;
}
}
}

private File getConfigFile() {
String confFilePath;
if (isNoneBlank(parameter.getShellConfFileName())) {
confFilePath = parameter.getShellConfFileName();
} else {
confFilePath = Constant.NET_CONF;
}

File confFile = new File(confFilePath);
if (!confFile.exists()) {
logger.warn("Configuration path is required! No such file {}", confFile);
return null;
long lastModifiedTime = configFile.lastModified();
if (lastModifiedTime > lastModified) {
reload();
lastModified = lastModifiedTime;
}
return confFile;
}

public void reload() {
logger.debug("Reloading ... ");
Config config = Configuration.getByFileName(parameter.getShellConfFileName(),
Constant.NET_CONF);
Config config = Configuration.getByFileName(parameter.getConfigFilePath(), null);

updateActiveNodes(config);

Expand All @@ -90,7 +69,7 @@ public void reload() {

private void updateActiveNodes(Config config) {
List<InetSocketAddress> newActiveNodes =
Args.getInetSocketAddress(config, Constant.NODE_ACTIVE, true);
Args.getInetSocketAddress(config, ConfigKey.NODE_ACTIVE, true);
parameter.setActiveNodes(newActiveNodes);
List<InetSocketAddress> activeNodes = TronNetService.getP2pConfig().getActiveNodes();
activeNodes.clear();
Expand All @@ -100,7 +79,7 @@ private void updateActiveNodes(Config config) {
}

private void updateTrustNodes(Config config) {
List<InetAddress> newPassiveNodes = Args.getInetAddress(config, Constant.NODE_PASSIVE);
List<InetAddress> newPassiveNodes = Args.getInetAddress(config, ConfigKey.NODE_PASSIVE);
parameter.setPassiveNodes(newPassiveNodes);
List<InetAddress> trustNodes = TronNetService.getP2pConfig().getTrustNodes();
trustNodes.clear();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import org.tron.common.utils.ByteArray;
import org.tron.common.utils.Commons;
import org.tron.common.utils.LocalWitnesses;
import org.tron.core.Constant;
import org.tron.core.exception.CipherException;
import org.tron.core.exception.TronError;
import org.tron.keystore.Credentials;
Expand Down Expand Up @@ -70,12 +69,12 @@ private boolean tryInitFromCommandLine() {
}

private boolean tryInitFromConfig() {
if (!config.hasPath(Constant.LOCAL_WITNESS) || config.getStringList(Constant.LOCAL_WITNESS)
if (!config.hasPath(ConfigKey.LOCAL_WITNESS) || config.getStringList(ConfigKey.LOCAL_WITNESS)
.isEmpty()) {
return false;
}

List<String> localWitness = config.getStringList(Constant.LOCAL_WITNESS);
List<String> localWitness = config.getStringList(ConfigKey.LOCAL_WITNESS);
this.localWitnesses.setPrivateKeys(localWitness);
logger.debug("Got privateKey from config.conf");
byte[] witnessAddress = getWitnessAddress();
Expand All @@ -85,12 +84,12 @@ private boolean tryInitFromConfig() {
}

private void tryInitFromKeystore() {
if (!config.hasPath(Constant.LOCAL_WITNESS_KEYSTORE)
|| config.getStringList(Constant.LOCAL_WITNESS_KEYSTORE).isEmpty()) {
if (!config.hasPath(ConfigKey.LOCAL_WITNESS_KEYSTORE)
|| config.getStringList(ConfigKey.LOCAL_WITNESS_KEYSTORE).isEmpty()) {
return;
}

List<String> localWitness = config.getStringList(Constant.LOCAL_WITNESS_KEYSTORE);
List<String> localWitness = config.getStringList(ConfigKey.LOCAL_WITNESS_KEYSTORE);
if (localWitness.size() > 1) {
logger.warn(
"Multiple keystores detected. Only the first keystore will be used as witness, all "
Expand Down Expand Up @@ -127,7 +126,7 @@ private void tryInitFromKeystore() {
}

private byte[] getWitnessAddress() {
if (!config.hasPath(Constant.LOCAL_WITNESS_ACCOUNT_ADDRESS)) {
if (!config.hasPath(ConfigKey.LOCAL_WITNESS_ACCOUNT_ADDRESS)) {
return null;
}

Expand All @@ -137,7 +136,7 @@ private byte[] getWitnessAddress() {
TronError.ErrCode.WITNESS_INIT);
}
byte[] witnessAddress = Commons
.decodeFromBase58Check(config.getString(Constant.LOCAL_WITNESS_ACCOUNT_ADDRESS));
.decodeFromBase58Check(config.getString(ConfigKey.LOCAL_WITNESS_ACCOUNT_ADDRESS));
if (witnessAddress != null) {
logger.debug("Got localWitnessAccountAddress from config.conf");
} else {
Expand Down
3 changes: 1 addition & 2 deletions framework/src/main/java/org/tron/program/FullNode.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import org.tron.common.log.LogService;
import org.tron.common.parameter.CommonParameter;
import org.tron.common.prometheus.Metrics;
import org.tron.core.Constant;
import org.tron.core.config.DefaultConfig;
import org.tron.core.config.args.Args;

Expand All @@ -21,7 +20,7 @@ public class FullNode {
*/
public static void main(String[] args) {
ExitManager.initExceptionHandler();
Args.setParam(args, Constant.NET_CONF);
Args.setParam(args, "config.conf");
CommonParameter parameter = Args.getInstance();

LogService.load(parameter.getLogbackPath());
Expand Down
179 changes: 0 additions & 179 deletions framework/src/main/resources/config-backup.conf

This file was deleted.

Loading
Loading