[英]Start jar app from Spring Boot application
我有兩個java 應用程序,
該過程正在啟動,但似乎處於空閑模式。 關閉 Spring 引導應用程序后,java-app.jar 開始正常工作:-/。
謝謝你。
@RestController
@RequestMapping(value = "/")
public class Controller {
@PostMapping(value = "/start-app", produces = "application/json")
public void startJavaApp(@RequestBody ObjectString objectString) throws IOException {
Process proc = Runtime.getRuntime().exec("java -jar java-app.jar");
CompletableFuture.runAsync(()-> {
try {
proc.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
});
}
}
我在這里找到了適合我的解決方案
https://www.infoworld.com/article/2071275/when-runtime-exec---won-t.html
@RestController
@RequestMapping(value = "/")
public class Controller {
@PostMapping(value = "/start-app", produces = "application/json")
public void startJavaApp(@RequestBody ObjectString objectString) throws IOException {
try
{
Process proc = Runtime.getRuntime().exec("run.bat");
InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
CompletableFuture.runAsync(() -> {
try {
//logger.info("Java java-app stream has been started");
String line = null;
while ( (line = br.readLine()) != null)
logger.info(line);
System.out.println(line);
} catch (IOException e) {
e.printStackTrace();
}
});
} catch (Throwable t)
{
t.printStackTrace();
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.