wens
wens
服务组件地址不应该写死配置文件中,比较好的方案可通过自动发现机制,这样可以做到真正scalability
java.lang.RuntimeException:can't find SchedulerJobDescriptor for [com.zuoxiaolong.niubi.job.example.common.job.Job1.job1Test] com.zuoxiaolong.niubi.job.scheduler.JobEnvironmentCache.findScheduleJobDescriptor(JobEnvironmentCache.java:95) com.zuoxiaolong.niubi.job.scheduler.DefaultManualScheduleManager.startupManual(DefaultManualScheduleManager.java:66) com.zuoxiaolong.niubi.job.cluster.node.MasterSlaveNode$JobCacheListener.executeOperation(MasterSlaveNode.java:355) com.zuoxiaolong.niubi.job.cluster.node.MasterSlaveNode$JobCacheListener.childEvent(MasterSlaveNode.java:331) org.apache.curator.framework.recipes.cache.PathChildrenCache$5.apply(PathChildrenCache.java:516) org.apache.curator.framework.recipes.cache.PathChildrenCache$5.apply(PathChildrenCache.java:510) org.apache.curator.framework.listen.ListenerContainer$1.run(ListenerContainer.java:92) com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) org.apache.curator.framework.listen.ListenerContainer.forEach(ListenerContainer.java:83) org.apache.curator.framework.recipes.cache.PathChildrenCache.callListeners(PathChildrenCache.java:507) org.apache.curator.framework.recipes.cache.EventOperation.invoke(EventOperation.java:35) org.apache.curator.framework.recipes.cache.PathChildrenCache$9.run(PathChildrenCache.java:759) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) java.util.concurrent.FutureTask.run(FutureTask.java:266) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) java.util.concurrent.FutureTask.run(FutureTask.java:266) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.java:745)
所有session 都共享同一个PkgHandler 对象,PkgHandler 又是一个有状态的对象,并发情况下出现莫名的错误