public async openBootApp()

in src/Controller.ts [118:145]


    public async openBootApp(app: BootApp): Promise<void> {
        let jvm = await findJvm();
        if (!jvm) {
            throw new Error("Couldn't find a JVM to run Java code");
        }
        let jmxport = app.jmxPort;
        if (jmxport) {
            let jmxurl = `service:jmx:rmi:///jndi/rmi://localhost:${jmxport}/jmxrmi`;
            if (jvm) {
                let javaProcess = jvm.jarLaunch(
                    path.resolve(this._context.extensionPath, "lib", "java-extension.jar"),
                    [
                        "-Djmxurl=" + jmxurl
                    ]
                );
                let port = javaProcess.stdout ? parseInt(await readAll(javaProcess.stdout)) : 0;
                if (port > 0) {
                    vscode.commands.executeCommand("vscode.open", vscode.Uri.parse(`http://localhost:${port}/`));
                } else {
                    if (javaProcess.stderr) {
                        let err = await readAll(javaProcess.stderr);
                        console.log(err);
                    }
                    vscode.window.showErrorMessage("Couldn't determine port app is running on");
                }
            }
        }
    }