angularjs - 是否可以从 hawt.io 插件(AngularJS)运行操作系统脚本

标签 angularjs tomcat hawtio

我有在其上运行的 Tomcat webcontainer (8.0.x) 和 hawt.io (1.5.10)。

我想编写 Hawt.io 插件来重启 JVM 服务器,即托管此 jvm 的服务器。

让我们假设我有 bash 脚本,我可以调用它来优雅地停止 JVM 并重新启动它。 是否可以从 hawt.io 插件调用此类外部操作系统脚本? 我在哪里可以找到任何代码示例?

附言。我知道这会断开请求用户与 hawt.io 网络应用程序的连接。脚本和 jvm 将从相同的 uid 运行。

最佳答案

我认为这是不可能的,因为 Hawtio 插件只不过是一个在浏览器上运行的前端 AngularJS 脚本。禁止从浏览器脚本运行操作系统脚本,否则可能会引发所有可能的安全攻击。

一种可能的解决方法是创建一个部署在 Tomcat 服务器上的自定义 JMX MBean,然后在内部运行一个系统命令,如 Runtime.getRuntime().exec("..."),并且有一个 Hawtio 插件来从浏览器调用 MBean。

关于angularjs - 是否可以从 hawt.io 插件(AngularJS)运行操作系统脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51430413/

相关文章:

java - ClassNotFoundException : javax. jws.WebService

javascript - 最大化CSS中列的大小

javascript - 在 Angular 中向 json 对象添加空数组

java - 无法在部署到 Heroku 的 Java Tomcat 服务器中执行工作进程

Tomcat 上的 Java Web 应用程序 - 显示用户上传的文件

java - 无法访问 com.sun.tools.attach.VirtualMachine

java - 使用 Hawtio 时的 org.eclipse.jgit.errors.LockFailedException

javascript - $watch 在 AngularJS 中发生了意外的多个事件?

angularjs - ubuntu 16.04 中未安装 angular-cli

apache-camel - Hawt.io 阻止 Jvisualvm 连接到 JVM