Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
X
XXL-JOB
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
靳帅
XXL-JOB
Commits
18991c3f
提交
18991c3f
authored
1月 26, 2018
作者:
xuxueli
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
调度中心配置加载优化,取消对配置文件名的强依赖,支持加载磁盘配置;
上级
dbf51a03
显示空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
108 行增加
和
85 行删除
+108
-85
XXL-JOB官方文档.md
doc/XXL-JOB官方文档.md
+1
-0
PermissionInterceptor.java
...b/admin/controller/interceptor/PermissionInterceptor.java
+3
-3
XxlJobAdminConfig.java
...n/java/com/xxl/job/admin/core/conf/XxlJobAdminConfig.java
+81
-0
I18nUtil.java
...n/src/main/java/com/xxl/job/admin/core/util/I18nUtil.java
+4
-5
MailUtil.java
...n/src/main/java/com/xxl/job/admin/core/util/MailUtil.java
+5
-17
PropertiesUtil.java
...main/java/com/xxl/job/admin/core/util/PropertiesUtil.java
+0
-38
applicationcontext-base.xml
...min/src/main/resources/spring/applicationcontext-base.xml
+1
-1
JobInfoControllerTest.java
...a/com/xxl/job/admin/controller/JobInfoControllerTest.java
+3
-3
I18nUtilTest.java
...in/src/test/java/com/xxl/job/admin/util/I18nUtilTest.java
+5
-0
MailUtilTest.java
...in/src/test/java/com/xxl/job/admin/util/MailUtilTest.java
+5
-0
PropertiesUtilTest.java
.../test/java/com/xxl/job/admin/util/PropertiesUtilTest.java
+0
-18
没有找到文件。
doc/XXL-JOB官方文档.md
浏览文件 @
18991c3f
...
...
@@ -1146,6 +1146,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
-
3、调度报表优化,报表SQL调优并且新增LocalCache缓存(缓存时间60s),提高大数据量下报表加载速度;
-
4、修复打包部署时资源文件乱码问题;
-
5、修复新版本chrome滚动到顶部失效问题;
-
6、调度中心配置加载优化,取消对配置文件名的强依赖,支持加载磁盘配置;
### TODO LIST
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java
浏览文件 @
18991c3f
package
com
.
xxl
.
job
.
admin
.
controller
.
interceptor
;
import
com.xxl.job.admin.controller.annotation.PermessionLimit
;
import
com.xxl.job.admin.core.conf.XxlJobAdminConfig
;
import
com.xxl.job.admin.core.util.CookieUtil
;
import
com.xxl.job.admin.core.util.PropertiesUtil
;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.springframework.web.method.HandlerMethod
;
import
org.springframework.web.servlet.handler.HandlerInterceptorAdapter
;
...
...
@@ -22,8 +22,8 @@ public class PermissionInterceptor extends HandlerInterceptorAdapter {
public
static
final
String
LOGIN_IDENTITY_KEY
=
"XXL_JOB_LOGIN_IDENTITY"
;
public
static
final
String
LOGIN_IDENTITY_TOKEN
;
static
{
String
username
=
PropertiesUtil
.
getString
(
"xxl.job.login.username"
);
String
password
=
PropertiesUtil
.
getString
(
"xxl.job.login.password"
);
String
username
=
XxlJobAdminConfig
.
getAdminConfig
().
getLoginUsername
(
);
String
password
=
XxlJobAdminConfig
.
getAdminConfig
().
getLoginPassword
(
);
// login token
String
tokenTmp
=
DigestUtils
.
md5Hex
(
username
+
"_"
+
password
);
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminConfig.java
0 → 100644
浏览文件 @
18991c3f
package
com
.
xxl
.
job
.
admin
.
core
.
conf
;
import
org.springframework.beans.factory.InitializingBean
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Configuration
;
/**
* xxl-job config
*
* @author xuxueli 2017-04-28
*/
@Configuration
public
class
XxlJobAdminConfig
implements
InitializingBean
{
private
static
XxlJobAdminConfig
adminConfig
=
null
;
public
static
XxlJobAdminConfig
getAdminConfig
()
{
return
adminConfig
;
}
@Override
public
void
afterPropertiesSet
()
throws
Exception
{
adminConfig
=
this
;
}
@Value
(
"${xxl.job.mail.host}"
)
private
String
mailHost
;
@Value
(
"${xxl.job.mail.port}"
)
private
String
mailPort
;
@Value
(
"${xxl.job.mail.username}"
)
private
String
mailUsername
;
@Value
(
"${xxl.job.mail.password}"
)
private
String
mailPassword
;
@Value
(
"${xxl.job.mail.sendNick}"
)
private
String
mailSendNick
;
@Value
(
"${xxl.job.login.username}"
)
private
String
loginUsername
;
@Value
(
"${xxl.job.login.password}"
)
private
String
loginPassword
;
@Value
(
"${xxl.job.i18n}"
)
private
String
i18n
;
public
String
getMailHost
()
{
return
mailHost
;
}
public
String
getMailPort
()
{
return
mailPort
;
}
public
String
getMailUsername
()
{
return
mailUsername
;
}
public
String
getMailPassword
()
{
return
mailPassword
;
}
public
String
getMailSendNick
()
{
return
mailSendNick
;
}
public
String
getLoginUsername
()
{
return
loginUsername
;
}
public
String
getLoginPassword
()
{
return
loginPassword
;
}
public
String
getI18n
()
{
return
i18n
;
}
}
xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/I18nUtil.java
浏览文件 @
18991c3f
package
com
.
xxl
.
job
.
admin
.
core
.
util
;
import
com.xxl.job.admin.core.conf.XxlJobAdminConfig
;
import
com.xxl.job.core.util.JacksonUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
...
...
@@ -23,23 +24,21 @@ import java.util.Properties;
public
class
I18nUtil
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
I18nUtil
.
class
);
private
static
final
String
I18N_PROP_CACHE
=
"i18n_prop_cache"
;
private
static
Properties
prop
=
null
;
public
static
Properties
loadI18nProp
(){
Properties
prop
=
(
Properties
)
LocalCacheUtil
.
get
(
I18N_PROP_CACHE
);
if
(
prop
!=
null
)
{
return
prop
;
}
try
{
// bild i18n prop
String
i18n
=
PropertiesUtil
.
getString
(
"xxl.job.i18n"
);
String
i18n
=
XxlJobAdminConfig
.
getAdminConfig
().
getI18n
(
);
i18n
=
StringUtils
.
isNotBlank
(
i18n
)?(
"_"
+
i18n
):
i18n
;
String
i18nFile
=
MessageFormat
.
format
(
"i18n/message{0}.properties"
,
i18n
);
String
i18nFile
=
MessageFormat
.
format
(
"i18n/message{0}.properties"
,
i18n
);
// load prop
Resource
resource
=
new
ClassPathResource
(
i18nFile
);
EncodedResource
encodedResource
=
new
EncodedResource
(
resource
,
"UTF-8"
);
prop
=
PropertiesLoaderUtils
.
loadProperties
(
encodedResource
);
LocalCacheUtil
.
set
(
I18N_PROP_CACHE
,
prop
,
60
*
1000
);
// cache 60s
}
catch
(
IOException
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/MailUtil.java
浏览文件 @
18991c3f
package
com
.
xxl
.
job
.
admin
.
core
.
util
;
import
com.xxl.job.admin.core.conf.XxlJobAdminConfig
;
import
org.apache.commons.mail.DefaultAuthenticator
;
import
org.apache.commons.mail.EmailException
;
import
org.apache.commons.mail.HtmlEmail
;
...
...
@@ -16,19 +17,6 @@ import java.nio.charset.Charset;
public
class
MailUtil
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
MailUtil
.
class
);
private
static
String
host
;
private
static
String
port
;
private
static
String
username
;
private
static
String
password
;
private
static
String
sendNick
;
static
{
host
=
PropertiesUtil
.
getString
(
"xxl.job.mail.host"
);
port
=
PropertiesUtil
.
getString
(
"xxl.job.mail.port"
);
username
=
PropertiesUtil
.
getString
(
"xxl.job.mail.username"
);
password
=
PropertiesUtil
.
getString
(
"xxl.job.mail.password"
);
sendNick
=
PropertiesUtil
.
getString
(
"xxl.job.mail.sendNick"
);
}
/**
*
* @param toAddress 收件人邮箱
...
...
@@ -46,13 +34,13 @@ public class MailUtil {
//email.setTLS(true); // 是否TLS校验,,某些邮箱需要TLS安全校验,同理有SSL校验
//email.setSSL(true);
email
.
setHostName
(
host
);
email
.
setSmtpPort
(
Integer
.
valueOf
(
port
));
email
.
setHostName
(
XxlJobAdminConfig
.
getAdminConfig
().
getMailHost
()
);
email
.
setSmtpPort
(
Integer
.
valueOf
(
XxlJobAdminConfig
.
getAdminConfig
().
getMailPort
()
));
//email.setSslSmtpPort(port);
email
.
setAuthenticator
(
new
DefaultAuthenticator
(
username
,
password
));
email
.
setAuthenticator
(
new
DefaultAuthenticator
(
XxlJobAdminConfig
.
getAdminConfig
().
getMailUsername
(),
XxlJobAdminConfig
.
getAdminConfig
().
getMailPassword
()
));
email
.
setCharset
(
Charset
.
defaultCharset
().
name
());
email
.
setFrom
(
username
,
sendNick
);
email
.
setFrom
(
XxlJobAdminConfig
.
getAdminConfig
().
getMailUsername
(),
XxlJobAdminConfig
.
getAdminConfig
().
getMailSendNick
()
);
email
.
addTo
(
toAddress
);
email
.
setSubject
(
mailSubject
);
email
.
setMsg
(
mailBody
);
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java
deleted
100644 → 0
浏览文件 @
dbf51a03
package
com
.
xxl
.
job
.
admin
.
core
.
util
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.core.io.ClassPathResource
;
import
org.springframework.core.io.Resource
;
import
org.springframework.core.io.support.EncodedResource
;
import
org.springframework.core.io.support.PropertiesLoaderUtils
;
import
java.io.IOException
;
import
java.util.Properties
;
/**
* properties util
*
* @author xuxueli 2015-8-28 10:35:53
*/
public
class
PropertiesUtil
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
PropertiesUtil
.
class
);
private
static
final
String
file_name
=
"xxl-job-admin.properties"
;
public
static
String
getString
(
String
key
)
{
Properties
prop
=
null
;
try
{
Resource
resource
=
new
ClassPathResource
(
file_name
);
EncodedResource
encodedResource
=
new
EncodedResource
(
resource
,
"UTF-8"
);
prop
=
PropertiesLoaderUtils
.
loadProperties
(
encodedResource
);
}
catch
(
IOException
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
}
if
(
prop
!=
null
)
{
return
prop
.
getProperty
(
key
);
}
return
null
;
}
}
xxl-job-admin/src/main/resources/spring/applicationcontext-base.xml
浏览文件 @
18991c3f
...
...
@@ -7,7 +7,7 @@
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd"
>
<context:component-scan
base-package=
"com.xxl.job.admin.service, com.xxl.job.admin.dao"
/>
<context:component-scan
base-package=
"com.xxl.job.admin.
core.conf, com.xxl.job.admin.
service, com.xxl.job.admin.dao"
/>
<bean
id=
"freemarkerConfig"
class=
"org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"
>
<property
name=
"templateLoaderPath"
value=
"/WEB-INF/template/"
/>
...
...
xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java
浏览文件 @
18991c3f
package
com
.
xxl
.
job
.
admin
.
controller
;
import
com.xxl.job.admin.controller.interceptor.PermissionInterceptor
;
import
com.xxl.job.admin.core.
util.PropertiesUtil
;
import
com.xxl.job.admin.core.
conf.XxlJobAdminConfig
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.springframework.http.MediaType
;
...
...
@@ -22,8 +22,8 @@ public class JobInfoControllerTest extends AbstractSpringMvcTest {
MvcResult
ret
=
mockMvc
.
perform
(
post
(
"/login"
)
.
contentType
(
MediaType
.
APPLICATION_FORM_URLENCODED
)
.
param
(
"userName"
,
PropertiesUtil
.
getString
(
"xxl.job.login.username"
))
.
param
(
"password"
,
PropertiesUtil
.
getString
(
"xxl.job.login.password"
))
.
param
(
"userName"
,
XxlJobAdminConfig
.
getAdminConfig
().
getLoginUsername
(
))
.
param
(
"password"
,
XxlJobAdminConfig
.
getAdminConfig
().
getLoginPassword
(
))
).
andReturn
();
cookie
=
ret
.
getResponse
().
getCookie
(
PermissionInterceptor
.
LOGIN_IDENTITY_KEY
);
}
...
...
xxl-job-admin/src/test/java/com/xxl/job/admin/util/I18nUtilTest.java
浏览文件 @
18991c3f
...
...
@@ -2,12 +2,17 @@ package com.xxl.job.admin.util;
import
com.xxl.job.admin.core.util.I18nUtil
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.test.context.ContextConfiguration
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
/**
* email util test
*
* @author xuxueli 2017-12-22 17:16:23
*/
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@ContextConfiguration
(
locations
=
"classpath*:spring/applicationcontext-*.xml"
)
public
class
I18nUtilTest
{
@Test
...
...
xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java
浏览文件 @
18991c3f
...
...
@@ -2,6 +2,9 @@ package com.xxl.job.admin.util;
import
com.xxl.job.admin.core.util.MailUtil
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.test.context.ContextConfiguration
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
java.text.MessageFormat
;
...
...
@@ -10,6 +13,8 @@ import java.text.MessageFormat;
*
* @author xuxueli 2017-12-22 17:16:23
*/
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@ContextConfiguration
(
locations
=
"classpath*:spring/applicationcontext-*.xml"
)
public
class
MailUtilTest
{
@Test
...
...
xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java
deleted
100644 → 0
浏览文件 @
dbf51a03
package
com
.
xxl
.
job
.
admin
.
util
;
import
com.xxl.job.admin.core.util.PropertiesUtil
;
import
org.junit.Test
;
/**
* prop util test
*
* @author xuxueli 2017-12-25 15:17:36
*/
public
class
PropertiesUtilTest
{
@Test
public
void
registryTest
()
throws
Exception
{
System
.
out
.
println
(
PropertiesUtil
.
getString
(
"xxl.job.login.username"
));
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论