You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by GitBox <gi...@apache.org> on 2020/06/18 08:46:41 UTC
[GitHub] [shardingsphere-elasticjob-lite] hujunzhong removed a comment on issue #787: shutdownInstance空指针
hujunzhong removed a comment 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:
users@infra.apache.org