Skip to content

Commit c1c8be0

Browse files
committed
去掉 BeanUtils
1 parent cb6e616 commit c1c8be0

File tree

10 files changed

+97
-72
lines changed

10 files changed

+97
-72
lines changed

job-core/src/main/java/com/lts/job/core/remoting/HeartBeatMonitor.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ public HeartBeatMonitor(RemotingClientDelegate remotingClient) {
2626
}
2727

2828
public void start() {
29-
HEART_BEAT_EXECUTOR_SERVICE.scheduleWithFixedDelay(new HeartBeatRunner(), 5, 10, TimeUnit.SECONDS); // 10s发送一次心跳
29+
HEART_BEAT_EXECUTOR_SERVICE.scheduleWithFixedDelay(
30+
new HeartBeatRunner(), 5, 5, TimeUnit.SECONDS); // 5s发送一次心跳
3031
}
3132

3233
public void destroy() {

job-core/src/main/java/com/lts/job/core/support/JobDomainConverter.java

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
package com.lts.job.core.support;
22

33
import com.lts.job.core.domain.Job;
4+
import com.lts.job.core.domain.JobResult;
5+
import com.lts.job.core.repository.po.JobFeedbackQueuePo;
6+
import com.lts.job.core.repository.po.JobLogPo;
47
import com.lts.job.core.util.Md5Encrypt;
58
import com.lts.job.core.repository.po.JobPo;
69

710
import java.text.ParseException;
811
import java.util.Date;
12+
import java.util.UUID;
913

1014
/**
1115
* @author Robert HG (254963746@qq.com) on 8/18/14.
@@ -41,9 +45,9 @@ public static JobPo convert(Job job) {
4145
throw new RuntimeException(e);
4246
}
4347
} else {
44-
if(job.getTriggerTime() == null){
48+
if (job.getTriggerTime() == null) {
4549
jobPo.setTriggerTime(System.currentTimeMillis());
46-
}else{
50+
} else {
4751
jobPo.setTriggerTime(job.getTriggerTime());
4852
}
4953
}
@@ -71,6 +75,45 @@ public static Job convert(JobPo jobPo) {
7175
return job;
7276
}
7377

78+
public static JobLogPo convertJobLogPo(Job job) {
79+
JobLogPo jobLogPo = new JobLogPo();
80+
jobLogPo.setPriority(job.getPriority());
81+
jobLogPo.setExtParams(job.getExtParams());
82+
jobLogPo.setNodeGroup(job.getNodeGroup());
83+
jobLogPo.setTaskId(job.getTaskId());
84+
jobLogPo.setTaskTrackerNodeGroup(job.getTaskTrackerNodeGroup());
85+
jobLogPo.setNeedFeedback(job.isNeedFeedback());
86+
jobLogPo.setJobId(job.getJobId());
87+
jobLogPo.setCronExpression(job.getCronExpression());
88+
jobLogPo.setTriggerTime(job.getTriggerTime());
89+
return jobLogPo;
90+
}
91+
92+
public static JobLogPo convertJobLogPo(JobPo jobPo) {
93+
JobLogPo jobLogPo = new JobLogPo();
94+
jobLogPo.setPriority(jobPo.getPriority());
95+
jobLogPo.setExtParams(jobPo.getExtParams());
96+
jobLogPo.setNodeGroup(jobPo.getNodeGroup());
97+
jobLogPo.setTaskId(jobPo.getTaskId());
98+
jobLogPo.setTaskTrackerNodeGroup(jobPo.getTaskTrackerNodeGroup());
99+
jobLogPo.setNeedFeedback(jobPo.isNeedFeedback());
100+
jobLogPo.setJobId(jobPo.getJobId());
101+
jobLogPo.setCronExpression(jobPo.getCronExpression());
102+
jobLogPo.setTriggerTime(jobPo.getTriggerTime());
103+
return jobLogPo;
104+
}
105+
106+
public static JobFeedbackQueuePo convert(JobResult jobResult) {
107+
JobFeedbackQueuePo jobFeedbackQueuePo = new JobFeedbackQueuePo();
108+
jobFeedbackQueuePo.setJob(jobResult.getJob());
109+
jobFeedbackQueuePo.setSuccess(jobResult.isSuccess());
110+
jobFeedbackQueuePo.setMsg(jobResult.getMsg());
111+
jobFeedbackQueuePo.setTime(jobResult.getTime());
112+
jobFeedbackQueuePo.setId(UUID.randomUUID().toString());
113+
jobFeedbackQueuePo.setGmtCreated(System.currentTimeMillis());
114+
return jobFeedbackQueuePo;
115+
}
116+
74117
/**
75118
* 生成jobID 保证唯一
76119
*

job-core/src/main/java/com/lts/job/store/mongo/DatastoreHolder.java

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,22 @@
44
import com.lts.job.store.Config;
55
import com.lts.job.store.ConfigLoader;
66

7-
import java.util.concurrent.locks.Lock;
8-
import java.util.concurrent.locks.ReentrantLock;
9-
107
/**
118
* Created by hugui on 10/24/14.
129
*/
1310
public class DatastoreHolder {
1411

15-
private static Lock lock = new ReentrantLock();
12+
private static final Object lock = new Object();
1613

1714
private static Datastore datastore;
1815

1916
public static Datastore getDatastore() {
2017
// 如果为空,表示用户没有手动设置,那么从配置文件中读取
2118
if (datastore == null) {
22-
// 双重锁定检查
23-
if (datastore == null) {
24-
lock.lock();
25-
try {
26-
if (datastore == null) {
27-
Config config = ConfigLoader.getConfig();
28-
datastore = MongoConnectionManager.getDatastore(config);
29-
}
30-
} finally {
31-
lock.unlock();
19+
synchronized (lock) {
20+
if (datastore == null) {
21+
Config config = ConfigLoader.getConfig();
22+
datastore = MongoConnectionManager.getDatastore(config);
3223
}
3324
}
3425
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#Generated by Maven
2-
#Wed Mar 04 11:47:03 CST 2015
2+
#Wed Mar 04 13:36:37 CST 2015
33
version=1.2-SNAPSHOT
44
groupId=com.lts
55
artifactId=job-core
File renamed without changes.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<parent>
6+
<artifactId>job-extentions</artifactId>
7+
<groupId>com.lts</groupId>
8+
<version>1.2-SNAPSHOT</version>
9+
</parent>
10+
<modelVersion>4.0.0</modelVersion>
11+
12+
<artifactId>job-ext-spring</artifactId>
13+
14+
15+
</project>

job-extentions/pom.xml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<parent>
6+
<artifactId>light-task-schedule</artifactId>
7+
<groupId>com.lts</groupId>
8+
<version>1.2-SNAPSHOT</version>
9+
</parent>
10+
<modelVersion>4.0.0</modelVersion>
11+
<packaging>pom</packaging>
12+
<modules>
13+
<module>job-ext-spring</module>
14+
</modules>
15+
<artifactId>job-extentions</artifactId>
16+
17+
</project>

job-tracker/src/main/java/com/lts/job/tracker/logger/JobLogger.java

Lines changed: 3 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package com.lts.job.tracker.logger;
22

3-
import com.lts.job.core.domain.Job;
43
import com.lts.job.core.domain.JobResult;
54
import com.lts.job.core.domain.LogType;
65
import com.lts.job.core.repository.JobLogMongoRepository;
76
import com.lts.job.core.repository.po.JobLogPo;
87
import com.lts.job.core.repository.po.JobPo;
8+
import com.lts.job.core.support.JobDomainConverter;
99
import com.lts.job.core.support.SingletonBeanContext;
10-
import org.apache.commons.beanutils.BeanUtils;
1110
import org.slf4j.Logger;
1211
import org.slf4j.LoggerFactory;
1312

@@ -20,38 +19,15 @@ public class JobLogger {
2019

2120
private static final Logger LOGGER = LoggerFactory.getLogger(JobLogger.class);
2221

23-
private JobLogger() {
24-
}
25-
2622
private static JobLogMongoRepository jobLogMongoRepository;
2723

2824
static {
2925
jobLogMongoRepository = SingletonBeanContext.getBean(JobLogMongoRepository.class);
3026
}
3127

32-
public static void log(Job job, LogType logType) {
33-
try {
34-
JobLogPo jobLogPo = new JobLogPo();
35-
try {
36-
BeanUtils.copyProperties(jobLogPo, job);
37-
} catch (Exception e) {
38-
LOGGER.error(e.getMessage(), e);
39-
}
40-
jobLogPo.setLogType(logType);
41-
jobLogMongoRepository.save(jobLogPo);
42-
} catch (Throwable t) {
43-
LOGGER.error(t.getMessage(), t);
44-
}
45-
}
46-
4728
public static void log(JobPo jobPo, LogType logType) {
4829
try {
49-
JobLogPo jobLogPo = new JobLogPo();
50-
try {
51-
BeanUtils.copyProperties(jobLogPo, jobPo);
52-
} catch (Exception e) {
53-
LOGGER.error(e.getMessage(), e);
54-
}
30+
JobLogPo jobLogPo = JobDomainConverter.convertJobLogPo(jobPo);
5531
jobLogPo.setLogType(logType);
5632
jobLogMongoRepository.save(jobLogPo);
5733
} catch (Throwable t) {
@@ -61,12 +37,7 @@ public static void log(JobPo jobPo, LogType logType) {
6137

6238
public static void log(JobResult jobResult, LogType logType) {
6339
try {
64-
JobLogPo jobLogPo = new JobLogPo();
65-
try {
66-
BeanUtils.copyProperties(jobLogPo, jobResult.getJob());
67-
} catch (Exception e) {
68-
LOGGER.error(e.getMessage(), e);
69-
}
40+
JobLogPo jobLogPo = JobDomainConverter.convertJobLogPo(jobResult.getJob());
7041
jobLogPo.setMsg(jobResult.getMsg());
7142
jobLogPo.setLogType(logType);
7243
jobLogPo.setSuccess(jobResult.isSuccess());
@@ -78,7 +49,6 @@ public static void log(JobResult jobResult, LogType logType) {
7849

7950
public static void log(List<JobResult> jobResults, LogType logType) {
8051
try {
81-
8252
for (JobResult jobResult : jobResults) {
8353
log(jobResult, logType);
8454
}

job-tracker/src/main/java/com/lts/job/tracker/processor/JobFinishedProcessor.java

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,9 @@
2020
import com.lts.job.core.support.JobDomainConverter;
2121
import com.lts.job.tracker.support.ClientNotifyHandler;
2222
import io.netty.channel.ChannelHandlerContext;
23-
import org.apache.commons.beanutils.BeanUtils;
2423
import org.slf4j.Logger;
2524
import org.slf4j.LoggerFactory;
2625

27-
import java.lang.reflect.InvocationTargetException;
2826
import java.text.ParseException;
2927
import java.util.*;
3028

@@ -36,7 +34,6 @@ public class JobFinishedProcessor extends AbstractProcessor {
3634

3735
private ClientNotifier clientNotifier;
3836
private JobFeedbackQueueMongoRepository jobFeedbackQueueMongoRepository;
39-
4037
private static final Logger LOGGER = LoggerFactory.getLogger(JobFinishedProcessor.class.getSimpleName());
4138

4239
public JobFinishedProcessor(RemotingServerDelegate remotingServer) {
@@ -51,19 +48,12 @@ public void handleSuccess(List<JobResult> jobResults) {
5148
@Override
5249
public void handleFailed(List<JobResult> jobResults) {
5350
if (CollectionUtils.isNotEmpty(jobResults)) {
54-
List<JobFeedbackQueuePo> jobFeedbackQueuePos = new ArrayList<JobFeedbackQueuePo>(jobResults.size());
51+
List<JobFeedbackQueuePo> jobFeedbackQueuePos =
52+
new ArrayList<JobFeedbackQueuePo>(jobResults.size());
5553

5654
for (JobResult jobResult : jobResults) {
57-
JobFeedbackQueuePo jobFeedbackQueuePo = new JobFeedbackQueuePo();
58-
try {
59-
BeanUtils.copyProperties(jobFeedbackQueuePo, jobResult);
60-
} catch (IllegalAccessException e) {
61-
e.printStackTrace();
62-
} catch (InvocationTargetException e) {
63-
e.printStackTrace();
64-
}
65-
jobFeedbackQueuePo.setId(UUID.randomUUID().toString());
66-
jobFeedbackQueuePo.setGmtCreated(System.currentTimeMillis());
55+
JobFeedbackQueuePo jobFeedbackQueuePo =
56+
JobDomainConverter.convert(jobResult);
6757
jobFeedbackQueuePos.add(jobFeedbackQueuePo);
6858
}
6959
// 2. 失败的存储在反馈队列
@@ -94,7 +84,7 @@ public RemotingCommand processRequest(ChannelHandlerContext ctx, RemotingCommand
9484
JobLogger.log(jobResults, LogType.FINISHED);
9585
}
9686

97-
LOGGER.info("任务完成: {}", jobResults);
87+
LOGGER.info("执行任务完成: {}", jobResults);
9888

9989
return finishJob(requestBody, jobResults);
10090
}
@@ -140,7 +130,9 @@ private RemotingCommand finishJob(JobFinishedRequest requestBody, List<JobResult
140130
JobPushRequest jobPushRequest = new JobPushRequest();
141131
Job job = JobDomainConverter.convert(jobPo);
142132
jobPushRequest.setJob(job);
143-
LOGGER.info("发送任务{}给 {} {} ", job, requestBody.getNodeGroup(), requestBody.getIdentity());
133+
if(LOGGER.isDebugEnabled()){
134+
LOGGER.debug("发送任务{}给 {} {} ", job, requestBody.getNodeGroup(), requestBody.getIdentity());
135+
}
144136
// 返回 新的任务
145137
return RemotingCommand.createResponseCommand(RemotingProtos.ResponseCode.SUCCESS.code(), "receive msg success and has new job!", jobPushRequest);
146138
}

pom.xml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<module>job-task-tracker</module>
1515
<module>job-client</module>
1616
<module>job-example</module>
17+
<module>job-extentions</module>
1718
</modules>
1819

1920
<dependencies>
@@ -68,11 +69,6 @@
6869
<artifactId>slf4j-log4j12</artifactId>
6970
<version>1.6.1</version>
7071
</dependency>
71-
<dependency>
72-
<groupId>commons-beanutils</groupId>
73-
<artifactId>commons-beanutils</artifactId>
74-
<version>1.8.0</version>
75-
</dependency>
7672
</dependencies>
7773
<build>
7874
<plugins>

0 commit comments

Comments
 (0)