@ -1,6 +1,8 @@
|
|||||||
FROM tomcat:8.0-jre8-slim
|
FROM openjdk:7-jre-slim
|
||||||
MAINTAINER xuxueli
|
MAINTAINER xuxueli
|
||||||
|
|
||||||
ADD target/xxl-job-admin*.war /usr/local/tomcat/webapps/xxl-job-admin.war
|
ENV PARAMS=""
|
||||||
|
|
||||||
CMD ["catalina.sh", "run"]
|
ADD target/xxl-conf-admin-*.jar /app.jar
|
||||||
|
|
||||||
|
ENTRYPOINT ["sh","-c","java -jar /app.jar $PARAMS"]
|
@ -0,0 +1,16 @@
|
|||||||
|
package com.xxl.job.admin;
|
||||||
|
|
||||||
|
import org.springframework.boot.SpringApplication;
|
||||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author xuxueli 2018-10-28 00:38:13
|
||||||
|
*/
|
||||||
|
@SpringBootApplication
|
||||||
|
public class XxlJobAdminApplication {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
SpringApplication.run(XxlJobAdminApplication.class, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
package com.xxl.job.admin.controller.interceptor;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
||||||
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web mvc config
|
||||||
|
*
|
||||||
|
* @author xuxueli 2018-04-02 20:48:20
|
||||||
|
*/
|
||||||
|
@Configuration
|
||||||
|
public class WebMvcConfig extends WebMvcConfigurerAdapter {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private PermissionInterceptor permissionInterceptor;
|
||||||
|
@Resource
|
||||||
|
private CookieInterceptor cookieInterceptor;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addInterceptors(InterceptorRegistry registry) {
|
||||||
|
registry.addInterceptor(permissionInterceptor).addPathPatterns("/**");
|
||||||
|
registry.addInterceptor(cookieInterceptor).addPathPatterns("/**");
|
||||||
|
super.addInterceptors(registry);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,45 @@
|
|||||||
|
### web
|
||||||
|
server.port=8080
|
||||||
|
server.context-path=/xxl-job-admin
|
||||||
|
|
||||||
|
### resources
|
||||||
|
spring.mvc.static-path-pattern=/static/**
|
||||||
|
spring.resources.static-locations=classpath:/static/
|
||||||
|
|
||||||
|
### freemarker
|
||||||
|
spring.freemarker.templateLoaderPath=classpath:/templates/
|
||||||
|
spring.freemarker.suffix=.ftl
|
||||||
|
spring.freemarker.charset=UTF-8
|
||||||
|
spring.freemarker.request-context-attribute=request
|
||||||
|
|
||||||
|
### mybatis
|
||||||
|
mybatis.mapper-locations=classpath:/mybatis-mapper/*Mapper.xml
|
||||||
|
|
||||||
|
### xxl-job, datasource
|
||||||
|
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl-job?Unicode=true&characterEncoding=UTF-8
|
||||||
|
spring.datasource.username=root
|
||||||
|
spring.datasource.password=root_pwd
|
||||||
|
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
|
||||||
|
|
||||||
|
spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
|
||||||
|
spring.datasource.tomcat.max-wait=10000
|
||||||
|
spring.datasource.tomcat.max-active=30
|
||||||
|
spring.datasource.tomcat.test-on-borrow=true
|
||||||
|
|
||||||
|
### xxl-job email
|
||||||
|
xxl.job.mail.host=smtp.163.com
|
||||||
|
xxl.job.mail.port=25
|
||||||
|
xxl.job.mail.ssl=false
|
||||||
|
xxl.job.mail.username=ovono802302@163.com
|
||||||
|
xxl.job.mail.password=asdfzxcv
|
||||||
|
xxl.job.mail.sendNick=《任务调度平台XXL-JOB》
|
||||||
|
|
||||||
|
### xxl-job login
|
||||||
|
xxl.job.login.username=admin
|
||||||
|
xxl.job.login.password=123456
|
||||||
|
|
||||||
|
### xxl-job, access token
|
||||||
|
xxl.job.accessToken=
|
||||||
|
|
||||||
|
### xxl-job, i18n (default empty as chinese, "en" as english)
|
||||||
|
xxl.job.i18n=
|
@ -1,10 +0,0 @@
|
|||||||
template_update_delay=0
|
|
||||||
default_encoding=UTF-8
|
|
||||||
output_encoding=UTF-8
|
|
||||||
locale=zh_CN
|
|
||||||
number_format=0.##########
|
|
||||||
date_format=yyyy-MM-dd
|
|
||||||
time_format=HH:mm:ss
|
|
||||||
datetime_format=yyyy-MM-dd HH:mm:s
|
|
||||||
classic_compatible=true
|
|
||||||
template_exception_handler=ignore
|
|
@ -1,27 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
|
|
||||||
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" threshold="null" debug="null">
|
|
||||||
|
|
||||||
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
|
|
||||||
<param name="Target" value="System.out" />
|
|
||||||
<layout class="org.apache.log4j.PatternLayout">
|
|
||||||
<param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} xxl-job-admin [%c]-[%t]-[%M]-[%L]-[%p] %m%n"/>
|
|
||||||
</layout>
|
|
||||||
</appender>
|
|
||||||
|
|
||||||
<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
|
|
||||||
<param name="file" value="/data/applogs/xxl-job/xxl-job-admin.log"/>
|
|
||||||
<param name="append" value="true"/>
|
|
||||||
<param name="encoding" value="UTF-8"/>
|
|
||||||
<layout class="org.apache.log4j.PatternLayout">
|
|
||||||
<param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} xxl-job-admin [%c]-[%t]-[%M]-[%L]-[%p] %m%n"/>
|
|
||||||
</layout>
|
|
||||||
</appender>
|
|
||||||
|
|
||||||
<root>
|
|
||||||
<level value="INFO" />
|
|
||||||
<appender-ref ref="CONSOLE" />
|
|
||||||
<appender-ref ref="FILE" />
|
|
||||||
</root>
|
|
||||||
|
|
||||||
</log4j:configuration>
|
|
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<configuration debug="false" scan="true" scanPeriod="1 seconds">
|
||||||
|
|
||||||
|
<contextName>logback</contextName>
|
||||||
|
<property name="log.path" value="/data/applogs/xxl-job/xxl-job-admin.log"/>
|
||||||
|
|
||||||
|
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
|
<encoder>
|
||||||
|
<pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
|
<file>${log.path}</file>
|
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||||
|
<fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern>
|
||||||
|
</rollingPolicy>
|
||||||
|
<encoder>
|
||||||
|
<pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
|
||||||
|
</pattern>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<root level="info">
|
||||||
|
<appender-ref ref="console"/>
|
||||||
|
<appender-ref ref="file"/>
|
||||||
|
</root>
|
||||||
|
|
||||||
|
</configuration>
|
@ -1,21 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:context="http://www.springframework.org/schema/context"
|
|
||||||
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
|
||||||
http://www.springframework.org/schema/beans/spring-beans.xsd
|
|
||||||
http://www.springframework.org/schema/context
|
|
||||||
http://www.springframework.org/schema/context/spring-context.xsd">
|
|
||||||
|
|
||||||
<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/" />
|
|
||||||
<property name="freemarkerSettings">
|
|
||||||
<bean class="org.springframework.beans.factory.config.PropertiesFactoryBean">
|
|
||||||
<property name="location" value="classpath:freemarker.properties" />
|
|
||||||
</bean>
|
|
||||||
</property>
|
|
||||||
</bean>
|
|
||||||
|
|
||||||
</beans>
|
|
@ -1,45 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
|
||||||
xmlns:context="http://www.springframework.org/schema/context"
|
|
||||||
xmlns:mvc="http://www.springframework.org/schema/mvc"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
|
||||||
http://www.springframework.org/schema/beans/spring-beans.xsd
|
|
||||||
http://www.springframework.org/schema/context
|
|
||||||
http://www.springframework.org/schema/context/spring-context.xsd
|
|
||||||
http://www.springframework.org/schema/mvc
|
|
||||||
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
|
|
||||||
|
|
||||||
<mvc:annotation-driven />
|
|
||||||
<context:component-scan base-package="com.xxl.job.admin.controller" />
|
|
||||||
|
|
||||||
<mvc:resources mapping="/favicon.ico" location="/favicon.ico" />
|
|
||||||
<mvc:resources mapping="/static/**" location="/static/" />
|
|
||||||
<mvc:resources mapping="/**/*.html" location="/" />
|
|
||||||
|
|
||||||
<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
|
|
||||||
<property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
|
|
||||||
<property name="prefix" value="" />
|
|
||||||
<property name="suffix" value=".ftl" />
|
|
||||||
<property name="contentType" value="text/html;charset=UTF-8" />
|
|
||||||
<property name="exposeSpringMacroHelpers" value="true" />
|
|
||||||
<property name="exposeRequestAttributes" value="true" />
|
|
||||||
<property name="exposeSessionAttributes" value="true" />
|
|
||||||
<property name="requestContextAttribute" value="request" />
|
|
||||||
<property name="cache" value="true" />
|
|
||||||
<property name="order" value="0" />
|
|
||||||
</bean>
|
|
||||||
|
|
||||||
<mvc:interceptors>
|
|
||||||
<mvc:interceptor>
|
|
||||||
<mvc:mapping path="/**"/>
|
|
||||||
<bean class="com.xxl.job.admin.controller.interceptor.PermissionInterceptor"/>
|
|
||||||
</mvc:interceptor>
|
|
||||||
<mvc:interceptor>
|
|
||||||
<mvc:mapping path="/**"/>
|
|
||||||
<bean class="com.xxl.job.admin.controller.interceptor.CookieInterceptor"/>
|
|
||||||
</mvc:interceptor>
|
|
||||||
</mvc:interceptors>
|
|
||||||
<bean id="exceptionResolver" class="com.xxl.job.admin.controller.resolver.WebExceptionResolver" />
|
|
||||||
|
|
||||||
</beans>
|
|
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 160 B After Width: | Height: | Size: 160 B |
Before Width: | Height: | Size: 148 B After Width: | Height: | Size: 148 B |
Before Width: | Height: | Size: 201 B After Width: | Height: | Size: 201 B |
Before Width: | Height: | Size: 158 B After Width: | Height: | Size: 158 B |
Before Width: | Height: | Size: 146 B After Width: | Height: | Size: 146 B |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |