我正在尝试在我的spring boot类中创建一个新线程,我希望它用我的spring boot启动,但在我启动服务器时它没有启动:
代码:
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。
那么怎样才能让它正常工作呢??
暂无答案!
目前还没有任何答案,快来回答吧!