- PR -

プラットフォームMBeanサーバのマニュアル起動

投稿者投稿内容
カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2007-02-14 16:06
結局、プログラムが停止しなくなったのは、RMI Reaperというnon-daemonスレッドが原因であることは分かったのですが、それの止め方がよく分かりません。
UnicastRemoteObject.unexportObject()で止まるかなと思ったんですけど。
コード:
Registry registry = LocateRegistry.createRegistry(9999);

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi");
JMXConnectorServer connector = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs);
connector.start();

UnicastRemoteObject.unexportObject(registry, true);


何が悪いかどなたかお分かりになりますか?
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-02-20 10:36
今更のレスで申し訳ないですが、

JMXConnectorServe#stop()を行うと、
レジストリ内部でゴニョゴニョやって止まりますね。
(RMIは苦手で・・・)
カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2007-02-20 11:34
引用:

かつのりさんの書き込み (2007-02-20 10:36) より:
JMXConnectorServe#stop()を行うと、
レジストリ内部でゴニョゴニョやって止まりますね。



おぉーっ! 最後の一行を
connector.stop();
に変更したら、あっさり止まりました。

とても助かりました。
かつのりさん、どうもありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)