@@ -146,18 +146,15 @@ public void onSupportMessage(SupportMessage message) {
146
146
if (canProcessMessage (message )) {
147
147
log .info ("Received {} from {} with tradeId {} and uid {}" ,
148
148
message .getClass ().getSimpleName (), message .getSenderNodeAddress (), message .getTradeId (), message .getUid ());
149
-
150
- ThreadUtils .execute (() -> {
151
- if (message instanceof DisputeOpenedMessage ) {
152
- handle ((DisputeOpenedMessage ) message );
153
- } else if (message instanceof ChatMessage ) {
154
- handle ((ChatMessage ) message );
155
- } else if (message instanceof DisputeClosedMessage ) {
156
- handle ((DisputeClosedMessage ) message );
157
- } else {
158
- log .warn ("Unsupported message at dispatchMessage. message={}" , message );
159
- }
160
- }, message .getTradeId ());
149
+ if (message instanceof DisputeOpenedMessage ) {
150
+ handle ((DisputeOpenedMessage ) message );
151
+ } else if (message instanceof ChatMessage ) {
152
+ handle ((ChatMessage ) message );
153
+ } else if (message instanceof DisputeClosedMessage ) {
154
+ handle ((DisputeClosedMessage ) message );
155
+ } else {
156
+ log .warn ("Unsupported message at dispatchMessage. message={}" , message );
157
+ }
161
158
}
162
159
}
163
160
@@ -272,6 +269,10 @@ private void handle(DisputeClosedMessage disputeClosedMessage, boolean reprocess
272
269
return ;
273
270
}
274
271
272
+ // save dispute closed message for reprocessing
273
+ trade .getArbitrator ().setDisputeClosedMessage (disputeClosedMessage );
274
+ persistNow (null );
275
+
275
276
// try to process dispute closed message
276
277
ThreadUtils .execute (() -> {
277
278
ChatMessage chatMessage = null ;
@@ -310,10 +311,6 @@ private void handle(DisputeClosedMessage disputeClosedMessage, boolean reprocess
310
311
if (dispute != null ) DisputeSummaryVerification .verifySignature (summaryText , dispute .getAgentPubKeyRing ()); // use dispute's arbitrator pub key ring
311
312
else DisputeSummaryVerification .verifySignature (summaryText , arbitratorManager ); // verify using registered arbitrator (will fail if arbitrator is unregistered)
312
313
313
- // save dispute closed message for reprocessing
314
- trade .getArbitrator ().setDisputeClosedMessage (disputeClosedMessage );
315
- requestPersistence (trade );
316
-
317
314
// verify arbitrator does not receive DisputeClosedMessage
318
315
if (keyRing .getPubKeyRing ().equals (dispute .getAgentPubKeyRing ())) {
319
316
log .error ("Arbitrator received disputeResultMessage. That should never happen." );
0 commit comments