I wrote a method in a class annotated @componentto run every 12AM , to test that it is working I made the method run every 10 seconds but I get a null response . Here is the task
@Scheduled(cron="*/10 * * * * ?")
void changeInvestmentStatus() {
// DateTimeFormatter formatter = new DateTimeFormatter("yyyy-MM-dd")
LocalDate today = LocalDate.now();
List<Investment> investmentList = this.investmentRepository.findAll();
for(Investment investment : investmentList) {
if (investment.getMaturityDate().compareTo(today) == 0) {
investment.setStatus(InvestmentStatus.Matured);
}
}
System.out.println("Investment Status Updated");
}
This is the response :
java.lang.NullPointerException: null
at com.bethsaida.org.config.ScheduledTasks.changeInvestmentStatus(ScheduledTasks.java:65) ~[classes/:na]
at jdk.internal.reflect.GeneratedMethodAccessor171.invoke(Unknown Source) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84) ~[spring-context-5.3.9.jar:5.3.9]
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.3.9.jar:5.3.9]
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:95) ~[spring-context-5.3.9.jar:5.3.9]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[na:na]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]