[英]Hosting a JSON REST Web Service in a standalone Java Console Application
[英]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.