每5分钟Java 8 Spring Update REST

时间:2015-10-01 09:54:57

标签: java spring swing rest

我在工作中制作了一个小应用程序,这通过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.
        ...
    }

}

0 个答案:

没有答案