簡體   English   中英

將現有的獨立Java應用程序轉換為Web服務

[英]converting a existing standalone java application to a web service

我用JavaFX8 GUI開發了一個Java應用程序。 該程序連續(長時間)運行,以收集數據,處理數據並寫入DB等。通過GUI對該程序進行配置和監督。

我希望能夠從具有瀏覽器的任何計算機上查看/控制應用程序。 Vaadin是做到這一點的好方法嗎(還有其他更容易的選擇嗎?)? 我已經嘗試過改編一些Vaadin示例,並且無論用戶連接/斷開了Web服務,都沒有設法使我的程序連續運行? 是否取決於運行Vaadin的服務器? 我目前正在使用Jetty(與Vaadin插件一起使用時)

我用Java編寫代碼已有幾年了,但是在服務器-客戶端代碼方面經驗很少

謝謝

我認為Vaadin對您來說將是一個不錯的選擇。 我使用此框架開發了一些應用程序,可以在SmartTV的網絡瀏覽器上顯示一些實時圖表。

您的會話很可能由於不活動而超時。 默認情況下,這是在Vaadin上實現的,但在此類應用程序中可能會令人討厭。

使用下面的代碼段(應該位於您的UI中),當會話過期時,webapp將自動重新加載:

@WebServlet(urlPatterns = "/*", name = "MyUIServlet", asyncSupported = true)
@VaadinServletConfiguration(ui = MyUI.class, productionMode = false)
public static class MyUIServlet extends VaadinServlet implements Serializable {

    @Override
    protected void servletInitialized() throws ServletException {
        super.servletInitialized();
        getService().setSystemMessagesProvider((systemMessagesInfo) -> {
            CustomizedSystemMessages messages
                    = new CustomizedSystemMessages();

            messages.setSessionExpiredNotificationEnabled(false);

            return messages;
        });

    }
}

另外,請參考以下問題: 設置Vaadin會話超時參數

我建議您使用Spring集成,該集成將允許您輕松連接所有依賴項,使用Spring Data以簡單的方式訪問數據庫,以及@Scheduled批注,這對於運行某些后台任務和處理很有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM