0
所以我已經開發了一個REST API,它包含一個緩存來緩存數據庫中的數據以提高效率。就目前而言,我必須從命令行單獨啓動服務器,然後運行我的Web應用程序。當我終止我的Web應用程序時,我必須回到命令行並關閉服務器。無論如何,當我啓動我的Java應用程序和/或關閉它時,自動啓動memcached服務器(如代碼)?無論如何打開/關閉Java應用程序中的memcached服務器?
所以我已經開發了一個REST API,它包含一個緩存來緩存數據庫中的數據以提高效率。就目前而言,我必須從命令行單獨啓動服務器,然後運行我的Web應用程序。當我終止我的Web應用程序時,我必須回到命令行並關閉服務器。無論如何,當我啓動我的Java應用程序和/或關閉它時,自動啓動memcached服務器(如代碼)?無論如何打開/關閉Java應用程序中的memcached服務器?
如果你喜歡從Java代碼做它,你可以使用一個ProcessBuilder調用內存緩存啓動/關機腳本(從javadoc的代碼示例):
ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");
Map<String, String> env = pb.environment();
env.put("VAR1", "myValue");
env.remove("OTHERVAR");
env.put("VAR2", env.get("VAR1") + "suffix");
pb.directory(new File("myDir"));
Process p = pb.start();
而且你需要實現一個ServletContextListener接收的servlet上下文生命週期事件,即初始化銷燬。