44import java .util .ArrayList ;
55import java .util .Comparator ;
66import java .util .List ;
7+ import java .util .Objects ;
78import java .util .Timer ;
89import java .util .TimerTask ;
910import lombok .extern .slf4j .Slf4j ;
1011import org .springframework .stereotype .Component ;
12+ import org .tron .common .parameter .CommonParameter ;
1113import org .tron .common .utils .ByteArray ;
1214import org .tron .common .utils .JsonUtil ;
1315import org .tron .core .ChainBaseManager ;
1416import org .tron .core .capsule .BytesCapsule ;
15- import org .tron .core .config .args .Args ;
1617import org .tron .core .net .TronNetService ;
1718import org .tron .p2p .discover .Node ;
1819
1920@ Slf4j (topic = "net" )
2021@ Component
2122public class NodePersistService {
2223 private static final byte [] DB_KEY_PEERS = "peers" .getBytes ();
23- private static final long DB_COMMIT_RATE = 1 * 60 * 1000L ;
24+ private static final long DB_COMMIT_RATE = 60 * 1000L ;
2425 private static final int MAX_NODES_WRITE_TO_DB = 30 ;
25-
26- private boolean isNodePersist = Args .getInstance ().isNodeDiscoveryPersist ();
27-
28- private ChainBaseManager chainBaseManager = ChainBaseManager .getInstance ();
29-
26+ private final boolean isNodePersist = CommonParameter .getInstance ().isNodeDiscoveryPersist ();
27+ private final ChainBaseManager chainBaseManager = ChainBaseManager .getInstance ();
3028 private Timer nodePersistTaskTimer ;
3129
3230 public void init () {
33- nodePersistTaskTimer = new Timer ("NodePersistTaskTimer" );
3431 if (isNodePersist ) {
32+ nodePersistTaskTimer = new Timer ("NodePersistTaskTimer" );
3533 nodePersistTaskTimer .scheduleAtFixedRate (new TimerTask () {
3634 @ Override
3735 public void run () {
@@ -42,6 +40,9 @@ public void run() {
4240 }
4341
4442 public void close () {
43+ if (Objects .isNull (nodePersistTaskTimer )) {
44+ return ;
45+ }
4546 try {
4647 nodePersistTaskTimer .cancel ();
4748 } catch (Exception e ) {
0 commit comments