Skip to content

Commit 7d2b3d0

Browse files
committed
Merge pull request #1 from qq254963746/develop
更新部分功能
2 parents 57d437c + 9dfdc76 commit 7d2b3d0

File tree

125 files changed

+5657
-955
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

125 files changed

+5657
-955
lines changed

README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,13 @@ LTS 轻量级分布式任务调度框架(Light Task Schedule)
5555
```java
5656
final JobTracker jobTracker = new JobTracker();
5757
// 节点信息配置
58-
jobTracker.setZookeeperAddress("localhost:2181");
58+
jobTracker.setRegistryAddress("zookeeper://127.0.0.1:2181");
5959
// jobTracker.setListenPort(35001); // 默认 35001
6060
// jobTracker.setClusterName("lts");
6161

6262
// mongo 配置
6363
Config config = new Config();
64-
config.setAddresses(new String[]{"localhost:27017"});
64+
config.setAddresses(new String[]{"127.0.0.1:27017"});
6565
config.setUsername("lts");
6666
config.setPassword("lts");
6767
config.setDbName("job");
@@ -83,7 +83,7 @@ LTS 轻量级分布式任务调度框架(Light Task Schedule)
8383
<bean id="mongoConfig" class="com.lts.job.store.Config">
8484
<property name="addresses">
8585
<array>
86-
<value>localhost:27017</value>
86+
<value>127.0.0.1:27017</value>
8787
</array>
8888
</property>
8989
<property name="username" value="lts"/>
@@ -93,11 +93,11 @@ LTS 轻量级分布式任务调度框架(Light Task Schedule)
9393
<bean id="jobTracker" class="com.lts.job.spring.JobTrackerFactoryBean" init-method="start">
9494
<!--<property name="clusterName" value="lts"/>--> <!-- 集群名称 -->
9595
<!--<property name="listenPort" value="35001"/>--> <!-- 默认 35001 -->
96-
<property name="zookeeperAddress" value="localhost:2181"/>
96+
<property name="registryAddress" value="zookeeper://127.0.0.1:2181"/>
9797
<property name="storeConfig" ref="mongoConfig"/>
98-
<property name="masterNodeChangeListeners">
98+
<property name="masterChangeListeners">
9999
<array>
100-
<bean class="com.lts.job.example.support.MasterNodeChangeListenerImpl"/>
100+
<bean class="com.lts.job.example.support.MasterChangeListenerImpl"/>
101101
</array>
102102
</property>
103103
</bean>
@@ -108,7 +108,7 @@ LTS 轻量级分布式任务调度框架(Light Task Schedule)
108108
TaskTracker taskTracker = new TaskTracker();
109109
taskTracker.setJobRunnerClass(TestJobRunner.class);
110110
// jobClient.setClusterName("lts");
111-
taskTracker.setZookeeperAddress("localhost:2181");
111+
taskTracker.setRegistryAddress("zookeeper://127.0.0.1:2181");
112112
taskTracker.setNodeGroup("test_trade_TaskTracker");
113113
taskTracker.setWorkThreads(20);
114114
taskTracker.start();
@@ -136,12 +136,12 @@ LTS 轻量级分布式任务调度框架(Light Task Schedule)
136136
<bean id="taskTracker" class="com.lts.job.spring.TaskTrackerFactoryBean" init-method="start">
137137
<!--<property name="clusterName" value="lts"/>-->
138138
<property name="nodeGroup" value="test_trade_TaskTracker"/><!-- 所属节点组名称 -->
139-
<property name="zookeeperAddress" value="localhost:2181"/>
139+
<property name="registryAddress" value="zookeeper://127.0.0.1:2181"/>
140140
<property name="jobRunnerClass" value="com.lts.job.example.support.TestJobRunner"/> <!-- 任务执行类 -->
141141
<property name="workThreads" value="1"/> <!-- 工作线程个数 -->
142-
<property name="masterNodeChangeListeners"> <!-- 所属节点组中master节点变化监听器,可以不用配置 -->
142+
<property name="masterChangeListeners"> <!-- 所属节点组中master节点变化监听器,可以不用配置 -->
143143
<array>
144-
<bean class="com.lts.job.example.support.MasterNodeChangeListenerImpl"/>
144+
<bean class="com.lts.job.example.support.MasterChangeListenerImpl"/>
145145
</array>
146146
</property>
147147
</bean>
@@ -153,7 +153,7 @@ LTS 轻量级分布式任务调度框架(Light Task Schedule)
153153
// JobClient jobClient = new JobClient();
154154
jobClient.setNodeGroup("test_JobClient");
155155
// jobClient.setClusterName("lts");
156-
jobClient.setZookeeperAddress("localhost:2181");
156+
jobClient.setRegistryAddress("zookeeper://127.0.0.1:2181");
157157
jobClient.start();
158158

159159
// 提交任务
@@ -170,13 +170,13 @@ LTS 轻量级分布式任务调度框架(Light Task Schedule)
170170
<property name="clientType" value="retry"/> <!-- 取值: 为空(默认normal), normal, retry -->
171171
<!--<property name="clusterName" value="lts"/>--> <!-- 默认 defaultCluster -->
172172
<property name="nodeGroup" value="test_JobClient"/> <!-- 节点组名称 -->
173-
<property name="zookeeperAddress" value="localhost:2181"/>
173+
<property name="registryAddress" value="zookeeper://127.0.0.1:2181"/>
174174
<property name="jobFinishedHandler">
175175
<bean class="com.lts.job.example.support.JobFinishedHandlerImpl"/> <!-- 任务完成处理器 -->
176176
</property>
177-
<property name="masterNodeChangeListeners"><!-- 所属节点组中master节点变化监听器 -->
177+
<property name="masterChangeListeners"><!-- 所属节点组中master节点变化监听器 -->
178178
<array>
179-
<bean class="com.lts.job.example.support.MasterNodeChangeListenerImpl"/>
179+
<bean class="com.lts.job.example.support.MasterChangeListenerImpl"/>
180180
</array>
181181
</property>
182182
</bean>

job-admin/pom.xml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,67 @@
1111
<packaging>war</packaging>
1212
<artifactId>job-admin</artifactId>
1313

14+
<properties>
15+
<spring.version>3.2.4.RELEASE</spring.version>
16+
</properties>
1417

18+
<build>
19+
<plugins>
20+
<plugin>
21+
<groupId>org.apache.tomcat.maven</groupId>
22+
<artifactId>tomcat7-maven-plugin</artifactId>
23+
<version>2.0</version>
24+
<configuration>
25+
<path>/</path>
26+
<port>8080</port>
27+
<server>tomcat</server>
28+
<warFile>lts-admin.war</warFile>
29+
<uriEncoding>utf-8</uriEncoding>
30+
</configuration>
31+
</plugin>
32+
</plugins>
33+
</build>
34+
35+
<dependencies>
36+
<dependency>
37+
<groupId>com.lts</groupId>
38+
<artifactId>job-core</artifactId>
39+
<version>${project.version}</version>
40+
</dependency>
41+
<dependency>
42+
<groupId>org.springframework</groupId>
43+
<artifactId>spring-beans</artifactId>
44+
<version>${spring.version}</version>
45+
</dependency>
46+
<dependency>
47+
<groupId>org.springframework</groupId>
48+
<artifactId>spring-context</artifactId>
49+
<version>${spring.version}</version>
50+
</dependency>
51+
<dependency>
52+
<groupId>org.springframework</groupId>
53+
<artifactId>spring-context-support</artifactId>
54+
<version>${spring.version}</version>
55+
</dependency>
56+
<dependency>
57+
<groupId>org.springframework</groupId>
58+
<artifactId>spring-core</artifactId>
59+
<version>${spring.version}</version>
60+
</dependency>
61+
<dependency>
62+
<groupId>org.springframework</groupId>
63+
<artifactId>spring-aop</artifactId>
64+
<version>${spring.version}</version>
65+
</dependency>
66+
<dependency>
67+
<groupId>org.springframework</groupId>
68+
<artifactId>spring-web</artifactId>
69+
<version>${spring.version}</version>
70+
</dependency>
71+
<dependency>
72+
<groupId>org.springframework</groupId>
73+
<artifactId>spring-webmvc</artifactId>
74+
<version>${spring.version}</version>
75+
</dependency>
76+
</dependencies>
1577
</project>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.lts.job.web.controller;
2+
3+
/**
4+
* @author Robert HG ([email protected]) on 5/9/15.
5+
*/
6+
public class AbstractController {
7+
8+
9+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.lts.job.web.controller;
2+
3+
import org.springframework.stereotype.Controller;
4+
5+
/**
6+
* @author Robert HG ([email protected]) on 5/11/15.
7+
*/
8+
@Controller
9+
public class NodeController extends AbstractController{
10+
11+
12+
}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package com.lts.job.web.support;
2+
3+
import java.util.*;
4+
5+
/**
6+
* @author Robert HG ([email protected]) on 5/11/15.
7+
*/
8+
public class AppConfigurer {
9+
10+
private static final Map<String, String> CONFIG = new HashMap<String, String>();
11+
12+
static {
13+
try {
14+
List<String> configList = new ArrayList<String>(2);
15+
configList.add("config");
16+
Locale locale = Locale.getDefault();
17+
for (String config : configList) {
18+
try {
19+
ResourceBundle localResource = ResourceBundle.getBundle(config, locale);
20+
for (Object o : localResource.keySet()) {
21+
String key = o.toString();
22+
String value = localResource.getString(key);
23+
CONFIG.put(key, value);
24+
}
25+
} catch (MissingResourceException e) {
26+
// ignore
27+
}
28+
}
29+
} catch (Exception e) {
30+
e.printStackTrace();
31+
}
32+
}
33+
34+
public static String getProperties(String name) {
35+
return CONFIG.get(name);
36+
}
37+
38+
public static String getProperties(String name, String defaultValue) {
39+
String returnValue = CONFIG.get(name);
40+
if (returnValue == null || returnValue.equals("")) {
41+
returnValue = defaultValue;
42+
}
43+
return returnValue;
44+
}
45+
46+
public static int getInteger(String name, int defaultValue) {
47+
String returnValue = CONFIG.get(name);
48+
if (returnValue == null || returnValue.equals("")) {
49+
return defaultValue;
50+
}
51+
return Integer.parseInt(returnValue.trim());
52+
}
53+
54+
public static int getInteger(String name) {
55+
return Integer.parseInt(CONFIG.get(name));
56+
}
57+
58+
public static boolean getBoolean(String name, boolean defaultValue) {
59+
String returnValue = CONFIG.get(name);
60+
if (returnValue == null || returnValue.equals("")) {
61+
return defaultValue;
62+
}
63+
return Boolean.valueOf(CONFIG.get(name));
64+
}
65+
66+
public static boolean getBoolean(String name) {
67+
return Boolean.valueOf(CONFIG.get(name));
68+
}
69+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.lts.job.web.support.node;
2+
3+
import com.lts.job.core.cluster.Node;
4+
import com.lts.job.core.cluster.NodeType;
5+
6+
import java.util.List;
7+
import java.util.Map;
8+
9+
/**
10+
* @author Robert HG ([email protected]) on 5/11/15.
11+
*/
12+
public interface NodeManager {
13+
14+
/**
15+
* 得到所有节点
16+
* @param cluster
17+
* @return
18+
*/
19+
public Map<NodeType, List<Node>> getAllNodes(String cluster);
20+
21+
/**
22+
* 启用节点
23+
* @param node
24+
*/
25+
public void enableNode(Node node);
26+
27+
/**
28+
* 禁用节点
29+
* @param node
30+
*/
31+
public void disableNode(Node node);
32+
33+
/**
34+
* 更改节点的工作线程
35+
* @param node
36+
*/
37+
public void updateWorkThreads(Node node);
38+
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package com.lts.job.web.support.node;
2+
3+
import com.lts.job.core.cluster.Node;
4+
import com.lts.job.core.cluster.NodeType;
5+
import com.lts.job.core.registry.NodeRegistryUtils;
6+
import com.lts.job.core.util.CollectionUtils;
7+
import com.lts.job.zookeeper.ZookeeperClient;
8+
import com.lts.job.zookeeper.zkclient.ZkClientZookeeperClient;
9+
import com.lts.job.web.support.AppConfigurer;
10+
11+
import java.util.ArrayList;
12+
import java.util.HashMap;
13+
import java.util.List;
14+
import java.util.Map;
15+
16+
/**
17+
* @author Robert HG ([email protected]) on 5/11/15.
18+
*/
19+
public class ZkNodeManager implements NodeManager {
20+
21+
private ZookeeperClient zkClient;
22+
23+
public ZkNodeManager() {
24+
this.zkClient = new ZkClientZookeeperClient(AppConfigurer.getProperties("zookeeper.address"));
25+
}
26+
27+
@Override
28+
public Map<NodeType, List<Node>> getAllNodes(String clusterName) {
29+
String basePath = NodeRegistryUtils.getRootPath(clusterName);
30+
List<String> nodeTypes = zkClient.getChildren(basePath);
31+
Map<NodeType, List<Node>> nodeMap = new HashMap<NodeType, List<Node>>();
32+
if (CollectionUtils.isNotEmpty(nodeTypes)) {
33+
for (String nodeType : nodeTypes) {
34+
List<String> nodes = zkClient.getChildren(basePath + "/" + nodeType);
35+
if (CollectionUtils.isEmpty(nodes)) {
36+
List<Node> nodeList = new ArrayList<Node>(nodes.size());
37+
for (String node : nodes) {
38+
nodeList.add(NodeRegistryUtils.parse(node));
39+
}
40+
nodeMap.put(NodeType.valueOf(nodeType), nodeList);
41+
}
42+
}
43+
}
44+
return nodeMap;
45+
}
46+
47+
@Override
48+
public void enableNode(Node node) {
49+
50+
}
51+
52+
@Override
53+
public void disableNode(Node node) {
54+
55+
}
56+
57+
@Override
58+
public void updateWorkThreads(Node node) {
59+
60+
}
61+
62+
public static void main(String[] args) {
63+
64+
65+
}
66+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
2+
#zookeeper地址
3+
zookeeper.address=127.0.0.1:2181

0 commit comments

Comments
 (0)