Jetty(9.1.3.v20140225)でJMXを動作させるのにいくつか問題があるので、Jetty docoについて読んでみました。
だから私はjetty.confに以下を追加しました
# ========================================================
# jetty.conf Configuration for jetty.sh script
# --------------------------------------------------------
# This file is used by the jetty.sh script to provide
# extra configuration arguments for the start.jar command
# created by that script.
#
# Each line in this file becomes an arguement to start.jar
# in addition to those found in the start.ini file
# =======================================================
jetty-logging.xml
jetty-started.xml
etc/jetty.xml
etc/jetty-jmx.xml
etc/jetty-jmx-remote.xml
jconsoleをJettyに接続する一環としてdocoが教えてくれたように、start.jar --add-to-startコマンドの一部としてjmxを追加しました
http://www.Eclipse.org/jetty/documentation/current/jetty-jconsole.html
[mybase]$ Java /opt/jetty-dist/start.jar --add-to-start=jmx
INFO: jmx-remote initialised in ${jetty.base}/start.ini (appended)
INFO: jmx initialised transitively
私がこれを行ったとき、確かにjmxが追加され、jmx-remoteは追加されませんでした。理由は不明ですが、誰かが理由を教えてくれることを願っています。
私が読んだドキュメントからこれらすべてを言うことで、私は彼らがこれを実現したいことをカバーしました。
http://www.Eclipse.org/jetty/documentation/current/jmx-chapter.html
しかし、ここでも、パッケージに表示されているものについては完全に正しくありません。そのため、doctyの内容がjetty-jmx.xmlにあるため、jetty-jmx-remoteを追加したのはそのためです。
いずれにせよ、Jettyを起動すると、ログファイルにそれが開始されていることがわかります。
INFO:oejj.ConnectorServer:main:JMXリモートURL:service:jmx:rmi:// Host:1099/jndi/rmi:// Host:1099/jmxrmi
サーバーから、クライアントから1099にtelnetできます。nmapを使用して、ポートがリッスンされていることを再確認し、netstatでも確認しました。 VisualVMを使用して接続すると、エラーが発生します。
ネットワークと桟橋の場所の間のすべてのポートを開いたことを確認しました。
これを実現するために、誰かが私を正しい方向に向けることができますか?.
ありがとう
並べ替え、これをstart.iniに手動で追加する必要があります
--module=jmx-remote
## JMX Configuration
## Enable for an open port accessible by remote machines
jetty.jmxrmihost=localhost
jetty.jmxrmiport=1099
## Strictly speaking you shouldn't need --exec to use this in most environments.
## If this isn't working, make sure you enable --exec as well
-Dcom.Sun.management.jmxremote
そして、jetty-jmx.xmlでこれを更新しました。
<Call class="Java.lang.System" name="setProperty">
<Arg>Java.rmi.server.hostname</Arg>
<Arg>IP-Address</Arg>
</Call>
Plusは私がjetty.confに対してしたことをする必要はありませんでした。