From 1ba104812de0f1b2c3c6a565efe4bf500179005d Mon Sep 17 00:00:00 2001 From: Glenn Renfro Date: Thu, 1 Feb 2024 15:43:02 -0500 Subject: [PATCH] Update code to resolve review comments Thank you @cbono!!!! --- pom.xml | 1 + spring-cloud-dataflow-server-core/pom.xml | 9 ++-- .../batch/JobRestartRuntimeException.java | 1 + .../batch/JobStartRuntimeException.java | 1 + .../server/batch/JobStopException.java | 1 + .../server/batch/SimpleJobService.java | 45 +++++++++---------- .../service/impl/DefaultTaskJobService.java | 1 + 7 files changed, 32 insertions(+), 27 deletions(-) diff --git a/pom.xml b/pom.xml index 9b0786eceb..2b6eabf464 100644 --- a/pom.xml +++ b/pom.xml @@ -77,6 +77,7 @@ spring-cloud-starter-dataflow-server spring-cloud-starter-dataflow-ui spring-cloud-dataflow-server + diff --git a/spring-cloud-dataflow-server-core/pom.xml b/spring-cloud-dataflow-server-core/pom.xml index 8ddbcdd3ee..48808e0265 100644 --- a/spring-cloud-dataflow-server-core/pom.xml +++ b/spring-cloud-dataflow-server-core/pom.xml @@ -50,10 +50,6 @@ org.hibernate.orm hibernate-micrometer - - org.hibernate.orm - hibernate-ant - org.springframework.cloud spring-cloud-dataflow-schema @@ -257,6 +253,11 @@ postgresql test + + org.hibernate.orm + hibernate-ant + test + diff --git a/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/batch/JobRestartRuntimeException.java b/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/batch/JobRestartRuntimeException.java index 1a1d0ece9c..3752abdfe7 100644 --- a/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/batch/JobRestartRuntimeException.java +++ b/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/batch/JobRestartRuntimeException.java @@ -16,6 +16,7 @@ package org.springframework.cloud.dataflow.server.batch; +//TODO: Boot3x followup public class JobRestartRuntimeException extends RuntimeException { public JobRestartRuntimeException(Long jobExecutionId, Exception cause) { diff --git a/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/batch/JobStartRuntimeException.java b/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/batch/JobStartRuntimeException.java index 775b4ca1bb..27038fb2b2 100644 --- a/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/batch/JobStartRuntimeException.java +++ b/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/batch/JobStartRuntimeException.java @@ -16,6 +16,7 @@ package org.springframework.cloud.dataflow.server.batch; +//TODO: Boot3x followup public class JobStartRuntimeException extends RuntimeException { public JobStartRuntimeException(String jobName, Exception cause) { diff --git a/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/batch/JobStopException.java b/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/batch/JobStopException.java index de32194a59..f06f732065 100644 --- a/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/batch/JobStopException.java +++ b/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/batch/JobStopException.java @@ -16,6 +16,7 @@ package org.springframework.cloud.dataflow.server.batch; +//TODO: Boot3x followup public class JobStopException extends RuntimeException { public JobStopException(Long jobExecutionId, Exception cause) { diff --git a/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/batch/SimpleJobService.java b/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/batch/SimpleJobService.java index fbfa965737..1ab36b883e 100644 --- a/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/batch/SimpleJobService.java +++ b/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/batch/SimpleJobService.java @@ -108,7 +108,8 @@ public SimpleJobService(SearchableJobInstanceDao jobInstanceDao, SearchableJobEx this.executionContextDao = executionContextDao; this.aggregateJobQueryDao = aggregateJobQueryDao; this.schemaVersionTarget = schemaVersionTarget; - Assert.notNull(this.jobOperator = jobOperator, "jobOperator must not be null"); + Objects.requireNonNull(jobOperator, "jobOperator must not be null"); + this.jobOperator = jobOperator; } /** @@ -165,8 +166,7 @@ public JobExecution restart(Long jobExecutionId, JobParameters params) throws No try { jobExecution = new JobExecution(jobOperator.restart(jobExecutionId.longValue())); } - catch (JobParametersInvalidException | JobRestartException | NoSuchJobExecutionException | - JobInstanceAlreadyCompleteException e) { + catch (Exception e) { throw new JobRestartRuntimeException(jobExecutionId, e); } @@ -178,14 +178,14 @@ public JobExecution launch(String jobName, JobParameters jobParameters) throws N JobExecution jobExecution; if (jobOperator != null) { - try { - jobExecution = new JobExecution(jobOperator.start(jobName, jobParameters.toProperties())); - } catch (JobInstanceAlreadyExistsException | JobParametersInvalidException e) { - throw new JobStartRuntimeException(jobName, e); - } - } else { + try { + jobExecution = new JobExecution(jobOperator.start(jobName, jobParameters.toProperties())); + } catch (JobInstanceAlreadyExistsException | JobParametersInvalidException e) { + throw new JobStartRuntimeException(jobName, e); + } + } else { throw new NoSuchJobException(String.format("Unable to find job %s to launch", - String.valueOf(jobName))); + jobName)); } return jobExecution; @@ -257,19 +257,18 @@ public int countJobs() { @Override public int stopAll() { Collection result = jobExecutionDao.getRunningJobExecutions(); - Collection jsrJobNames = getJobNames(); + Collection jobNames = getJobNames(); for (JobExecution jobExecution : result) { - if (jsrJobNames.contains(jobExecution.getJobInstance().getJobName())) { - try { - jobOperator.stop(jobExecution.getId()); - } catch (NoSuchJobExecutionException e) { - throw new JobStopException(jobExecution.getId(), e); - } catch (JobExecutionNotRunningException e) { - throw new JobStopException(jobExecution.getId(), e); - } - } else { - throw new JobStopException(jobExecution.getId()); + try { + if (jobNames.contains(jobExecution.getJobInstance().getJobName())) { + jobOperator.stop(jobExecution.getId()); + + } else { + throw new JobStopException(jobExecution.getId()); + } + } catch (Exception e) { + throw new IllegalArgumentException("The following JobExecutionId was not found: " + jobExecution.getId(), e); } } @@ -309,10 +308,10 @@ public JobExecution abandon(Long jobExecutionId) throws NoSuchJobExecutionExcept logger.info("Aborting job execution: " + jobExecution); - Collection jsrJobNames = getJobNames(); + Collection jobNames = getJobNames(); JobInstance jobInstance = jobExecution.getJobInstance(); - if (jobOperator != null && jsrJobNames.contains(jobInstance.getJobName())) { + if (jobOperator != null && jobNames.contains(jobInstance.getJobName())) { jobOperator.abandon(jobExecutionId); jobExecution = getJobExecution(jobExecutionId); } else { diff --git a/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/service/impl/DefaultTaskJobService.java b/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/service/impl/DefaultTaskJobService.java index 5fe550382e..92d4158971 100644 --- a/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/service/impl/DefaultTaskJobService.java +++ b/spring-cloud-dataflow-server-core/src/main/java/org/springframework/cloud/dataflow/server/service/impl/DefaultTaskJobService.java @@ -243,6 +243,7 @@ public void restartJobExecution(long jobExecutionId, String schemaTarget) throws } + //TODO: Boot3x followup Remove boot2 check in this method once boot2 suuport code has been removed. /** * Apply identifying job parameters to arguments. There are cases (incrementers) * that add parameters to a job and thus must be added for each restart so that the