xuxueli 6 år sedan
förälder
incheckning
3957ef2ff7

+ 1 - 1
doc/XXL-JOB官方文档.md Visa fil

347
     <property name="appName" value="${xxl.job.executor.appname}" />
347
     <property name="appName" value="${xxl.job.executor.appname}" />
348
     <!-- 执行器IP[选填],为空则自动获取 -->
348
     <!-- 执行器IP[选填],为空则自动获取 -->
349
     <property name="ip" value="${xxl.job.executor.ip}" />
349
     <property name="ip" value="${xxl.job.executor.ip}" />
350
-    <!-- 执行器端口号[选填],为空则自动获取 -->
350
+    <!-- 执行器端口号[选填],小于等于0则自动获取 -->
351
     <property name="port" value="${xxl.job.executor.port}" />
351
     <property name="port" value="${xxl.job.executor.port}" />
352
     <!-- 访问令牌[选填],非空则进行匹配校验 -->
352
     <!-- 访问令牌[选填],非空则进行匹配校验 -->
353
     <property name="accessToken" value="${xxl.job.accessToken}" />
353
     <property name="accessToken" value="${xxl.job.accessToken}" />

+ 1 - 1
xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java Visa fil

129
     private NetComServerFactory serverFactory = new NetComServerFactory();
129
     private NetComServerFactory serverFactory = new NetComServerFactory();
130
     private void initExecutorServer(int port, String ip, String appName, String accessToken) throws Exception {
130
     private void initExecutorServer(int port, String ip, String appName, String accessToken) throws Exception {
131
         // valid param
131
         // valid param
132
-        port = port>0?port: NetUtil.findAvailablePort(9999,ip);
132
+        port = port>0?port: NetUtil.findAvailablePort(9999);
133
 
133
 
134
         // start server
134
         // start server
135
         NetComServerFactory.putService(ExecutorBiz.class, new ExecutorBizImpl());   // rpc-service, base on jetty
135
         NetComServerFactory.putService(ExecutorBiz.class, new ExecutorBizImpl());   // rpc-service, base on jetty

+ 8 - 27
xxl-job-core/src/main/java/com/xxl/job/core/util/NetUtil.java Visa fil

2
 
2
 
3
 import org.slf4j.Logger;
3
 import org.slf4j.Logger;
4
 import org.slf4j.LoggerFactory;
4
 import org.slf4j.LoggerFactory;
5
-import org.springframework.util.StringUtils;
6
 
5
 
7
 import java.io.IOException;
6
 import java.io.IOException;
8
-import java.net.InetSocketAddress;
9
 import java.net.ServerSocket;
7
 import java.net.ServerSocket;
10
 
8
 
11
 /**
9
 /**
17
     private static Logger logger = LoggerFactory.getLogger(NetUtil.class);
15
     private static Logger logger = LoggerFactory.getLogger(NetUtil.class);
18
 
16
 
19
     /**
17
     /**
20
-     * find avaliable port by ip
18
+     * find avaliable port
21
      *
19
      *
22
      * @param defaultPort
20
      * @param defaultPort
23
-     * @param ip
24
      * @return
21
      * @return
25
      */
22
      */
26
-    public static int findAvailablePort(int defaultPort,String ip) {
23
+    public static int findAvailablePort(int defaultPort) {
27
         int portTmp = defaultPort;
24
         int portTmp = defaultPort;
28
         while (portTmp < 65535) {
25
         while (portTmp < 65535) {
29
-            if (!isPortUsed(portTmp,ip)) {
26
+            if (!isPortUsed(portTmp)) {
30
                 return portTmp;
27
                 return portTmp;
31
             } else {
28
             } else {
32
                 portTmp++;
29
                 portTmp++;
33
             }
30
             }
34
         }
31
         }
35
-        portTmp = --defaultPort;
32
+        portTmp = defaultPort--;
36
         while (portTmp > 0) {
33
         while (portTmp > 0) {
37
-            if (!isPortUsed(portTmp,ip)) {
34
+            if (!isPortUsed(portTmp)) {
38
                 return portTmp;
35
                 return portTmp;
39
             } else {
36
             } else {
40
                 portTmp--;
37
                 portTmp--;
44
     }
41
     }
45
 
42
 
46
     /**
43
     /**
47
-     * find avaliable port
48
-     *
49
-     * @param defaultPort
50
-     * @return
51
-     */
52
-    public static int findAvailablePort(int defaultPort) {
53
-        return findAvailablePort(defaultPort,null);
54
-    }
55
-
56
-
57
-    /**
58
      * check port used
44
      * check port used
59
      *
45
      *
60
      * @param port
46
      * @param port
61
-     * @param ip 为空则为 InetAddress.anyLocalAddress()
62
      * @return
47
      * @return
63
      */
48
      */
64
-    public static boolean isPortUsed(int port,String ip) {
49
+    public static boolean isPortUsed(int port) {
65
         boolean used = false;
50
         boolean used = false;
66
         ServerSocket serverSocket = null;
51
         ServerSocket serverSocket = null;
67
         try {
52
         try {
68
-            if(StringUtils.isEmpty(ip)){
69
-                serverSocket = new ServerSocket(port);
70
-            }else {
71
-                serverSocket = new ServerSocket();
72
-                serverSocket.bind(new InetSocketAddress(ip,port));
73
-            }
53
+            serverSocket = new ServerSocket(port);
54
+            used = false;
74
         } catch (IOException e) {
55
         } catch (IOException e) {
75
             logger.debug(">>>>>>>>>>> xxl-job, port[{}] is in use.", port);
56
             logger.debug(">>>>>>>>>>> xxl-job, port[{}] is in use.", port);
76
             used = true;
57
             used = true;

+ 1 - 1
xxl-job-executor-samples/xxl-job-executor-sample-spring/src/main/resources/applicationcontext-xxl-job.xml Visa fil

29
 		<property name="appName" value="${xxl.job.executor.appname}" />
29
 		<property name="appName" value="${xxl.job.executor.appname}" />
30
 		<!-- 执行器IP[选填],为空则自动获取 -->
30
 		<!-- 执行器IP[选填],为空则自动获取 -->
31
 		<property name="ip" value="${xxl.job.executor.ip}" />
31
 		<property name="ip" value="${xxl.job.executor.ip}" />
32
-		<!-- 执行器端口号[选填],为<0则自动获取 -->
32
+		<!-- 执行器端口号[选填],小于等于0则自动获取 -->
33
 		<property name="port" value="${xxl.job.executor.port}" />
33
 		<property name="port" value="${xxl.job.executor.port}" />
34
 		<!-- 访问令牌[选填],非空则进行匹配校验 -->
34
 		<!-- 访问令牌[选填],非空则进行匹配校验 -->
35
 		<property name="accessToken" value="${xxl.job.accessToken}" />
35
 		<property name="accessToken" value="${xxl.job.accessToken}" />