xuxueli / xxl-job

A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
http://www.xuxueli.com/xxl-job/
GNU General Public License v3.0
27.57k stars 10.91k forks source link

查看执行日志报错 #1041

Closed zs1621 closed 5 years ago

zs1621 commented 5 years ago

xxl-job version : 2.1.0

Expected behavior

Actual behavior

='log', parameterTypes=[long, long, int], parameters=[1564379360000, 6, 1], version='null'}
xxljobadmin_1   | 13:51:14.648 logback [http-nio-8080-exec-9] ERROR c.x.j.a.controller.JobLogController - java.lang.NoSuchMethodException: com.xxl.job.core.biz.impl.ExecutorBizImpl.log(long, long, int)
xxljobadmin_1   |       at java.lang.Class.getMethod(Class.java:1786)
xxljobadmin_1   |       at com.xxl.rpc.remoting.provider.XxlRpcProviderFactory.invokeService(XxlRpcProviderFactory.java:196)
xxljobadmin_1   |       at com.xxl.rpc.remoting.net.impl.jetty.server.JettyServerHandler.handle(JettyServerHandler.java:60)
xxljobadmin_1   |       at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
xxljobadmin_1   |       at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
xxljobadmin_1   |       at org.eclipse.jetty.server.Server.handle(Server.java:499)
xxljobadmin_1   |       at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
xxljobadmin_1   |       at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:258)
xxljobadmin_1   |       at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
xxljobadmin_1   |       at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
xxljobadmin_1   |       at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
xxljobadmin_1   |       at java.lang.Thread.run(Thread.java:748)
xxljobadmin_1   | 
xxljobadmin_1   | com.xxl.rpc.util.XxlRpcException: java.lang.NoSuchMethodException: com.xxl.job.core.biz.impl.ExecutorBizImpl.log(long, long, int)
xxljobadmin_1   |       at java.lang.Class.getMethod(Class.java:1786)
xxljobadmin_1   |       at com.xxl.rpc.remoting.provider.XxlRpcProviderFactory.invokeService(XxlRpcProviderFactory.java:196)
xxljobadmin_1   |       at com.xxl.rpc.remoting.net.impl.jetty.server.JettyServerHandler.handle(JettyServerHandler.java:60)
xxljobadmin_1   |       at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
xxljobadmin_1   |       at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
xxljobadmin_1   |       at org.eclipse.jetty.server.Server.handle(Server.java:499)
xxljobadmin_1   |       at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
xxljobadmin_1   |       at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:258)
xxljobadmin_1   |       at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
xxljobadmin_1   |       at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
xxljobadmin_1   |       at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
xxljobadmin_1   |       at java.lang.Thread.run(Thread.java:748)
xxljobadmin_1   | 
xxljobadmin_1   |       at com.xxl.rpc.remoting.invoker.reference.XxlRpcReferenceBean$1.invoke(XxlRpcReferenceBean.java:221)
xxljobadmin_1   |       at com.sun.proxy.$Proxy77.log(Unknown Source)
xxljobadmin_1   |       at com.xxl.job.admin.controller.JobLogController.logDetailCat(JobLogController.java:140)
xxljobadmin_1   |       at sun.reflect.GeneratedMethodAccessor182.invoke(Unknown Source)
xxljobadmin_1   |       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
xxljobadmin_1   |       at java.lang.reflect.Method.invoke(Method.java:606)
xxljobadmin_1   |       at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
xxljobadmin_1   |       at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
xxljobadmin_1   |       at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
xxljobadmin_1   |       at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:854)
xxljobadmin_1   |       at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:765)
xxljobadmin_1   |       at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
xxljobadmin_1   |       at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
xxljobadmin_1   |       at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
xxljobadmin_1   |       at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
xxljobadmin_1   |       at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
xxljobadmin_1   |       at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
xxljobadmin_1   |       at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
xxljobadmin_1   |       at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
xxljobadmin_1   |       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
xxljobadmin_1   |       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
xxljobadmin_1   |       at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
xxljobadmin_1   |       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
xxljobadmin_1   |       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
xxljobadmin_1   |       at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
xxljobadmin_1   |       at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
xxljobadmin_1   |       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
xxljobadmin_1   |       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
xxljobadmin_1   |       at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109)
xxljobadmin_1   |       at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
xxljobadmin_1   |       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
xxljobadmin_1   |       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
xxljobadmin_1   |       at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)
xxljobadmin_1   |       at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
xxljobadmin_1   |       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
xxljobadmin_1   |       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
xxljobadmin_1   |       at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
xxljobadmin_1   |       at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
xxljobadmin_1   |       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
xxljobadmin_1   |       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
xxljobadmin_1   |       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
xxljobadmin_1   |       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
xxljobadmin_1   |       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
xxljobadmin_1   |       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
xxljobadmin_1   |       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
xxljobadmin_1   |       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
xxljobadmin_1   |       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
xxljobadmin_1   |       at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
xxljobadmin_1   |       at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
xxljobadmin_1   |       at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808)
xxljobadmin_1   |       at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
xxljobadmin_1   |       at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
xxljobadmin_1   |       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
xxljobadmin_1   |       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
xxljobadmin_1   |       at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
xxljobadmin_1   |       at java.lang.Thread.run(Thread.java:748)
xxljobexcute_1  | 13:51:41.139 logback [Thread-16] INFO  c.x.j.c.t.ExecutorRegistryThread - >>>>>>>>>>> xxl-job registry success, registryParam:RegistryParam{registGroup='EXECUTOR', registryKey='xxl-job-executor', registryValue='192.168.144.4:9999'}, registryResult:ReturnT [code=200, msg=null, content=null]

Steps to reproduce the behavior 用docker-compose 在本地测试时

version: '3'

services:
  xxljobadmin:
    image: xuxueli/xxl-job-admin:2.1.0
    depends_on:
      - mysql
    env_file:
      - ./compose/xxl-job/local_admin.env
    ports:
      - 8080:8080

  xxljobexcute:
    image: caryyu/xxl-job-executor-sample-springboot
    depends_on:
      - xxljobadmin
      - mysql
    env_file:
      - ./compose/xxl-job/local_excute.env
    ports:
      - 9999:9999

  mysql:
    build: ./compose/mysql
    env_file:
      - ./compose/mysql/local-account.env
    # mysql default start port
    volumes:
      - ./compose/mysql/migrations:/docker-entrypoint-initdb.d
      - ./compose/mysql/conf.d/:/etc/mysql/conf.d
    command: -P 3306
    ports:
      - 3306:3306
spring.datasource.url=jdbc:mysql://mysql:3306/xxl-job?Unicode=true&characterEncoding=UTF-8
spring.datasource.username=xxl_job
spring.datasource.password=xxl_job
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
spring.datasource.tomcat.max-wait=10000
spring.datasource.tomcat.max-active=30
spring.datasource.tomcat.test-on-borrow=true
spring.datasource.tomcat.validation-query=SELECT 1
spring.datasource.tomcat.validation-interval=30000

xxl.job.login.username=admin
xxl.job.login.password=admin

xxl.job.accessToken=xxl_jobxingzhe
# web port
server.port=8081

### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
xxl.job.admin.addresses=http://192.168.144.3:8080/xxl-job-admin

### xxl-job executor address
xxl.job.executor.appname=xxl-job-executor

### xxl-job, access token
xxl.job.accessToken=xxl_jobxingzhe

### xxl-job log path
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
### xxl-job log retention days
xxl.job.executor.logretentiondays=-1

Other information

xuxueli commented 5 years ago

你好,确保调度中心和执行器两端版本一致,可以参考Sample示例。