我在工作中制作了一个小应用程序,这通过REST对我们的服务器持开放态度。我把一切都装得很好,它的工作原理应该如此。
但是,我需要我的应用程序每隔3-5分钟检查一次REST
,看看是否有任何服务已关闭,或者仍然正常运行。
我尝试使用Timer
,@Schedule
和其他内容,但我无法让它工作,所以我再次将其从应用程序中删除。
但我真的需要这个,所以有办法做到这一点吗?
它是加载REST的方法loadDataSubs()
和loadDataCus()
提前致谢
import java.awt.AWTException;
import java.awt.Color;
import java.awt.Font;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.client.RestTemplate;
import ch.qos.logback.core.joran.action.Action;
public class Setup extends JFrame {
Subscriberhealth sub = new Subscriberhealth();
Customerhealth cus = new Customerhealth();
RestTemplate restTemplate = new RestTemplate();
public Setup( String title ){
super( title );
//checking for support
if(!SystemTray.isSupported()){
System.out.println("System tray is not supported !!! ");
return ;
}
setBounds(100, 100, 350, 480);
setResizable(false);
getContentPane().setLayout(null);
loadDataSubs();
loadDataCus();
setGui();
setVisible(true);
setDefaultCloseOperation(HIDE_ON_CLOSE);
setupTray();
setupIcon();
}
public void setupIcon(){
Toolkit kit = Toolkit.getDefaultToolkit();
Image img = kit.createImage("src/main/resources/6.png");
setIconImage(img);
}
public void loadDataSubs() {
// Load Sub REST info
sub = restTemplate.getForObject("https://xxx/health", Subscriberhealth.class);
System.out.println("TEST 1");
}
public void loadDataCus() {
// Load Cus REST info
cus = restTemplate.getForObject("https://xxx/health", Customerhealth.class);
System.out.println("TEST 2");
}
public void setupTray(){
//get the systemTray of the system
...
}
public void setGui() {
// setup labels etc.
...
}
}