2323import software .amazon .awssdk .crt .mqtt .MqttClient ;
2424import software .amazon .awssdk .crt .mqtt .MqttConnection ;
2525import software .amazon .awssdk .crt .mqtt .MqttConnectionEvents ;
26+ import software .amazon .awssdk .crt .mqtt .QualityOfService ;
2627import software .amazon .awssdk .iot .iotjobs .IotJobsClient ;
2728import software .amazon .awssdk .iot .iotjobs .model .DescribeJobExecutionRequest ;
2829import software .amazon .awssdk .iot .iotjobs .model .DescribeJobExecutionResponse ;
@@ -208,7 +209,9 @@ public void onConnectionResumed(boolean sessionPresent) {
208209 GetPendingJobExecutionsSubscriptionRequest subscriptionRequest = new GetPendingJobExecutionsSubscriptionRequest ();
209210 subscriptionRequest .thingName = "crt-test" ;
210211 CompletableFuture <Integer > subscribed = jobs .SubscribeToGetPendingJobExecutionsAccepted (
211- subscriptionRequest , JobsSample ::onGetPendingJobExecutionsAccepted )
212+ subscriptionRequest ,
213+ QualityOfService .AT_LEAST_ONCE ,
214+ JobsSample ::onGetPendingJobExecutionsAccepted )
212215 .exceptionally ((ex ) -> {
213216 System .out .println ("Failed to subscribe to GetPendingJobExecutions: " + ex .toString ());
214217 return null ;
@@ -218,13 +221,18 @@ public void onConnectionResumed(boolean sessionPresent) {
218221
219222 gotResponse = new CompletableFuture <>();
220223
221- subscribed = jobs .SubscribeToGetPendingJobExecutionsRejected (subscriptionRequest , JobsSample ::onRejectedError );
224+ subscribed = jobs .SubscribeToGetPendingJobExecutionsRejected (
225+ subscriptionRequest ,
226+ QualityOfService .AT_LEAST_ONCE ,
227+ JobsSample ::onRejectedError );
222228 subscribed .get ();
223229 System .out .println ("Subscribed to GetPendingJobExecutionsRejected" );
224230
225231 GetPendingJobExecutionsRequest publishRequest = new GetPendingJobExecutionsRequest ();
226232 publishRequest .thingName = thingName ;
227- CompletableFuture <Integer > published = jobs .PublishGetPendingJobExecutions (publishRequest )
233+ CompletableFuture <Integer > published = jobs .PublishGetPendingJobExecutions (
234+ publishRequest ,
235+ QualityOfService .AT_LEAST_ONCE )
228236 .exceptionally ((ex ) -> {
229237 System .out .println ("Exception occurred during publish: " + ex .toString ());
230238 gotResponse .complete (null );
@@ -245,15 +253,21 @@ public void onConnectionResumed(boolean sessionPresent) {
245253 DescribeJobExecutionSubscriptionRequest subscriptionRequest = new DescribeJobExecutionSubscriptionRequest ();
246254 subscriptionRequest .thingName = thingName ;
247255 subscriptionRequest .jobId = jobId ;
248- jobs .SubscribeToDescribeJobExecutionAccepted (subscriptionRequest , JobsSample ::onDescribeJobExecutionAccepted );
249- jobs .SubscribeToDescribeJobExecutionRejected (subscriptionRequest , JobsSample ::onRejectedError );
256+ jobs .SubscribeToDescribeJobExecutionAccepted (
257+ subscriptionRequest ,
258+ QualityOfService .AT_LEAST_ONCE ,
259+ JobsSample ::onDescribeJobExecutionAccepted );
260+ jobs .SubscribeToDescribeJobExecutionRejected (
261+ subscriptionRequest ,
262+ QualityOfService .AT_LEAST_ONCE ,
263+ JobsSample ::onRejectedError );
250264
251265 DescribeJobExecutionRequest publishRequest = new DescribeJobExecutionRequest ();
252266 publishRequest .thingName = thingName ;
253267 publishRequest .jobId = jobId ;
254268 publishRequest .includeJobDocument = true ;
255269 publishRequest .executionNumber = 1L ;
256- jobs .PublishDescribeJobExecution (publishRequest );
270+ jobs .PublishDescribeJobExecution (publishRequest , QualityOfService . AT_LEAST_ONCE );
257271 gotResponse .get ();
258272 }
259273
@@ -265,13 +279,19 @@ public void onConnectionResumed(boolean sessionPresent) {
265279 StartNextPendingJobExecutionSubscriptionRequest subscriptionRequest = new StartNextPendingJobExecutionSubscriptionRequest ();
266280 subscriptionRequest .thingName = thingName ;
267281
268- jobs .SubscribeToStartNextPendingJobExecutionAccepted (subscriptionRequest , JobsSample ::onStartNextPendingJobExecutionAccepted );
269- jobs .SubscribeToStartNextPendingJobExecutionRejected (subscriptionRequest , JobsSample ::onRejectedError );
282+ jobs .SubscribeToStartNextPendingJobExecutionAccepted (
283+ subscriptionRequest ,
284+ QualityOfService .AT_LEAST_ONCE ,
285+ JobsSample ::onStartNextPendingJobExecutionAccepted );
286+ jobs .SubscribeToStartNextPendingJobExecutionRejected (
287+ subscriptionRequest ,
288+ QualityOfService .AT_LEAST_ONCE ,
289+ JobsSample ::onRejectedError );
270290
271291 StartNextPendingJobExecutionRequest publishRequest = new StartNextPendingJobExecutionRequest ();
272292 publishRequest .thingName = thingName ;
273293 publishRequest .stepTimeoutInMinutes = 15L ;
274- jobs .PublishStartNextPendingJobExecution (publishRequest );
294+ jobs .PublishStartNextPendingJobExecution (publishRequest , QualityOfService . AT_LEAST_ONCE );
275295
276296 gotResponse .get ();
277297 }
@@ -283,19 +303,25 @@ public void onConnectionResumed(boolean sessionPresent) {
283303 UpdateJobExecutionSubscriptionRequest subscriptionRequest = new UpdateJobExecutionSubscriptionRequest ();
284304 subscriptionRequest .thingName = thingName ;
285305 subscriptionRequest .jobId = currentJobId ;
286- jobs .SubscribeToUpdateJobExecutionAccepted (subscriptionRequest , (response ) -> {
306+ jobs .SubscribeToUpdateJobExecutionAccepted (
307+ subscriptionRequest ,
308+ QualityOfService .AT_LEAST_ONCE ,
309+ (response ) -> {
287310 System .out .println ("Marked job " + currentJobId + " IN_PROGRESS" );
288311 gotResponse .complete (null );
289312 });
290- jobs .SubscribeToUpdateJobExecutionRejected (subscriptionRequest , JobsSample ::onRejectedError );
313+ jobs .SubscribeToUpdateJobExecutionRejected (
314+ subscriptionRequest ,
315+ QualityOfService .AT_LEAST_ONCE ,
316+ JobsSample ::onRejectedError );
291317
292318 UpdateJobExecutionRequest publishRequest = new UpdateJobExecutionRequest ();
293319 publishRequest .thingName = thingName ;
294320 publishRequest .jobId = currentJobId ;
295321 publishRequest .executionNumber = currentExecutionNumber ;
296322 publishRequest .status = JobStatus .IN_PROGRESS ;
297323 publishRequest .expectedVersion = currentVersionNumber ++;
298- jobs .PublishUpdateJobExecution (publishRequest );
324+ jobs .PublishUpdateJobExecution (publishRequest , QualityOfService . AT_LEAST_ONCE );
299325
300326 gotResponse .get ();
301327 }
@@ -310,19 +336,25 @@ public void onConnectionResumed(boolean sessionPresent) {
310336 UpdateJobExecutionSubscriptionRequest subscriptionRequest = new UpdateJobExecutionSubscriptionRequest ();
311337 subscriptionRequest .thingName = thingName ;
312338 subscriptionRequest .jobId = currentJobId ;
313- jobs .SubscribeToUpdateJobExecutionAccepted (subscriptionRequest , (response ) -> {
339+ jobs .SubscribeToUpdateJobExecutionAccepted (
340+ subscriptionRequest ,
341+ QualityOfService .AT_LEAST_ONCE ,
342+ (response ) -> {
314343 System .out .println ("Marked job " + currentJobId + " SUCCEEDED" );
315344 gotResponse .complete (null );
316345 });
317- jobs .SubscribeToUpdateJobExecutionRejected (subscriptionRequest , JobsSample ::onRejectedError );
346+ jobs .SubscribeToUpdateJobExecutionRejected (
347+ subscriptionRequest ,
348+ QualityOfService .AT_LEAST_ONCE ,
349+ JobsSample ::onRejectedError );
318350
319351 UpdateJobExecutionRequest publishRequest = new UpdateJobExecutionRequest ();
320352 publishRequest .thingName = thingName ;
321353 publishRequest .jobId = currentJobId ;
322354 publishRequest .executionNumber = currentExecutionNumber ;
323355 publishRequest .status = JobStatus .SUCCEEDED ;
324356 publishRequest .expectedVersion = currentVersionNumber ++;
325- jobs .PublishUpdateJobExecution (publishRequest );
357+ jobs .PublishUpdateJobExecution (publishRequest , QualityOfService . AT_LEAST_ONCE );
326358
327359 gotResponse .get ();
328360 }
0 commit comments