xxl-job使用

项目接入

接入文档

填坑1 执行器外网ip地址绑定

  • 如果使用公网的IP填写到执行器的IP中,则会报错提示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
java.net.BindException: Cannot assign requested address
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:298)
at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:236)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.server.Server.doStart(Server.java:431)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at com.xxl.job.core.rpc.netcom.jetty.server.JettyServer$1.run(JettyServer.java:46)
at java.lang.Thread.run(Thread.java:745)
  • 原因是:在云服务器中,一般只有一个内网网卡,外网IP地址不是直接配置在服务器中,而是配置在服务器外层的网关上,做了一层映射转发。所以jetty服务是无法绑定公网IP地址的。
  • 解决方法:ip填写0.0.0.0或者不填。然后在后台执行器管理中,手动修改online机器地址,把ip改成执行器的外网IP。