29
29
import java .util .Objects ;
30
30
import java .util .Timer ;
31
31
import java .util .TimerTask ;
32
+ import java .util .concurrent .ExecutionException ;
32
33
import java .util .concurrent .TimeUnit ;
34
+ import java .util .concurrent .TimeoutException ;
33
35
import java .util .concurrent .atomic .AtomicInteger ;
34
36
35
37
/**
@@ -176,9 +178,9 @@ private boolean sendAgentInfo() {
176
178
AgentInfo agentInfo = agentInfoFactory .createAgentInfo ();
177
179
178
180
logger .info ("Sending AgentInfo {}" , agentInfo );
179
- ResponseFutureListener <ResponseMessage > listener = new ResponseFutureListener <>();
181
+ ResponseFutureListener <ResponseMessage , Throwable > listener = new ResponseFutureListener <>();
180
182
dataSender .request (agentInfo , listener );
181
- ResponseMessage responseMessage = listener .getResponseFeture ().get (3000 , TimeUnit .MILLISECONDS );
183
+ ResponseMessage responseMessage = listener .getResponseFuture ().get (3000 , TimeUnit .MILLISECONDS );
182
184
if (responseMessage == null ) {
183
185
logger .warn ("result not set" );
184
186
return false ;
@@ -188,11 +190,20 @@ private boolean sendAgentInfo() {
188
190
logger .warn ("request unsuccessful. Cause : {}" , result .getMessage ());
189
191
}
190
192
return result .isSuccess ();
191
- } catch (Throwable th ) {
192
- logger .warn ("failed to send agent info" , th );
193
+ } catch (ExecutionException ex ) {
194
+ logError (ex .getCause ());
195
+ } catch (InterruptedException ex ) {
196
+ Thread .currentThread ().interrupt ();
197
+ logError (ex );
198
+ } catch (TimeoutException ex ) {
199
+ logError (ex );
193
200
}
194
201
return false ;
195
202
}
203
+
204
+ private void logError (Throwable cause ) {
205
+ logger .warn ("failed to send agent info" , cause );
206
+ }
196
207
}
197
208
198
209
public static class Builder {
0 commit comments