用定时器和生成随机数
import com.fang.entity.IotSlWarnDataEntity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import java.util.Date;
import java.util.Random;
@Component
@RestController
@RequestMapping("/random")
public class SimulationController {
private static Logger log = LoggerFactory.getLogger(SimulationController.class);
RestTemplate restTemplate = new RestTemplate();
// 这个cron表达式代表从0秒开始,每过1秒执行一次。
@Scheduled(cron = "0/5 * * * * ?")
@RequestMapping("/value")
public void getValue() {
IotSlWarnDataEntity entity = new IotSlWarnDataEntity();
Random random=new Random();
//生成[-5,40)区间的整数
// String x1= String.valueOf(Math.abs(random.nextInt()%45)-5);
//log.info("发送x1:"+x1);
//生成[-10,30)区间的整数
// String x2= Math.abs(random.nextInt()%40)-10+"";
// log.info("发送x2:"+x2);
//生成[-15,20)区间的整数
//String x3= Math.abs(random.nextInt()%35)-15+"";
// log.info("发送x3:"+x3);
String x1 = (random.nextInt(100)-10)+"";
// log.info("发送x1:"+x1);
String x2 = (random.nextInt(100)-10)+"";
// log.info("发送x2:"+x2);
String x3 = (random.nextInt(100)-10)+"";
// log.info("发送x3:"+x3);
entity.setDeviceId(1);
entity.setX1(x1);
entity.setX2(x2);
entity.setX3(x3);
entity.setCreateTime(new Date());
System.out.println("发送的数据:" + entity);
String url = "http://localhost:8080/pullData";
//HttpHeaders 客户端向服务区发送请求时带的是请求头,而服务器响应客户端数据时带的是响应头。
HttpHeaders responseHeader = new HttpHeaders();
//响应实体
HttpEntity<String> requestEntity = new HttpEntity(entity, responseHeader);
//ResponseEntity 状态码
ResponseEntity<String> responseEntity = this.restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class, new Object[0]);
System.out.println(responseEntity);
}
}
如果要开启定时器 必加上该注解@EnableScheduling //开启定时器
@Component
和@Scheduled(cron = "0/5 * * * * ?")