hujunzhong commented on issue #787:
URL: 
https://github.com/apache/shardingsphere-elasticjob-lite/issues/787#issuecomment-645839526


   @mmx1960 
   
   失败转移的时候也出现同样的异常:
   2020-06-18 14:25:23.249 ERROR [Job-rt|top50|latest_Worker-1] 
c.d.d.j.e.h.i.DefaultJobExceptionHandler.?:? QTraceId[] Job 
'Job-rt|top50|latest' exception occur in job processing
   java.lang.RuntimeException: plan没注册成功Job-rt|top50|latest
           at 
com.jlx.own.price.schedule.elastic.ElasticPlanJob.execute(ElasticPlanJob.java:26)
           at 
com.dangdang.ddframe.job.executor.type.SimpleJobExecutor.process(SimpleJobExecutor.java:41)
           at 
com.dangdang.ddframe.job.executor.AbstractElasticJobExecutor.process(AbstractElasticJobExecutor.java:206)
           at 
com.dangdang.ddframe.job.executor.AbstractElasticJobExecutor.process(AbstractElasticJobExecutor.java:171)
           at 
com.dangdang.ddframe.job.executor.AbstractElasticJobExecutor.execute(AbstractElasticJobExecutor.java:150)
           at 
com.dangdang.ddframe.job.executor.AbstractElasticJobExecutor.execute(AbstractElasticJobExecutor.java:125)
           at 
com.dangdang.ddframe.job.lite.internal.schedule.LiteJob.execute(LiteJob.java:26)
           at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
           at 
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
   2020-06-18 14:25:23.346 ERROR [Curator-TreeCache-23] 
o.a.c.f.r.c.TreeCache.?:? QTraceId[]
   java.lang.NullPointerException: null
           at 
java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
           at 
com.dangdang.ddframe.job.lite.internal.schedule.JobRegistry.getRegCenter(JobRegistry.java:95)
           at 
com.dangdang.ddframe.job.lite.internal.schedule.JobShutdownHookPlugin.shutdown(JobShutdownHookPlugin.java:28)
           at 
org.quartz.core.QuartzScheduler.shutdownPlugins(QuartzScheduler.java:2335)
           at org.quartz.core.QuartzScheduler.shutdown(QuartzScheduler.java:712)
           at org.quartz.core.QuartzScheduler.shutdown(QuartzScheduler.java:628)
           at org.quartz.impl.StdScheduler.shutdown(StdScheduler.java:198)
           at 
com.dangdang.ddframe.job.lite.internal.schedule.JobScheduleController.shutdown(JobScheduleController.java:139)
           at 
com.dangdang.ddframe.job.lite.internal.schedule.JobRegistry.shutdown(JobRegistry.java:168)
           at 
com.dangdang.ddframe.job.lite.internal.schedule.SchedulerFacade.shutdownInstance(SchedulerFacade.java:135)
           at 
com.dangdang.ddframe.job.lite.internal.instance.ShutdownListenerManager$InstanceShutdownStatusJobListener.dataChanged(ShutdownListenerManager.java:61)
           at 
com.dangdang.ddframe.job.lite.internal.listener.AbstractJobListener.childEvent(AbstractJobListener.java:44)
           at 
org.apache.curator.framework.recipes.cache.TreeCache$2.apply(TreeCache.java:732)
           at 
org.apache.curator.framework.recipes.cache.TreeCache$2.apply(TreeCache.java:726)
           at 
org.apache.curator.framework.listen.ListenerContainer$1.run(ListenerContainer.java:93)
           at 
com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
           at 
org.apache.curator.framework.listen.ListenerContainer.forEach(ListenerContainer.java:85)
           at 
org.apache.curator.framework.recipes.cache.TreeCache.callListeners(TreeCache.java:725)
           at 
org.apache.curator.framework.recipes.cache.TreeCache.access$1400(TreeCache.java:71)
                at 
org.apache.curator.framework.recipes.cache.TreeCache$4.run(TreeCache.java:843)
           at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
           at java.util.concurrent.FutureTask.run(FutureTask.java:266)
           at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
           at java.util.concurrent.FutureTask.run(FutureTask.java:266)
           at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
           at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
           at java.lang.Thread.run(Thread.java:745)
   
   SimpleJob代码如下:
   @Slf4j
   public class ElasticPlanJob implements SimpleJob {
       @Override
       public void execute(ShardingContext shardingContext) {
           QTraceScope qtraceClient = 
QTraceClientGetter.getClient().startTrace("ElasticPlanJob");
           try{
               String planName = shardingContext.getJobName();
               QMonitor.recordOne("plan_job_schedule_" + planName);
               QMonitor.recordOne("plan_job_schedule");
               Plan plan = 
ElasticPlanJobManager.getInstance().findPlan(planName);
               if(plan == null){
                   log.error("plan调度失败,没找到对应plan:{}", planName);
                   throw new RuntimeException("plan没注册成功" + planName);
               }
   
               log.info("开始执行:{}", planName);
               plan.execute();
           } finally {
               if(qtraceClient != null){
                   qtraceClient.close();
               }
           }
       }
   }


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to