From 338f19c9e9d1729ffd726c5d5f6798767393fdc0 Mon Sep 17 00:00:00 2001 From: Michael Minella Date: Wed, 23 Oct 2019 09:50:37 -0500 Subject: [PATCH] Fixed NPE that would occur when using old constructor --- .../partition/DeployerPartitionHandler.java | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/partition/DeployerPartitionHandler.java b/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/partition/DeployerPartitionHandler.java index fe225c82..bd38c1a7 100644 --- a/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/partition/DeployerPartitionHandler.java +++ b/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/partition/DeployerPartitionHandler.java @@ -326,7 +326,15 @@ public class DeployerPartitionHandler arguments.addAll(this.commandLineArgsProvider.getCommandLineArgs(copyContext)); - TaskExecution partitionTaskExecution = this.taskRepository.createTaskExecution(); + TaskExecution partitionTaskExecution = null; + + if (this.taskRepository != null) { + partitionTaskExecution = this.taskRepository.createTaskExecution(); + } + else { + logger.warn( + "TaskRepository was not set so external execution id will not be recorded."); + } if (!this.defaultArgsAsEnvironmentVars) { arguments.add(formatArgument(SPRING_CLOUD_TASK_JOB_EXECUTION_ID, @@ -342,8 +350,11 @@ public class DeployerPartitionHandler workerStepExecution.getStepName()))); arguments.add(formatArgument(SPRING_CLOUD_TASK_PARENT_EXECUTION_ID, String.valueOf(this.taskExecution.getExecutionId()))); - arguments.add(formatArgument(SPRING_CLOUD_TASK_EXECUTION_ID, - String.valueOf(partitionTaskExecution.getExecutionId()))); + + if (partitionTaskExecution != null) { + arguments.add(formatArgument(SPRING_CLOUD_TASK_EXECUTION_ID, + String.valueOf(partitionTaskExecution.getExecutionId()))); + } } copyContext = new ExecutionContext(workerStepExecution.getExecutionContext()); @@ -376,8 +387,11 @@ public class DeployerPartitionHandler this.deploymentProperties, arguments); String externalExecutionId = this.taskLauncher.launch(request); - this.taskRepository.updateExternalExecutionId( - partitionTaskExecution.getExecutionId(), externalExecutionId); + + if (this.taskRepository != null) { + this.taskRepository.updateExternalExecutionId( + partitionTaskExecution.getExecutionId(), externalExecutionId); + } } private String resolveApplicationName() {