[英]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.