Skip to content

Commit 4576f7b

Browse files
committed
resolve dump bug when resubscribe
1 parent f028e04 commit 4576f7b

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

chainsql/src/main/java/com/peersafe/chainsql/manager/EventManager.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,13 @@ public void init(Connection connection) {
6262
* Resubscribe automatically after reconnected.
6363
*/
6464
public void reSubscribe(){
65-
int ownerLen = this.connection.address.length();
6665
for(String key : mapTableCache.keySet()){
67-
String name = key.substring(0,key.length() - ownerLen);
68-
String owner = key.substring(key.length() - ownerLen);
66+
String[] keys = key.split(";");
67+
if(keys.length != 2){
68+
continue;
69+
}
70+
String name = keys[0];
71+
String owner = keys[1];
6972

7073
JSONObject messageTx = new JSONObject();
7174
messageTx.put("command", "subscribe");
@@ -101,7 +104,7 @@ private void onChainsqlSubRet() {
101104
@Override
102105
public void called(JSONObject args) {
103106
if(args.has("owner") && args.has("tablename")) {
104-
String key = args.getString("tablename") + args.getString("owner");
107+
String key = args.getString("tablename") + ";" + args.getString("owner");
105108
makeCallback(key,args.getJSONObject("result"));
106109
}
107110
if(args.has("transaction")) {
@@ -138,7 +141,7 @@ public void called(JSONObject args) {
138141
onChainsqlSubRet();
139142
this.onSubRet = true;
140143
}
141-
this.mapTableCache.put(name + owner,cb);
144+
this.mapTableCache.put(name +";" + owner,cb);
142145
}
143146

144147
/**
@@ -226,7 +229,7 @@ public void unsubscribeTable(String name, String owner,Callback<JSONObject> cb)
226229
messageTx.put("tablename", name);
227230
this.connection.client.subscriptions.addMessage(messageTx);
228231

229-
String key = name + owner;
232+
String key = name +";" + owner;
230233

231234
JSONObject obj = new JSONObject();
232235
if(this.mapTableCache.containsKey(key)) {

0 commit comments

Comments
 (0)