Skip to content

Commit 2391dab

Browse files
committed
read mongodb config from mongodb.properties
1 parent 7ff2f36 commit 2391dab

File tree

3 files changed

+67
-40
lines changed

3 files changed

+67
-40
lines changed

plugins/mongodbplugin/src/main/java/org/tron/eventplugin/MongodbSenderImpl.java

Lines changed: 65 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package org.tron.eventplugin;
22
import org.pf4j.util.StringUtils;
3+
4+
import java.io.IOException;
5+
import java.io.InputStream;
36
import java.util.concurrent.ExecutorService;
47
import java.util.concurrent.Executors;
58

@@ -9,8 +12,6 @@
912
import java.util.concurrent.BlockingQueue;
1013
import java.util.concurrent.LinkedBlockingQueue;
1114
import java.util.concurrent.TimeUnit;
12-
import com.fasterxml.jackson.databind.ObjectMapper;
13-
import org.springframework.util.concurrent.ListenableFuture;
1415
import org.tron.mongodb.MongoConfig;
1516
import org.tron.mongodb.MongoManager;
1617
import org.tron.mongodb.MongoTemplate;
@@ -19,11 +20,8 @@ public class MongodbSenderImpl{
1920
private static MongodbSenderImpl instance = null;
2021
private static final Logger log = LoggerFactory.getLogger(MongodbSenderImpl.class);
2122
ExecutorService service = Executors.newFixedThreadPool(8);
22-
List<ListenableFuture<?>> futures = new ArrayList<>();
2323

24-
private String serverAddress = "";
2524
private boolean loaded = false;
26-
2725
private BlockingQueue<Object> triggerQueue = new LinkedBlockingQueue();
2826

2927
private String blockTopic = "";
@@ -37,8 +35,7 @@ public class MongodbSenderImpl{
3735
private MongoManager mongoManager;
3836
private Map<String, MongoTemplate> mongoTemplateMap;
3937

40-
private ObjectMapper mapper = new ObjectMapper();
41-
38+
private MongoConfig mongoConfig;
4239

4340
public static MongodbSenderImpl getInstance(){
4441
if (Objects.isNull(instance)) {
@@ -52,8 +49,41 @@ public static MongodbSenderImpl getInstance(){
5249
return instance;
5350
}
5451

55-
public void setServerAddress(final String address){
56-
initMongoConfig(address);
52+
public void setServerAddress(final String serverAddress){
53+
if (StringUtils.isNullOrEmpty(serverAddress)){
54+
return;
55+
}
56+
57+
String[] params = serverAddress.split(":");
58+
if (params.length != 2){
59+
return;
60+
}
61+
62+
String mongoHostName = "";
63+
int mongoPort = -1;
64+
65+
try{
66+
mongoHostName = params[0];
67+
mongoPort = Integer.valueOf(params[1]);
68+
}
69+
catch (Exception e){
70+
e.printStackTrace();
71+
return;
72+
}
73+
74+
if (Objects.isNull(mongoConfig)){
75+
mongoConfig = new MongoConfig();
76+
}
77+
78+
mongoConfig.setHost(mongoHostName);
79+
mongoConfig.setPort(mongoPort);
80+
81+
loadMongoConfig();
82+
83+
if (Objects.isNull(mongoManager)){
84+
mongoManager = new MongoManager();
85+
mongoManager.initConfig(mongoConfig);
86+
}
5787
}
5888

5989
public void init(){
@@ -66,44 +96,44 @@ public void init(){
6696
triggerProcessThread.start();
6797

6898
mongoTemplateMap = new HashMap<>();
69-
7099
loaded = true;
71100
}
72101

73-
private void initMongoConfig(String serverAddress){
74-
if (StringUtils.isNullOrEmpty(serverAddress)){
75-
return;
76-
}
102+
private void loadMongoConfig(){
77103

78-
String[] params = serverAddress.split(":");
79-
if (params.length != 2){
104+
if (Objects.isNull(mongoConfig)){
80105
return;
81106
}
82107

83-
String hostName = "";
84-
int port = -1;
108+
Properties properties = new Properties();
85109

86-
try{
87-
hostName = params[0];
88-
port = Integer.valueOf(params[1]);
89-
}
90-
catch (Exception e){
91-
e.printStackTrace();
92-
return;
93-
}
110+
try {
111+
InputStream input = getClass().getClassLoader().getResourceAsStream("mongodb.properties");
112+
if (Objects.isNull(input)){
113+
return;
114+
}
115+
properties.load(input);
94116

95-
MongoConfig config = new MongoConfig();
96-
config.setDbName("eventlog");
97-
config.setHost(hostName);
98-
config.setPort(port);
117+
String dbName = properties.getProperty("mongo.dbname");
118+
String userName = properties.getProperty("mongo.username");
119+
String password = properties.getProperty("mongo.password");
99120

100-
config.setUsername("tron");
101-
config.setPassword("123456");
121+
int connectionsPerHost = Integer.parseInt(properties.getProperty("mongo.connectionsPerHost"));
122+
int threadsAllowedToBlockForConnectionMultiplie = Integer.parseInt(
123+
properties.getProperty("mongo.threadsAllowedToBlockForConnectionMultiplier"));
102124

103-
if (Objects.isNull(mongoManager)){
104-
mongoManager = new MongoManager();
105-
mongoManager.initConfig(config);
125+
mongoConfig.setDbName(dbName);
126+
mongoConfig.setUsername(userName);
127+
mongoConfig.setPassword(password);
128+
129+
mongoConfig.setConnectionsPerHost(connectionsPerHost);
130+
mongoConfig.setThreadsAllowedToBlockForConnectionMultiplier(threadsAllowedToBlockForConnectionMultiplie);
131+
} catch (IOException e) {
132+
e.printStackTrace();
133+
} catch (Exception e){
134+
e.printStackTrace();
106135
}
136+
107137
}
108138

109139
private MongoTemplate createMongoTemplate(final String collectionName){

plugins/mongodbplugin/src/main/java/org/tron/mongodb/MongoTemplate.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.tron.mongodb;
22

3-
import java.io.Serializable;
43
import java.util.ArrayList;
54
import java.util.List;
65
import java.util.Objects;

plugins/src/main/resources/mongodb.properties renamed to plugins/mongodbplugin/src/main/resources/mongodb.properties

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
mongo.host=127.0.0.1
2-
mongo.port=27017
3-
mongo.dbname=events
1+
mongo.dbname=eventlog
42
mongo.username=tron
5-
mongo.password=12345678
3+
mongo.password=123456
64

75
mongo.connectionsPerHost=8
86
mongo.threadsAllowedToBlockForConnectionMultiplier=4

0 commit comments

Comments
 (0)