This is an automated email from the ASF dual-hosted git repository. adamsaghy pushed a commit to branch bugfix/FINERACT-1678 in repository https://gitbox.apache.org/repos/asf/fineract.git
commit c5a46c77df45269f36bcdfddb82e617a56dc6097 Author: Adam Saghy <[email protected]> AuthorDate: Tue Jan 24 12:52:57 2023 +0100 FINERACT-1678: FineractContext had wrong dates when a cron job got triggered --- .../fineract/cob/service/AsyncLoanCOBExecutorServiceImpl.java | 2 +- .../infrastructure/jobs/service/JobRegisterServiceImpl.java | 2 +- .../apache/fineract/infrastructure/jobs/service/JobStarter.java | 9 +++------ 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/service/AsyncLoanCOBExecutorServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/cob/service/AsyncLoanCOBExecutorServiceImpl.java index eef62720e..8c84d0c15 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/service/AsyncLoanCOBExecutorServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/service/AsyncLoanCOBExecutorServiceImpl.java @@ -92,7 +92,7 @@ public class AsyncLoanCOBExecutorServiceImpl implements AsyncLoanCOBExecutorServ executingBusinessDate.format(DateTimeFormatter.ISO_DATE)); Set<JobParameterDTO> jobParameters = Collections.singleton(jobParameterDTO); saveCatchUpJobParameter(scheduledJobDetail); - jobStarter.run(job, scheduledJobDetail, ThreadLocalContextUtil.getContext(), jobParameters); + jobStarter.run(job, scheduledJobDetail, jobParameters); executingBusinessDate = executingBusinessDate.plusDays(1); } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java index 37f67a200..7f2145f00 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java @@ -338,7 +338,7 @@ public class JobRegisterServiceImpl implements JobRegisterService, ApplicationLi jobDetailFactoryBean.setGroup(scheduledJobDetail.getGroupName()); jobDetailFactoryBean.setConcurrent(false); - jobDetailFactoryBean.setArguments(job, scheduledJobDetail, ThreadLocalContextUtil.getContext(), jobParameterDTOSet); + jobDetailFactoryBean.setArguments(job, scheduledJobDetail, jobParameterDTOSet); jobDetailFactoryBean.afterPropertiesSet(); return jobDetailFactoryBean.getObject(); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobStarter.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobStarter.java index 3b2f59921..cd5fccd8c 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobStarter.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobStarter.java @@ -26,8 +26,6 @@ import java.util.Optional; import java.util.Set; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.fineract.infrastructure.core.domain.FineractContext; -import org.apache.fineract.infrastructure.core.service.ThreadLocalContextUtil; import org.apache.fineract.infrastructure.jobs.data.JobParameterDTO; import org.apache.fineract.infrastructure.jobs.domain.JobParameterRepository; import org.apache.fineract.infrastructure.jobs.domain.ScheduledJobDetail; @@ -56,10 +54,9 @@ public class JobStarter { private final List<JobParameterProvider> jobParameterProviders; private final JobNameService jobNameService; - public void run(Job job, ScheduledJobDetail scheduledJobDetail, FineractContext fineractContext, - Set<JobParameterDTO> jobParameterDTOSet) throws JobInstanceAlreadyCompleteException, JobExecutionAlreadyRunningException, - JobParametersInvalidException, JobRestartException { - ThreadLocalContextUtil.init(fineractContext); + public void run(Job job, ScheduledJobDetail scheduledJobDetail, Set<JobParameterDTO> jobParameterDTOSet) + throws JobInstanceAlreadyCompleteException, JobExecutionAlreadyRunningException, JobParametersInvalidException, + JobRestartException { Map<String, JobParameter> jobParameterMap = getJobParameter(scheduledJobDetail); JobParameters jobParameters = new JobParametersBuilder(jobExplorer).getNextJobParameters(job) .addJobParameters(new JobParameters(jobParameterMap))
