走向秃头的觉 2020-12-11 17:41 采纳率: 33.3%
浏览 132
已结题

SSH项目集成XxlJob求助

生产环境liunx系统,因为Spring集成Quartz的定时任务频繁出现没有报错日志,但是重启tomcat又行。老板要求用Xxljob执行定时任务.

WEB.XML

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			classpath:applicationContext.xml,
			classpath:applicationContext-quartz.xml
		</param-value>
	</context-param>
	
	<!-- spring -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath*:applicationContext-job.xml</param-value>
	</context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	
	<!-- 启动sda监听任务  -->
	<listener>
		<listener-class>com.commsoft.sys.common.monitor.InitListener</listener-class>
	</listener> 

<!-- filter begin -->
   <filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>
			org.springframework.web.filter.CharacterEncodingFilter
		</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
   </filter>

applicationContext-job.xml

 

<?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">

	<bean id="propertyConfigurer" class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
		<property name="fileEncoding" value="utf-8" />
		<property name="locations">
			<list>
				<value>classpath*:xxl-job-executor.properties</value>
			</list>
		</property>
	</bean>

    <!-- ********************************* 基础配置 ********************************* -->

	<!-- 配置01、JobHandler 扫描路径 -->
	<context:component-scan base-package="定时任务地址" />

	<!-- 配置02、执行器 -->
	<bean id="xxlJobSpringExecutor" class="com.xxl.job.core.executor.impl.XxlJobSpringExecutor" >
		<!-- 执行器注册中心地址[选填],为空则关闭自动注册 -->
		<property name="adminAddresses" value="${xxl.job.admin.addresses}" />
		<!-- 访问令牌[选填],非空则进行匹配校验 -->
		<property name="accessToken" value="${xxl.job.accessToken}" />
		<!-- 执行器AppName[选填],为空则关闭自动注册 -->
		<property name="appname" value="${xxl.job.executor.appname}" />
		<!-- 注册地址[选填],优先使用该配置作为注册地址,为空时使用内嵌服务 ”IP:PORT“ 作为注册地址 -->
		<property name="address" value="${xxl.job.executor.address}" />
		<!-- 执行器IP[选填],为空则自动获取 -->
		<property name="ip" value="${xxl.job.executor.ip}" />
		<!-- 执行器端口号[选填],小于等于0则自动获取 -->
		<property name="port" value="${xxl.job.executor.port}" />
		<!-- 执行器日志路径[选填],为空则使用默认路径 -->
		<property name="logPath" value="${xxl.job.executor.logpath}" />
		<!-- 日志保存天数[选填],值大于3时生效 -->
		<property name="logRetentionDays" value="${xxl.job.executor.logretentiondays}" />
	</bean>

</beans>

要执行的测试代码

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;


import com.xxl.job.core.handler.annotation.XxlJob;

@Component
public class TestXxljob {
	private static Logger logger = LoggerFactory.getLogger(TestXxljob.class);
	
	@XxlJob(value="Txt")
	public void TxtXxl() {
		System.out.println("测试数据");
	}

}

现在问题是本地项目启动后无法自动注册到任务调度中心。

  • 写回答

5条回答 默认 最新

  • sinJack 2020-12-11 18:17
    关注

    定时任务的配置文件没加载吧

    评论

报告相同问题?