niubi-job
niubi-job copied to clipboard
一个高可用的,专门针对定时任务的分布式任务调度框架
您好,感谢您的分享! 请问关于源代码中,分布式框架的节点间的通信是怎么实现的?我为什么没有看见关于节点间通信的代码? 我是小白,望不吝赐教!!!
 r如图,虽然状态是已连接,但是日志没有打印出bootstrap start successfully,也没有报任何异常,卡在这了,不知道怎么办,然后控制台也没看到节点,如图: 
任务管理界面加个立即执行按钮,满足提交到QA测试是测试任务逻辑是否正常。现在也能满足,就是改cron,测试完成再改回来
难道在tomcat 8 下不行吗
您好,我下载了最新的下载niubi-job-0.9.6.x这个版本部署后,从console上传了LZ的个人网站上下载的niubi-job-sample-common.jar,niubi-job-sample-spring.jar包。点击execute后,一直启动不了job,一直fail,其余的部署都正常,后台报错一直提示 2016 九月 25 22:10:37 ERROR [PathChildrenCache-0] - handle operation failed. Job Data {groupName='com.zuoxiaolong.niubi.job.sample.spring.job.Job2', jobName='tes t', jarFileName='niubi-job-sample-spring.jar', packagesToScan='com.zuoxiaolong', jobCron='0/15 \* \* \* \* ?', containerType='Spring', jobState='Shutdown', misfireP olicy='None', jobOperationLogId='2d8193c9-d967-48ba-bd8b-9537f9e8c8bf', operatio...
下载Master打包部署后,上传niubi-job-sample-common.jar包可以正常运行,但是niubi-job-sample-spring.jar报错。 java.lang.NoClassDefFoundError:org/springframework/context/ApplicationContext java.lang.Class.getDeclaredConstructors0(null:-2) java.lang.Class.privateGetDeclaredConstructors(null:-1) java.lang.Class.getConstructor0(null:-1) java.lang.Class.getConstructor(null:-1) com.zuoxiaolong.niubi.job.scheduler.JobEnvironmentCache.createJobBeanFactory(JobEnvironmentCache.java:142) com.zuoxiaolong.niubi.job.scheduler.JobEnvironmentCache.loadJobEnvironment(JobEnvironmentCache.java:116) com.zuoxiaolong.niubi.job.scheduler.DefaultManualScheduleManager.startupManual(DefaultManualScheduleManager.java:58) com.zuoxiaolong.niubi.job.cluster.node.MasterSlaveNode$JobCacheListener.executeOperation(MasterSlaveNode.java:355) com.zuoxiaolong.niubi.job.cluster.node.MasterSlaveNode$JobCacheListener.childEvent(MasterSlaveNode.java:331) 分析了一下,发现niubi-job-cluster.zip中lib目录下,包含niubi-job-spring.jar这个jar包。springJob打包时按照博文“开发文档”中描述,也需要将niubi-job-spring.jar引入到相关job.jar中。二者引起冲突,目前将niubi-job-cluster.zip的lib目录下niubi-job-spring.jar包删除可以正常运行。 请问这么处理对吗?是否会有其他隐患?
git clone https://github.com/xiaolongzuo/niubi-job.git git checkout -b 0.9.5.x 0.9.5.x mvn clean package ``` java.lang.NullPointerException at com.zuoxiaolong.niubi.job.service.impl.AbstractSpringContextTest.getExampleJarFile(AbstractSpringContextTest.java:58) ``` 发现好像是原example项目变成sample项目后,测试代码里面的jar的名称和package的名称没有改。 将example换成sample后(diff文件: [diff.txt](https://github.com/xiaolongzuo/niubi-job/files/245787/diff.txt) ) 改动后依然失败,觉得问题应该出在`ClassLoader.getSystemResource("niubi-job-sample-spring.jar")`上,尝试 `cp ./niubi-job-sample-spring.jar niubi-job-framework/niubi-job-service/src/test/resources` 就可以了。 但感觉放在resources下也不是一个正规的办法,不知道没将sample合并前是怎么放这个jar的? PS:单元测试花了挺长时间,找个时间看看到底哪里耗时。 ``` [INFO] Executed...
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)
如果使用eclipse等开发工具进行调试的话,默认build path即是class path,运行main方法时所有classpath下的jar已经被system classloader加载了,与其这样的话不如直接把node classloader去掉,直接由system classloader负责加载lib下的jar喽。job下的jar依然由jar classloader负责加载。
后台也报错了 2016 Apr 12 17:35:51 INFO [LeaderSelector-0] - 127.0.0.1 is now the leader ,and has been leader 4184 time(s) before. 2016 Apr 12 17:35:51 INFO [LeaderSelector-0] - job cache has...