如何解决PostConstruct在春季启动时停止了我所有的API
我正在尝试在Spring引导类中创建一个新线程,我希望它通过Spring引导来启动,但是在启动服务器时却没有启动:
代码:
public class TrashCanController implements disposableBean,Runnable {
@Autowired
TrashCanRepository trashCanRepository;
public static TrashCanResponse response;
String Data;
TrashCanResponse trashCanResponse = new TrashCanResponse();
private Thread thread;
private volatile boolean someCondition = true;
@GetMapping("/DataTrashCan")
public void getAllinfo() throws Exception {
final boolean scanFinished = false;
final int x = 1;
final String hc06Url = "btspp://FCA87A00B212:1;authenticate=false;encrypt=false;master=false";
final StreamConnection streamConnection = (StreamConnection) Connector.open(hc06Url);
final BufferedReader input = new BufferedReader(new InputStreamReader(streamConnection.openInputStream()));
try {
while (true) {
String inputLine = input.readLine();
while (inputLine.length() == 1) {
inputLine = input.readLine();
}
if (inputLine.length() >= 4 && inputLine.length() <= 13) {
final String[] data = inputLine.split(",",3);
TrashCanResponse response = new TrashCanResponse(Integer.parseInt(data[0]),Integer.parseInt(data[1]),Integer.parseInt(data[2]));
System.out.println(response.getdistance());
System.out.println(response.getHumidity());
System.out.println(response.getTemperature());
Thread.sleep(10000);
trashCanRepository.save(response);
}
}
} catch (InterruptedException e) {
e.printstacktrace();
}
}
@Override
public void run() {
while (someCondition) {
try {
getAllinfo();
} catch (Exception e) {
e.printstacktrace();
}
}
}
@Override
public void destroy() throws Exception {
someCondition = false;
}
我正在使用@postconstruct,但是当函数从服务器启动时,它停止了我所有的API。
那么如何使它正常工作?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。