Search in sources :

Example 1 with PollForActivityTaskRequest

use of com.amazonaws.services.simpleworkflow.model.PollForActivityTaskRequest in project aws-doc-sdk-examples by awsdocs.

the class ActivityWorkerWithGracefulShutdown method pollAndExecute.

public static void pollAndExecute() {
    while (!terminate) {
        System.out.println("Polling for an activity task from the tasklist '" + HelloTypes.TASKLIST + "' in the domain '" + HelloTypes.DOMAIN + "'.");
        ActivityTask task = swf.pollForActivityTask(new PollForActivityTaskRequest().withDomain(HelloTypes.DOMAIN).withTaskList(new TaskList().withName(HelloTypes.TASKLIST)));
        String taskToken = task.getTaskToken();
        if (taskToken != null) {
            String result = null;
            Throwable error = null;
            try {
                System.out.println("Executing the activity task with input '" + task.getInput() + "'.");
                result = executeActivityTask(task.getInput());
            } catch (Throwable th) {
                error = th;
            }
            if (error == null) {
                System.out.println("The activity task succeeded with result '" + result + "'.");
                swf.respondActivityTaskCompleted(new RespondActivityTaskCompletedRequest().withTaskToken(taskToken).withResult(result));
            } else {
                System.out.println("The activity task failed with the error '" + error.getClass().getSimpleName() + "'.");
                swf.respondActivityTaskFailed(new RespondActivityTaskFailedRequest().withTaskToken(taskToken).withReason(error.getClass().getSimpleName()).withDetails(error.getMessage()));
            }
        }
    }
}
Also used : PollForActivityTaskRequest(com.amazonaws.services.simpleworkflow.model.PollForActivityTaskRequest) RespondActivityTaskCompletedRequest(com.amazonaws.services.simpleworkflow.model.RespondActivityTaskCompletedRequest) ActivityTask(com.amazonaws.services.simpleworkflow.model.ActivityTask) TaskList(com.amazonaws.services.simpleworkflow.model.TaskList) RespondActivityTaskFailedRequest(com.amazonaws.services.simpleworkflow.model.RespondActivityTaskFailedRequest)

Aggregations

ActivityTask (com.amazonaws.services.simpleworkflow.model.ActivityTask)1 PollForActivityTaskRequest (com.amazonaws.services.simpleworkflow.model.PollForActivityTaskRequest)1 RespondActivityTaskCompletedRequest (com.amazonaws.services.simpleworkflow.model.RespondActivityTaskCompletedRequest)1 RespondActivityTaskFailedRequest (com.amazonaws.services.simpleworkflow.model.RespondActivityTaskFailedRequest)1 TaskList (com.amazonaws.services.simpleworkflow.model.TaskList)1