Explorar o código

规范执行器配置信息,通过配置文件统一管理

xueli.xue %!s(int64=8) %!d(string=hai) anos
pai
achega
f08cd6a6ce

+ 20 - 20
xxl-job-admin/src/main/resources/applicationcontext-base.xml → xxl-job-admin/src/main/resources/spring/applicationcontext-base.xml

@@ -1,21 +1,21 @@
-<?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-3.0.xsd
-           http://www.springframework.org/schema/context
-           http://www.springframework.org/schema/context/spring-context-3.0.xsd">
-
-	<context:component-scan base-package="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>
-
+<?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-3.0.xsd
+           http://www.springframework.org/schema/context
+           http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+
+	<context:component-scan base-package="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>

+ 7 - 5
xxl-job-admin/src/main/resources/applicationcontext-xxl-job-admin.xml → xxl-job-admin/src/main/resources/spring/applicationcontext-xxl-job-admin.xml

@@ -19,8 +19,9 @@
 		</property>
 	</bean>
 
-	<!-- part 1 :for datasource -->
-	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"  destroy-method="close">  
+	<!-- ********************************* part 1 :for datasource ********************************* -->
+
+	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"  destroy-method="close">
 	    <property name="driverClass" value="${xxl.job.db.driverClass}" />
 	    <property name="jdbcUrl" value="${xxl.job.db.url}" />
 	    <property name="user" value="${xxl.job.db.user}" />
@@ -44,7 +45,8 @@
           <constructor-arg index="0" ref="sqlSessionFactory" />  
     </bean> 
     
-    <!-- part 2 :for tx -->
+	<!-- ********************************* part 2 :for tx ********************************* -->
+
     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
 		<property name="dataSource" ref="dataSource" />
 	</bean>
@@ -68,7 +70,8 @@
 		<aop:advisor pointcut-ref="txoperation" advice-ref="txAdvice" />
 	</aop:config>
 
-	<!-- part 3 :for quartz -->
+	<!-- ********************************* part 3 :for xxl-job scheduler ********************************* -->
+
 	<bean id="quartzScheduler" lazy-init="false" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
 		<property name="dataSource" ref="dataSource" />
 		<property name="autoStartup" value="true" />	<!--自动启动 -->
@@ -77,7 +80,6 @@
 		<property name="configLocation" value="classpath:quartz.properties"/>
 	</bean>
 
-	<!-- 协同-调度器 -->
 	<bean id="xxlJobDynamicScheduler" class="com.xxl.job.admin.core.schedule.XxlJobDynamicScheduler" init-method="init" destroy-method="destroy" >
 		<!-- (轻易不要变更“调度器名称”, 任务创建时会绑定该“调度器名称”) -->
 		<property name="scheduler" ref="quartzScheduler"/>

+ 44 - 44
xxl-job-admin/src/main/resources/springmvc-context.xml → xxl-job-admin/src/main/resources/spring/springmvc-context.xml

@@ -1,45 +1,45 @@
-<?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-3.0.xsd 
-		http://www.springframework.org/schema/context 
-		http://www.springframework.org/schema/context/spring-context-3.0.xsd
-		http://www.springframework.org/schema/mvc
-		http://www.springframework.org/schema/mvc/spring-mvc-3.0.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" />
-	
+<?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-3.0.xsd 
+		http://www.springframework.org/schema/context 
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd
+		http://www.springframework.org/schema/mvc
+		http://www.springframework.org/schema/mvc/spring-mvc-3.0.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>

+ 2 - 2
xxl-job-admin/src/main/webapp/WEB-INF/web.xml

@@ -11,7 +11,7 @@
 
 	<context-param>
 		<param-name>contextConfigLocation</param-name>
-		<param-value>classpath*:applicationcontext-*.xml</param-value>
+		<param-value>classpath*:spring/applicationcontext-*.xml</param-value>
 	</context-param>
 
 	<listener>
@@ -43,7 +43,7 @@
 		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 		<init-param>
 			<param-name>contextConfigLocation</param-name>
-			<param-value>classpath*:springmvc-context.xml</param-value>
+			<param-value>classpath*:spring/springmvc-context.xml</param-value>
 		</init-param>
 		<load-on-startup>1</load-on-startup>
 	</servlet>

+ 18 - 14
xxl-job-executor-example/src/main/resources/applicationcontext-xxl-job.xml

@@ -7,6 +7,15 @@
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-3.0.xsd">
 
+	<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
+		<property name="fileEncoding" value="utf-8" />
+		<property name="locations">
+			<list>
+				<value>classpath*:xxl-job-executor.properties</value>
+			</list>
+		</property>
+	</bean>
+
     <!-- ********************************* 基础配置 ********************************* -->
 
 	<!-- 配置01、JobHandler 扫描路径 -->
