我想知道是否可以通过网络启动启动JConsole。
例如,我有一个Web应用程序,当用户单击一个按钮(具有IP:JMX端点的PORT)时,我想启动JConsole,以便用户能够监视特定的JMX端点。
在我的服务器中我安装了Java,所以我认为这是可能的。
之前是否有人试图这样做。考虑到我想推出一个非由我开发的应用程序,我会有任何问题吗?
提前致谢。
编辑我 .jnlp文件如下
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="" href="">
<information>
<title>JConsole Web Start</title>
<vendor>User</vendor>
</information>
<security>
<all-permissions />
</security>
<resources>
<j2se version="1.6+" initial-heap-size="150m" max-heap-size="512m" />
<jar href="http://127.0.0.1/jconsole.jar" main="true" />
</resources>
<application-desc name="sun.tools.jconsole.JConsoleWebStart"
main-class="sun.tools.jconsole.JConsole" width="300" height="300">
<argument><![CDATA[hostname:port]]></argument>
</application-desc>
</jnlp>
我发现这可行。但是,它不能与Java 7一起使用,为&#34;主类的错误包名&#34; 抛出异常。我试过Java 6并且正常工作,无法真正理解原因。
编辑II: 最后我发现上面.jnlp无法从Java 7开始的原因是主类的 sun.tools.jconsole 包名。似乎Java7不喜欢以sun开头的包名。因此,我创建了自己的jar,实际上将jconsole包裹在里面并且它可以工作。