SpringBoot 2 定時任務(wù)本機(jī)測試成功,但是服務(wù)器無法運(yùn)行。提示錯誤如下
Unexpected error occurred in scheduled task.
java.lang.NullPointerException: null
詳細(xì)錯誤如下,由于項(xiàng)目是放到服務(wù)器上才會報(bào)錯的。所以不得不輸出log到服務(wù)器上,然后查看log的方法來排除bug。
2019-01-21 11:30:00.028 ERROR 2483 --- [scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler : Unexpected error occurred in scheduled task.
java.lang.NullPointerException: null
at com.saikul.dataRepository.InfoFromPlatformRepository.getAes(InfoFromPlatformRepository.java:40) ~[classes/:0.0.1-SNAPSHOT]
at com.saikul.common.ScheduledService.getListsFromAPI(ScheduledService.java:21) ~[classes/:0.0.1-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0]
at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0]
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84) ~[spring-context-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:93) [spring-context-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0]
at java.lang.Thread.run(Thread.java:744) [na:1.8.0]
其實(shí)細(xì)看我的程序:給出的提示其實(shí)很明顯了,他提示我的代碼底40 行出現(xiàn)了問題。
那么就可以確定問題不再定時任務(wù)或者服務(wù)器上,只能是在自己的寫的代碼上出了問題。
查看log好一番嘗試之后才發(fā)現(xiàn)我寫的代碼中AES加密的那一部分,代碼本機(jī)的jdk編譯出來和linux 服務(wù)器上編譯以出來的aes碼。完全不一樣,管不得總是提示空指針異常,肯定是我根據(jù)錯誤的aes碼去請求api服務(wù)器肯定請求不到數(shù)據(jù)的。