@@ -15,10 +24,10 @@
 	<!-- 配置02、执行器 -->
 	<bean id="xxlJobExecutor" class="com.xxl.job.core.executor.XxlJobExecutor" init-method="start" destroy-method="destroy" >
 		<!-- 执行器IP[选填],为空则自动获取 -->
-		<!--<property name="ip" value="" />-->
+		<property name="ip" value="${xxl.job.executor.ip}" />
 		<!-- 执行器端口号 -->
-		<property name="port" value="9999" />
-        <property name="appName" value="xxl-job-executor-example" />
+		<property name="port" value="${xxl.job.executor.port}" />
+        <property name="appName" value="${xxl.job.executor.appname}" />
         <!-- 执行器注册器,默认使用系统提供的 "DbRegistHelper", 推荐将其改为公共的RPC服务 -->
         <property name="registHelper" >
             <!-- DbRegistHelper, 依赖 "XXL-JOB公共数据源" -->
@@ -34,7 +43,7 @@
 	<!-- 配置03、GlueFactory -->
 	<bean id="glueFactory" class="com.xxl.job.core.glue.GlueFactory">
 		<!-- GLUE任务示例缓存失效时间, 单位/ms -->
-		<property name="cacheTimeout" value="10000" />
+		<property name="cacheTimeout" value="${xxl.job.glue.cache.time}" />
 		<!-- GLUE源码加载器,默认使用系统提供的 "DbGlueLoader", 推荐将其改为公共的RPC服务 -->
 		<property name="glueLoader" >
             <!-- DbGlueLoader, 依赖 "XXL-JOB公共数据源" -->
@@ -49,10 +58,10 @@
 
 	<!-- 配置04、XXL-JOB公共数据源 -->
 	<bean id="xxlJobDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
-		<property name="driverClass" value="${c3p0.driverClass}" />
-		<property name="jdbcUrl" value="${c3p0.url}" />
-		<property name="user" value="${c3p0.user}" />
-		<property name="password" value="${c3p0.password}" />
+		<property name="driverClass" value="${xxl.job.db.driverClass}" />
+		<property name="jdbcUrl" value="${xxl.job.db.url}" />
+		<property name="user" value="${xxl.job.db.user}" />
+		<property name="password" value="${xxl.job.db.password}" />
 		<property name="initialPoolSize" value="3" />
 		<property name="minPoolSize" value="2" />
 		<property name="maxPoolSize" value="10" />
@@ -61,11 +70,6 @@
 		<property name="acquireRetryAttempts" value="10" />
 		<property name="preferredTestQuery" value="SELECT 1" />
 	</bean>
-	<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
-		<property name="fileEncoding" value="utf-8" />
-		<property name="location">
-			<value>classpath:jdbc.properties</value>
-		</property>
-	</bean>
+
 
 </beans>

+ 0 - 4
xxl-job-executor-example/src/main/resources/jdbc.properties

@@ -1,4 +0,0 @@
-c3p0.driverClass=com.mysql.jdbc.Driver
-c3p0.url=jdbc:mysql://localhost:3306/xxl-job?useUnicode=true&amp;characterEncoding=UTF-8
-c3p0.user=root
-c3p0.password=root_pwd

+ 13 - 0
xxl-job-executor-example/src/main/resources/xxl-job-executor.properties

@@ -0,0 +1,13 @@
+### xxl-job db
+xxl.job.db.driverClass=com.mysql.jdbc.Driver
+xxl.job.db.url=jdbc:mysql://localhost:3306/xxl-job?useUnicode=true&amp;characterEncoding=UTF-8
+xxl.job.db.user=root
+xxl.job.db.password=root_pwd
+
+### xxl-job glue cache time/ms
+xxl.job.glue.cache.time=10000
+
+### xxl-job executor address
+xxl.job.executor.appname=xxl-job-executor-example
+xxl.job.executor.ip=
+xxl.job.executor.port=9999

+ 0 - 13
xxl-job-executor-example/src/main/webapp/WEB-INF/web.xml

@@ -20,19 +20,6 @@
 		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 	</listener>
 	
-	<!-- [@Deprecated] Servlet任务执行器,推荐使用Jetty任务执行器 -->
-	<!-- 
-	<servlet>
-		<servlet-name>XxlJobServlet</servlet-name>
-		<servlet-class>com.xxl.job.client.netcom.servlet.XxlJobServlet</servlet-class>
-		<load-on-startup>1</load-on-startup>
-	</servlet>
-	<servlet-mapping>
-		<servlet-name>XxlJobServlet</servlet-name>
-		<url-pattern>/xxlJobServlet</url-pattern>
-	</servlet-mapping> 
-	-->
-	
 	<welcome-file-list>
 		<welcome-file>index.html</welcome-file>
 	</welcome-file-list>