| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- const server = require("./server");
- const { app: electronApp } = require('electron');
- const Log = require('ee-core/log');
- const Conf = require('ee-core/config');
- const GetPort = require('ee-core/utils/get-port');
- /**
- * java server插件
- * @class
- */
- class JavaServerAddon {
- constructor() {
- this.cfg;
- this.javaServer;
- }
- /**
- * 创建java服务
- *
- * @function
- * @since 1.0.0
- */
- async createServer () {
- this.cfg = Conf.getValue('addons.javaServer');
- await this.createJavaPorts();
- this.javaServer = new server();
- await this.javaServer.create(this.cfg);
- // kill
- electronApp.on("before-quit", async () => {
- Log.info("[addon:javaServer] before-quit: kill-----------");
- await this.javaServer.kill();
- });
- return;
- }
- /**
- * todo 检查服务是否启动
- *
- * @function
- * @since 1.0.0
- */
- async check () {
-
- }
- /**
- * 创建服务端口
- *
- * @function
- * @since 1.0.0
- */
- async createJavaPorts() {
- if (!this.cfg.enable) {
- return;
- }
- const javaPort = await GetPort({ port: this.cfg.port });
- process.env.EE_JAVA_PORT = javaPort;
- this.cfg.port = javaPort;
- // 更新config配置
- Conf.setValue('addons.javaServer', this.cfg);
- }
- /**
- * 杀掉进程
- *
- * @function
- * @since 1.0.0
- */
- async kill() {
- if (!this.cfg.enable) {
- return;
- }
- await this.javaServer.kill();
- }
- }
- JavaServerAddon.toString = () => '[class JavaServerAddon]';
- module.exports = JavaServerAddon;
|