temporal Invocation of init method failed; nested exception is java.lang.Error: Called from non workflow or workflow callback thread
时间: 2023-10-13 13:54:47 浏览: 150
这是一个Java异常,常见于基于Spring框架的应用程序中。它通常表示在初始化bean时发生了错误。该异常的详细信息表明,该bean的初始化方法中有一个非法的调用,这个调用不是在工作流或工作流回调线程中执行的。
解决这个问题的方法是,检查初始化方法中是否存在与工作流或回调相关的代码,如果有的话,将其移动到正确的线程中执行。另外,您也可以考虑检查bean的依赖关系,以确保它们被正确地初始化。如果以上方法都无法解决问题,您可能需要对代码进行更深入的调试和分析,以查找根本原因。
相关问题
Unexpected error occurred in scheduled task. java.lang.NullPointerException: temporal at java.util.Objects.requireNonNull(Objects.java:228) at java.time.format.DateTimeFormatter.formatTo(DateTimeFormatter.java:1741) at java.time.format.DateTimeFormatter.format(DateTimeFormatter.java:1720) at com.ido85.icip.spoperation.special_operation.service.impl.SpecialOperationServiceImpl.SpecialOperationStatus(SpecialOperationServiceImpl.java:140) at com.ido85.icip.spoperation.special_operation.service.impl.SpecialOperationServiceImpl$$FastClassBySpringCGLIB$$ff8b66a6.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:684) at com.ido85.icip.spoperation.special_operation.service.impl.SpecialOperationServiceImpl$$EnhancerBySpringCGLIB$$38e4f081.SpecialOperationStatus(<generated>) at sun.reflect.GeneratedMethodAccessor153.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:93) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
这个错误的意思是在计划任务中发生了意外的错误,具体是一个空指针异常。从堆栈信息来看,是因为在时间格式化时出现了空指针异常,可能是由于时间对象空或格式化对象为空导致的。你需要检查代码,并确保所有对象都已正确初始化,以及没有使用空对象。另外,你可以查看日志文件以获取更详细的错误信息,以便更好地定位和解决问题。
Exception in thread "main" java.time.temporal.UnsupportedTemporalTypeException: Unsupported unit: Seconds at java.base/java.time.LocalDate.until(LocalDate.java:1653) at java.base/java.time.Duration.between(Duration.java:492) at com.itheima.Test.main(Test.java:24)
这段代码抛出了java.time.temporal.UnsupportedTemporalTypeException异常。这是由于在计算时间差时使用的时间单位不支持,即在Duration.between()方法中,使用了LocalDate类的对象(parse),而它只能表示日期,而不能表示时间,所以无法计算出秒数等精确的时间差,导致抛出异常。要解决这个问题,应该使用LocalDateTime类的对象来计算时间差,因为它可以同时表示日期和时间。
阅读全文