nmyphp / tbschedule Goto Github PK
View Code? Open in Web Editor NEWtbschedule是一个由Alibaba开源的支持分布式的调度框架。
License: Apache License 2.0
tbschedule是一个由Alibaba开源的支持分布式的调度框架。
License: Apache License 2.0
每次调度,希望selectTasks()只执行一次
每次调度,selectTasks()函数会一直被执行,直到取不到数据才停止
如果哪位前端同学感兴趣,可以帮忙把tbschedule后台管理界面优化一下,现在的界面还是1.0版本,非常朴素~
检测到 nmyphp/tbschedule 一共引入了47个开源组件,存在6个漏洞
漏洞标题:Apache Log4j 代码问题漏洞
缺陷组件:log4j:[email protected]
漏洞编号:CVE-2019-17571
漏洞描述:Apache Log4j是美国阿帕奇(Apache)基金会的一款基于Java的开源日志记录工具。
Apache Log4j 1.2版本中存在代码问题漏洞。攻击者可利用该漏洞执行代码。
国家漏洞库信息:https://www.cnvd.org.cn/flaw/show/CNVD-2020-00502
影响范围:[0, ∞)
最小修复版本:
缺陷组件引入路径:com.taobao.pamirs.schedule:[email protected]>org.apache.zookeeper:[email protected]>log4j:[email protected]
另外还有6个漏洞,详细报告:https://mofeisec.com/jr?p=iec386
报错信息如下:
2022-03-17 19:29:15 WARN org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
at java.base/sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:na]
at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[na:na]
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361) ~[zookeeper-3.4.6.jar:3.4.6-1569965]
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081) ~[zookeeper-3.4.6.jar:3.4.6-1569965]
2022-03-17 19:29:15 INFO org.apache.zookeeper.ClientCnxn - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
2022-03-17 19:29:15 WARN org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
at java.base/sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:na]
at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[na:na]
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361) ~[zookeeper-3.4.6.jar:3.4.6-1569965]
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081) ~[zookeeper-3.4.6.jar:3.4.6-1569965]
2022-03-17 19:29:16 INFO org.apache.zookeeper.ZooKeeper - Session: 0x0 closed
2022-03-17 19:29:16 INFO org.apache.zookeeper.ClientCnxn - EventThread shut down
Tests run: 4, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 5.638 sec <<< FAILURE!
getTree(com.taobao.pamirs.schedule.zk.ZKToolsTest) Time elapsed: 0.147 sec <<< ERROR!
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /schedule
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1045)
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1073)
at com.taobao.pamirs.schedule.zk.ZKTools.getTree(ZKTools.java:48)
at com.taobao.pamirs.schedule.zk.ZKToolsTest.getTree(ZKToolsTest.java:46)
对应的单元测试:ZKToolsTest.getTree
Hi, In tbschedule-3.4.1/tbschedule-core,there is a dependency org.apache.zookeeper:zookeeper:3.4.6 that calls the risk method.
The scope of this CVE affected version is [,3.4.14),[3.5.0-alpha, 3.5.5)
After further analysis, in this project, the main Api called is <org.apache.zookeeper.server.FinalRequestProcessor: void processRequest(org.apache.zookeeper.server.Request)>
Risk method repair link : GitHub
CVE Bug Invocation Path--
Path Length : 4
<org.apache.zookeeper.server.FinalRequestProcessor: void processRequest(org.apache.zookeeper.server.Request)>
at <org.apache.zookeeper.server.quorum.CommitProcessor: void run()> (org.apache.zookeeper.server.quorum.CommitProcessor.java:[74]) in /.m2/repository/org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.jar
at <com.taobao.pamirs.schedule.taskmanager.TBScheduleProcessorNotSleep: void startThread(int)> (com.taobao.pamirs.schedule.taskmanager.TBScheduleProcessorNotSleep.java:[119]) in /detect/unzip/tbschedule-3.4.1/tbschedule-core/target/classes
at <com.taobao.pamirs.schedule.taskmanager.TBScheduleProcessorNotSleep: void <init>(com.taobao.pamirs.schedule.taskmanager.TBScheduleManager,com.taobao.pamirs.schedule.IScheduleTaskDeal,com.taobao.pamirs.schedule.taskmanager.StatisticsInfo)> (com.taobao.pamirs.schedule.taskmanager.TBScheduleProcessorNotSleep.java:[97]) in /detect/unzip/tbschedule-3.4.1/tbschedule-core/target/classes
Dependency tree--
[INFO] com.taobao.pamirs.schedule:tbschedule-core:jar:3.4.1
[INFO] +- org.springframework:spring-context:jar:4.1.1.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:4.1.1.RELEASE:compile
[INFO] | | \- aopalliance:aopalliance:jar:1.0:compile
[INFO] | +- org.springframework:spring-beans:jar:4.1.1.RELEASE:compile
[INFO] | +- org.springframework:spring-core:jar:4.1.1.RELEASE:compile
[INFO] | | \- commons-logging:commons-logging:jar:1.1.3:compile
[INFO] | \- org.springframework:spring-expression:jar:4.1.1.RELEASE:compile
[INFO] +- javax.servlet:servlet-api:jar:2.5:compile
[INFO] +- commons-lang:commons-lang:jar:2.4:compile
[INFO] +- com.google.code.gson:gson:jar:2.1:compile
[INFO] +- org.apache.zookeeper:zookeeper:jar:3.4.6:compile
[INFO] | +- log4j:log4j:jar:1.2.16:compile
[INFO] | +- jline:jline:jar:0.9.94:compile
[INFO] | \- io.netty:netty:jar:3.7.0.Final:compile
[INFO] +- org.slf4j:slf4j-api:jar:1.6.1:compile
[INFO] \- org.projectlombok:lombok:jar:1.16.16:compile
Suggested solutions:
Update dependency version
Thank you very much.
hi,我们这也是内部使用tbschedule多年(5年以上)了,这两年也做了相应的内部功能开源+演进,项目在
https://github.com/jasonjoo2010/tbschedule
主要做了多存储后端、springboot支持、xml支持、填坑等相关功能
后续可以多交流,另外可以做readme项目链接交换嘛
hiahia
执行 mvn compile package -X时,报错如下:
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] tbschedule 3.4.1 ................................... SUCCESS [ 0.071 s]
[INFO] tbschedule-core 3.4.1 .............................. FAILURE [ 13.297 s]
[INFO] tbschedule-console 3.4.1 ........................... SUCCESS [ 0.911 s]
[INFO] tbschedule-example 3.4.0 ........................... FAILURE [ 0.220 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
Caused by: java.lang.ExceptionInInitializerError
at lombok.javac.handlers.HandleGetter.<clinit> (HandleGetter.java:303)
at java.lang.Class.forName0 (Native Method)
at java.lang.Class.forName (Class.java:398)
at lombok.core.SpiLoadUtil$1$1.next (SpiLoadUtil.java:111)
at lombok.javac.HandlerLibrary.loadAnnotationHandlers (HandlerLibrary.java:171)
at lombok.javac.HandlerLibrary.load (HandlerLibrary.java:156)
at lombok.javac.JavacTransformer.<init> (JavacTransformer.java:44)
at lombok.javac.apt.LombokProcessor.init (LombokProcessor.java:87)
at lombok.core.AnnotationProcessor$JavacDescriptor.want (AnnotationProcessor.java:87)
at lombok.core.AnnotationProcessor.init (AnnotationProcessor.java:140)
at lombok.launch.AnnotationProcessorHider$AnnotationProcessor.init (AnnotationProcessor.java:69)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.<init> (JavacProcessingEnvironment.java:686)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors$ProcessorStateIterator.next (JavacProcessingEnvironment.java:786)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs (JavacProcessingEnvironment.java:881)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run (JavacProcessingEnvironment.java:1222)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing (JavacProcessingEnvironment.java:1334)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations (JavaCompiler.java:1258)
at com.sun.tools.javac.main.JavaCompiler.compile (JavaCompiler.java:936)
at com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0 (JavacTaskImpl.java:104)
at com.sun.tools.javac.api.JavacTaskImpl.handleExceptions (JavacTaskImpl.java:147)
at com.sun.tools.javac.api.JavacTaskImpl.doCall (JavacTaskImpl.java:100)
at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:94)
at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess (JavaxToolsCompiler.java:126)
at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile (JavacCompiler.java:169)
at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:785)
at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:129)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.lang.ClassNotFoundException: com.sun.tools.javac.code.TypeTags
at java.lang.ClassLoader.findClass (ClassLoader.java:718)
at java.lang.ClassLoader.loadClass (ClassLoader.java:588)
at lombok.launch.ShadowClassLoader.loadClass (ShadowClassLoader.java:422)
at java.lang.ClassLoader.loadClass (ClassLoader.java:521)
at java.lang.Class.forName0 (Native Method)
at java.lang.Class.forName (Class.java:315)
at lombok.javac.JavacTreeMaker$SchroedingerType.getFieldCached (JavacTreeMaker.java:156)
at lombok.javac.JavacTreeMaker$TypeTag.typeTag (JavacTreeMaker.java:244)
at lombok.javac.Javac.<clinit> (Javac.java:155)
at lombok.javac.handlers.HandleGetter.<clinit> (HandleGetter.java:303)
at java.lang.Class.forName0 (Native Method)
at java.lang.Class.forName (Class.java:398)
at lombok.core.SpiLoadUtil$1$1.next (SpiLoadUtil.java:111)
at lombok.javac.HandlerLibrary.loadAnnotationHandlers (HandlerLibrary.java:171)
at lombok.javac.HandlerLibrary.load (HandlerLibrary.java:156)
at lombok.javac.JavacTransformer.<init> (JavacTransformer.java:44)
at lombok.javac.apt.LombokProcessor.init (LombokProcessor.java:87)
at lombok.core.AnnotationProcessor$JavacDescriptor.want (AnnotationProcessor.java:87)
at lombok.core.AnnotationProcessor.init (AnnotationProcessor.java:140)
at lombok.launch.AnnotationProcessorHider$AnnotationProcessor.init (AnnotationProcessor.java:69)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.<init> (JavacProcessingEnvironment.java:686)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors$ProcessorStateIterator.next (JavacProcessingEnvironment.java:786)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs (JavacProcessingEnvironment.java:881)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run (JavacProcessingEnvironment.java:1222)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing (JavacProcessingEnvironment.java:1334)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations (JavaCompiler.java:1258)
at com.sun.tools.javac.main.JavaCompiler.compile (JavaCompiler.java:936)
at com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0 (JavacTaskImpl.java:104)
at com.sun.tools.javac.api.JavacTaskImpl.handleExceptions (JavacTaskImpl.java:147)
at com.sun.tools.javac.api.JavacTaskImpl.doCall (JavacTaskImpl.java:100)
at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:94)
at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess (JavaxToolsCompiler.java:126)
at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile (JavacCompiler.java:169)
at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:785)
at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:129)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
schedule 运行2、3天会出现,如下大批量的报错,zookeeper free 只有100多M,不知道是什么情况,请教大佬!
[2019-07-01 16:36:03,609] [syncErpOrderNonRealTime_14090001-271-HeartBeat] (ZooKeeper.java:684) INFO org.apache.zookeeper.ZooKeeper - Session: 0x16b9bb69d5f06b9 closed
[2019-07-01 16:36:03,609] [syncErpOrderNonRealTime_14090001-271-HeartBeat] (ZooKeeper.java:438) INFO org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=10.8.1.248:2181
sessionTimeout=60000 watcher=com.taobao.pamirs.schedule.zk.ZKManager$1@6c315b5
[2019-07-01 16:36:03,612] [syncErpOrderNonRealTime_14090001-271-HeartBeat-EventThread] (ZKManager.java:77) INFO com.taobao.pamirs.schedule.zk.ZKManager - 收到ZK连接成功事件!
[2019-07-01 16:36:03,613] [syncErpOrderNonRealTime_14090001-271-HeartBeat] (TBScheduleManager.java:413) ERROR com.taobao.pamirs.schedule.taskmanager.HeartBeatTimerTask - KeeperErrorCode = Connect
ionLoss for /schedule/erp98/baseTaskType/syncErpOrderNonRealTime_14090001/syncErpOrderNonRealTime_14090001/server/syncErpOrderNonRealTime_14090001$$57DB65427E4E4DA2A409EF31D46CCABA$0000000000
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /schedule/erp98/baseTaskType/syncErpOrderNonRealTime_14090001/syncErpOrderNonRealTime_14090001/s
erver/syncErpOrderNonRealTime_14090001$$57DB65427E4E4DA2A409EF31D46CCABA$0000000000
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.setData(ZooKeeper.java:1270)
at com.taobao.pamirs.schedule.zk.ScheduleDataManager4ZK.refreshScheduleServer(ScheduleDataManager4ZK.java:747)
at com.taobao.pamirs.schedule.taskmanager.TBScheduleManager.rewriteScheduleInfo(TBScheduleManager.java:195)
at com.taobao.pamirs.schedule.taskmanager.TBScheduleManagerStatic.rewriteScheduleInfo(TBScheduleManagerStatic.java:11)
at com.taobao.pamirs.schedule.taskmanager.TBScheduleManagerStatic.refreshScheduleServerInfo(TBScheduleManagerStatic.java:103)
at com.taobao.pamirs.schedule.taskmanager.HeartBeatTimerTask.run(TBScheduleManager.java:411)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
调度启动时,会试图清理之前已经过期的任务信息:
// 清除已经过期1天的TASK,OWN_SIGN的组合。超过一天没有活动server的视为过期
this.scheduleCenter.clearExpireTaskTypeRunningInfo(baseTaskType, ScheduleUtil.getLocalIP() + "清除过期OWN_SIGN信息",this.taskTypeInfo.getExpireOwnSignInterval());
如果该目录不为空,就会报异常:
2019-06-20 14:43:55 ERROR c.t.p.s.s.TBScheduleManagerFactory - strategy 获取对应的java or bean 出错,schedule并没有加载该任务,请确认DemoTask-strategy
org.apache.zookeeper.KeeperException$NotEmptyException: KeeperErrorCode = Directory not empty for /schedule/demo/baseTaskType/demoTask1/demoTask1
at org.apache.zookeeper.KeeperException.create(KeeperException.java:125)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.delete(ZooKeeper.java:873)
at com.taobao.pamirs.schedule.zk.ZKTools.deleteTree(ZKTools.java:43)
at com.taobao.pamirs.schedule.zk.ScheduleDataManager4ZK.clearExpireTaskTypeRunningInfo(ScheduleDataManager4ZK.java:526)
at com.taobao.pamirs.schedule.taskmanager.TBScheduleManager.<init>(TBScheduleManager.java:103)
at com.taobao.pamirs.schedule.taskmanager.TBScheduleManagerStatic.<init>(TBScheduleManagerStatic.java:25)
at com.taobao.pamirs.schedule.strategy.TBScheduleManagerFactory.createStrategyTask(TBScheduleManagerFactory.java:142)
at com.taobao.pamirs.schedule.strategy.TBScheduleManagerFactory.reRunScheduleServer(TBScheduleManagerFactory.java:256)
at com.taobao.pamirs.schedule.strategy.TBScheduleManagerFactory.reRegisterManagerFactory(TBScheduleManagerFactory.java:195)
at com.taobao.pamirs.schedule.strategy.TBScheduleManagerFactory.refresh(TBScheduleManagerFactory.java:181)
at com.taobao.pamirs.schedule.strategy.ManagerFactoryTimerTask.run(TBScheduleManagerFactory.java:454)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
2019-05-23 21:32:47 INFO c.t.p.s.t.TBScheduleManager - 停止服务器 :demoTask1$10.254.90.186$9ED0AB96BD5F4015AF1ECAE3B9B45785$0000000000
2019-05-23 21:32:47 ERROR c.t.p.s.s.TBScheduleManagerFactory - 注销任务错误:strategyName=DemoTask-strategy
java.lang.NullPointerException: null
at com.taobao.pamirs.schedule.strategy.TBScheduleManagerFactory.stopServer(TBScheduleManagerFactory.java:282)
at com.taobao.pamirs.schedule.strategy.TBScheduleManagerFactory.reRegisterManagerFactory(TBScheduleManagerFactory.java:188)
at com.taobao.pamirs.schedule.strategy.TBScheduleManagerFactory.refresh(TBScheduleManagerFactory.java:177)
at com.taobao.pamirs.schedule.strategy.ManagerFactoryTimerTask.run(TBScheduleManagerFactory.java:449)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
代码中定时任务都是用Timer实现的,JDK官方已经建议使用ScheduledThreadPoolExecutor替代,而alibaba p3c插件也建议使用ScheduledThreadPoolExecutor。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.