Skip to content

Commit 7ff2f36

Browse files
author
wubin1
committed
multiple thread
1 parent 24ab53a commit 7ff2f36

File tree

3 files changed

+43
-18
lines changed

3 files changed

+43
-18
lines changed

app/src/main/java/org/tron/eventplugin/app/PluginLauncher.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class PluginLauncher {
3434
private static final Logger logger = LoggerFactory.getLogger(PluginLauncher.class);
3535

3636
public static void main(String[] args) {
37-
String path = "/Users/tron/sourcecode/eventplugin/build/plugins/plugin-mongodb-1.0.0.zip";
37+
String path = "/Users/tron/workplace/java-tronSubmit/java-tronUseSubmit/develop_event_subscribe/eventplugin/build/plugins/plugin-mongodb-1.0.0.zip";
3838

3939
File dir = new File(path);
4040
// create the plugin manager

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

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,25 @@
11
package org.tron.eventplugin;
22
import org.pf4j.util.StringUtils;
3+
import java.util.concurrent.ExecutorService;
4+
import java.util.concurrent.Executors;
5+
36
import org.slf4j.Logger;
47
import org.slf4j.LoggerFactory;
58
import java.util.*;
69
import java.util.concurrent.BlockingQueue;
710
import java.util.concurrent.LinkedBlockingQueue;
811
import java.util.concurrent.TimeUnit;
912
import com.fasterxml.jackson.databind.ObjectMapper;
13+
import org.springframework.util.concurrent.ListenableFuture;
1014
import org.tron.mongodb.MongoConfig;
1115
import org.tron.mongodb.MongoManager;
1216
import org.tron.mongodb.MongoTemplate;
1317

1418
public class MongodbSenderImpl{
1519
private static MongodbSenderImpl instance = null;
1620
private static final Logger log = LoggerFactory.getLogger(MongodbSenderImpl.class);
21+
ExecutorService service = Executors.newFixedThreadPool(8);
22+
List<ListenableFuture<?>> futures = new ArrayList<>();
1723

1824
private String serverAddress = "";
1925
private boolean loaded = false;
@@ -157,11 +163,14 @@ public void handleBlockEvent(Object data) {
157163
if (blockTopic == null || blockTopic.length() == 0){
158164
return;
159165
}
160-
161166
MongoTemplate template = mongoTemplateMap.get(blockTopic);
162-
if (Objects.nonNull(template)){
163-
template.addEntity((String)data);
164-
System.out.println("handleBlockEvent " + data);
167+
if (Objects.nonNull(template)) {
168+
service.execute(new Runnable() {
169+
@Override
170+
public void run() {
171+
template.addEntity((String)data);
172+
}
173+
});
165174
}
166175
}
167176

@@ -170,9 +179,15 @@ public void handleTransactionTrigger(Object data) {
170179
return;
171180
}
172181

182+
173183
MongoTemplate template = mongoTemplateMap.get(transactionTopic);
174-
if (Objects.nonNull(template)){
175-
template.addEntity((String)data);
184+
if (Objects.nonNull(template)) {
185+
service.execute(new Runnable() {
186+
@Override
187+
public void run() {
188+
template.addEntity((String)data);
189+
}
190+
});
176191
}
177192
}
178193

@@ -182,8 +197,13 @@ public void handleContractLogTrigger(Object data) {
182197
}
183198

184199
MongoTemplate template = mongoTemplateMap.get(contractLogTopic);
185-
if (Objects.nonNull(template)){
186-
template.addEntity((String)data);
200+
if (Objects.nonNull(template)) {
201+
service.execute(new Runnable() {
202+
@Override
203+
public void run() {
204+
template.addEntity((String)data);
205+
}
206+
});
187207
}
188208
}
189209

@@ -193,8 +213,13 @@ public void handleContractEventTrigger(Object data) {
193213
}
194214

195215
MongoTemplate template = mongoTemplateMap.get(contractEventTopic);
196-
if (Objects.nonNull(template)){
197-
template.addEntity((String)data);
216+
if (Objects.nonNull(template)) {
217+
service.execute(new Runnable() {
218+
@Override
219+
public void run() {
220+
template.addEntity((String)data);
221+
}
222+
});
198223
}
199224
}
200225

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,22 +42,22 @@ public void addEntity(String entity) {
4242
}
4343
}
4444

45-
public void addList(List<Document> documents) {
46-
MongoCollection<Document> collection = getCollection();
47-
collection.insertMany(documents);
48-
}
49-
50-
public void addEntityList(List<Serializable> entities) {
45+
public void addEntityList(List<String> entities) {
5146
MongoCollection<Document> collection = getCollection();
5247
List<Document> documents = new ArrayList<Document>();
5348
if (entities != null && !entities.isEmpty()) {
54-
for (Serializable entity : entities) {
49+
for (String entity : entities) {
5550
documents.add(Converter.jsonStringToDocument(Converter.objectToJsonString(entity)));
5651
}
5752
}
5853
collection.insertMany(documents);
5954
}
6055

56+
public void addList(List<Document> documents) {
57+
MongoCollection<Document> collection = getCollection();
58+
collection.insertMany(documents);
59+
}
60+
6161
public long update(String updateColumn, Object updateValue, String whereColumn, Object whereValue) {
6262
MongoCollection<Document> collection = getCollection();
6363
UpdateResult result = collection.updateMany(Filters.eq(whereColumn, whereValue),

0 commit comments

Comments
 (0)