public class testRedisController {
private HashMap<String,Object> res=new HashMap<>();
@Autowired
private StringRedisTemplate stringRedisTemplate;
@PostMapping("set")
public Object set(String key,String value){
res.clear();
res.put("key",key);
res.put("value",value);
stringRedisTemplate.opsForValue().set(key,value);
return res;
}
@GetMapping("get")
public Object get(String key){
res.clear();
res.put("key",key);
res.put("value",stringRedisTemplate.opsForValue().get(key));
return res;
}
}
@EnableScheduling
@Component
public class TestTimerTask {
//每隔5s执行一次
@Scheduled(fixedRate = 1000*5)
// 每隔2s执行一次
// @Scheduled(cron = "*/2 * * * * *")
// @Scheduled(fixedDelay=3000)
public void test1(){
System.out.println(new Date());
}
}
@EnableAsync //开启异步任务
@Component
public class AsyncTask {
@Async
public void task1() throws InterruptedException {
long begin = System.currentTimeMillis();
Thread.sleep(3000L);
System.out.println(System
.currentTimeMillis() - begin);
}
}
@RequestMapping("asnyc")
@RestController
public class testAsyncController {
@Autowired
private AsyncTask AsyncTask;
@GetMapping("task1")
public String testAsyncTask() throws InterruptedException {
AsyncTask.task1();
return "success";
}
}
// 异步函数
@Async
public Future<String> task2() throws InterruptedException {
long begin = System.currentTimeMillis();
Thread.sleep(5000L);
System.out.println(System
.currentTimeMillis() - begin);
return new AsyncResult<String>("任务2完成结束");
}
// 等待回调完成
Future<String> task2 = AsyncTask.task2();
while (true){
if(task2.isDone()){
break;
}
}