配置applicationContext-spring.xml文件
1.添加task的命名空间 。
xmlns:task="http://www.springframework.org/schema/task"
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.2.xsd
2.开启task注解。
<!-- 开启spring的task自动注解 -->
<task:annotation-driven/>
定义任务类
package com.wjt.zam.common.task;
import org.apache.solr.client.solrj.SolrRequest.METHOD;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
/**
* <p>
* Description: 关于solr的定时任务类
* </p>
*
* @author wjt create
* @date 2018年9月3日 下午1:10:44
*/
@Component
@Lazy(false)
public class SolrTask {
@Autowired
private HttpSolrClient httpSolrClient;
@Scheduled(cron = "0 0/1 * * * ?")
public void dataimport() {
try {
QueryRequest request = new QueryRequest();
//path可以根据实际业务及需求就行修改,本demo只实现基本功能
request.setPath("/dataimport?command=full-import&clean=true&commit=true&entry=good");
//默认情况(Get方式),会报错,但不影响定时任务会正常执行
request.setMethod(METHOD.POST);
httpSolrClient.request(request);
} catch (Exception e) {
e.printStackTrace();
}
}
}
效果图
如有疑问
一丶参照以下博文。
ssm整合solr三之solr集成mysql并实现批量数据导入
二丶下载源码。