Electron或node如何更好的调用jar包启动一个spring boot的服务

发布于 2022-09-06 03:48:33 字数 1010 浏览 38 评论 0

我在开发一个Electron桌面应用,其中需要连接mysql或oracle数据库,我的方案是用spring boot写了一个restful API服务器,然后在Electron上以网络请求的方式来调用这个服务,现在我希望通过我的应用来任意启动或关闭这个服务,我用maven将这个restful服务打成了个jar包,我该如何启动它呢?

我试着用了nodejs 的child_process 模块,以命令行的方式来启动这个jar包,代码如下:

var childProcess = require('child_process');
var options = {maxBuffer:1024*1024*100, encoding:'utf8', timeout:5000};
var child = childProcess.exec('java -jar *******.jar', options, function (error, stdout, stderr) {
    if (error) {
        console.log(error.stack);
        console.log('Error Code: '+error.code);
        console.log('Error Signal: '+error.signal);
    }
    console.log('Results: \n' + stdout);
    if (stderr.length){
        console.log('Errors: ' + stderr);
    }
});

但是我认为这种方式是拿来跑命令的,并不是拿来像我这样启动一个java服务的,所以效果非常不理想,当前这样子情况是,服务可以启动,但是是在我已经跑了回调后才真实启动,并可以接受我的调用和连接的,所以感觉服务启动延迟了,而且由于这是一个服务,启动日志量很大,所以会报错Error: stdout maxBuffer exceeded,

所以nodejs应该如何去启动一个jar包服务,或者我这样的方案是不正确的,我应该如何实现更好的连接oracle数据库或mysql数据库,以什么样的方案去连接?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

流心雨 2022-09-13 03:48:33

启动java项目特别是spring boot,就是执行命令的。
你所说的启动一个java服务具体是想如何启动?

落花随流水 2022-09-13 03:48:33

请问博主这样启动服务后是如何关闭的??

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文