潘志宝
2024-12-25 89800665b27cf49b5e5bdb034df9d165c7382637
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
package com.xxl.job.admin.core.conf;
 
import com.xxl.job.admin.core.alarm.JobAlarmer;
import com.xxl.job.admin.core.scheduler.XxlJobScheduler;
import com.xxl.job.admin.dao.*;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Component;
 
import javax.annotation.Resource;
import javax.sql.DataSource;
import java.util.Arrays;
 
/**
 * xxl-job config
 *
 * @author xuxueli 2017-04-28
 */
 
@Component
public class XxlJobAdminConfig implements InitializingBean, DisposableBean {
 
    private static XxlJobAdminConfig adminConfig = null;
    public static XxlJobAdminConfig getAdminConfig() {
        return adminConfig;
    }
 
 
    // ---------------------- XxlJobScheduler ----------------------
 
    private XxlJobScheduler xxlJobScheduler;
 
    @Override
    public void afterPropertiesSet() throws Exception {
        adminConfig = this;
 
        xxlJobScheduler = new XxlJobScheduler();
        xxlJobScheduler.init();
    }
 
    @Override
    public void destroy() throws Exception {
        xxlJobScheduler.destroy();
    }
 
 
    // ---------------------- XxlJobScheduler ----------------------
 
    // conf
    @Value("${xxl.job.i18n}")
    private String i18n;
 
    @Value("${xxl.job.accessToken}")
    private String accessToken;
 
    @Value("${spring.mail.from}")
    private String emailFrom;
 
    @Value("${xxl.job.triggerpool.fast.max}")
    private int triggerPoolFastMax;
 
    @Value("${xxl.job.triggerpool.slow.max}")
    private int triggerPoolSlowMax;
 
    @Value("${xxl.job.logretentiondays}")
    private int logretentiondays;
 
    // dao, service
 
    @Resource
    private XxlJobLogDao xxlJobLogDao;
    @Resource
    private XxlJobInfoDao xxlJobInfoDao;
    @Resource
    private XxlJobRegistryDao xxlJobRegistryDao;
    @Resource
    private XxlJobGroupDao xxlJobGroupDao;
    @Resource
    private XxlJobLogReportDao xxlJobLogReportDao;
    @Resource
    private JavaMailSender mailSender;
    @Resource
    private DataSource dataSource;
    @Resource
    private JobAlarmer jobAlarmer;
 
 
    public String getI18n() {
        if (!Arrays.asList("zh_CN", "zh_TC", "en").contains(i18n)) {
            return "zh_CN";
        }
        return i18n;
    }
 
    public String getAccessToken() {
        return accessToken;
    }
 
    public String getEmailFrom() {
        return emailFrom;
    }
 
    public int getTriggerPoolFastMax() {
        if (triggerPoolFastMax < 200) {
            return 200;
        }
        return triggerPoolFastMax;
    }
 
    public int getTriggerPoolSlowMax() {
        if (triggerPoolSlowMax < 100) {
            return 100;
        }
        return triggerPoolSlowMax;
    }
 
    public int getLogretentiondays() {
        if (logretentiondays < 7) {
            return -1;  // Limit greater than or equal to 7, otherwise close
        }
        return logretentiondays;
    }
 
    public XxlJobLogDao getXxlJobLogDao() {
        return xxlJobLogDao;
    }
 
    public XxlJobInfoDao getXxlJobInfoDao() {
        return xxlJobInfoDao;
    }
 
    public XxlJobRegistryDao getXxlJobRegistryDao() {
        return xxlJobRegistryDao;
    }
 
    public XxlJobGroupDao getXxlJobGroupDao() {
        return xxlJobGroupDao;
    }
 
    public XxlJobLogReportDao getXxlJobLogReportDao() {
        return xxlJobLogReportDao;
    }
 
    public JavaMailSender getMailSender() {
        return mailSender;
    }
 
    public DataSource getDataSource() {
        return dataSource;
    }
 
    public JobAlarmer getJobAlarmer() {
        return jobAlarmer;
    }
 
}