向左走,向右走。。。
永遠(yuǎn)不回頭
BlogJava
首頁(yè)
新隨筆
新文章
聯(lián)系
聚合
管理
posts - 16,comments - 17,trackbacks - 0
<
2005年2月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
網(wǎng) 名:
非飛
性 別:
男
籍 貫:
廣西桂林
Q Q:
8038052
MSN:
towerhe@hotmail.com
Email:
towerhe@gmail.com
愛(ài) 好:
愛(ài)好廣泛,不在此處做詳細(xì)說(shuō)明。
常用鏈接
我的隨筆
我的評(píng)論
我的參與
最新評(píng)論
留言簿
(3)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類(lèi)
(14)
Flash相關(guān)技術(shù)(1)
JAVA 相關(guān)技術(shù)(6)
JavaScript相關(guān)技術(shù)(2)
生活瑣事(3)
軟件工程(2)
隨筆檔案
(16)
2005年5月 (2)
2005年4月 (4)
2005年3月 (6)
2005年2月 (2)
2005年1月 (2)
文章分類(lèi)
(2)
JMX(2)
文章檔案
(3)
2005年4月 (1)
2005年2月 (2)
收藏夾
(3)
JAVA(3)
友情鏈接
楊彥
陶文
文章
JMX相關(guān)文章
搜索
最新評(píng)論
1.?re: 回實(shí)驗(yàn)室上班
兄臺(tái),好久不更新, 這就是你的不對(duì)了!我等著你寫(xiě)博客啊
--YZ
2.?re: JMX設(shè)計(jì)模式之MBeanWriteToLog模式
good
--hellochen
3.?re: Hibernate中的繼承映射
錯(cuò)別字也太多了點(diǎn)吧
--無(wú)可奈何花落去
4.?re: 程序員應(yīng)該怎么過(guò)生活???
程序員很苦,但有個(gè)老姐就很幸福了!哈哈.....
--dwj
5.?re: JMX設(shè)計(jì)模式之MBeanWriteToLog模式
好!
--王瓊
6.?re: JavaScript讀取服務(wù)器端的xml
很好,謝謝~
--lovelywcm
7.?re: 各層共享使用PO的代價(jià)
我的觀點(diǎn),大部分實(shí)體對(duì)象只要vo、po重用就可以了,只有vo、po差距較大的地方才分開(kāi),這樣就做到了簡(jiǎn)潔性和可擴(kuò)展性的良好折中。
--CowNew開(kāi)源團(tuán)隊(duì)
8.?re: 各層共享使用PO的代價(jià)
都TMD的人云亦云,很少有說(shuō)PO變動(dòng)之后,VO不變動(dòng)的,既然兩個(gè)都要?jiǎng)?何不只動(dòng)一個(gè)?
--TMD
9.?re: 程序員應(yīng)該怎么過(guò)生活???
我很按時(shí)睡覺(jué)的都是 晚上1:00
--smilerain
10.?re: NIO中Selector的工作原理
sorry, 我說(shuō)的是SelectionKey.interestOps
--zhangwei
閱讀排行榜
1.?NIO中Selector的工作原理 (17394)
2.?通過(guò)mx4j實(shí)現(xiàn)JMXConnectorServer和JMXConnector(5708)
3.?JavaScript讀取服務(wù)器端的xml(4720)
4.?Hibernate中的繼承映射(4602)
5.?使用JavaScript來(lái)實(shí)現(xiàn)頁(yè)面間的參數(shù)傳遞(4100)
6.?Linux下JNI調(diào)用(3356)
7.?用了一下flash的反編譯(2706)
8.?設(shè)計(jì)模式精解 [讀書(shū)筆記](méi)(2642)
9.?JMX設(shè)計(jì)模式之MBeanWriteToLog模式(2466)
10.?各層共享使用PO的代價(jià)(2464)
11.?組織團(tuán)隊(duì)開(kāi)發(fā)項(xiàng)目的方式(2308)
12.?JMX設(shè)計(jì)模式之MBeanForAppConfig模式(2231)
13.?程序員應(yīng)該怎么過(guò)生活???(2122)
14.?看《難兄難弟》有感要說(shuō)呀!(1965)
15.?一天的工作終于結(jié)束了。。。(1563)
16.?回實(shí)驗(yàn)室上班(628)
評(píng)論排行榜
1.?NIO中Selector的工作原理 (3)
2.?使用JavaScript來(lái)實(shí)現(xiàn)頁(yè)面間的參數(shù)傳遞(3)
3.?程序員應(yīng)該怎么過(guò)生活???(3)
4.?各層共享使用PO的代價(jià)(2)
5.?JMX設(shè)計(jì)模式之MBeanWriteToLog模式(2)
6.?Hibernate中的繼承映射(1)
7.?回實(shí)驗(yàn)室上班(1)
8.?JavaScript讀取服務(wù)器端的xml(1)
9.?用了一下flash的反編譯(1)
10.?Linux下JNI調(diào)用(0)
通過(guò)mx4j實(shí)現(xiàn)JMXConnectorServer和JMXConnector
看了兩天文檔,總算對(duì)JMX有了一個(gè)整體的認(rèn)識(shí)。發(fā)現(xiàn)使用mx4j實(shí)現(xiàn)JMX還是相當(dāng)?shù)妮p松的。MBeans可以使用mx4j-tools中的 Xdoclet偷一下懶,讓它自動(dòng)的生成MBeans和Descriptions,ant有相應(yīng)的支持,還是比較方便的,對(duì)于MBean接口的實(shí)現(xiàn),自己寫(xiě)了。
對(duì)于如何產(chǎn)生和注冊(cè)MBeans,mx4j提供了一個(gè)相當(dāng)方便的工具,為什么說(shuō)相當(dāng)方便,是因?yàn)樗娴膶?shí)在是太方便了。通過(guò)寫(xiě)一個(gè)xml配置文件可以完成所有的工作。比起M-LET確實(shí)是強(qiáng)了不少。下面就是一個(gè)在MBean Server產(chǎn)生注冊(cè)一個(gè)NamingService、JMXConnectorServer和一個(gè)自寫(xiě)的MBean的配置文件。
<?
xml version="1.0" encoding="UTF-8"
?>
<
configuration
port
="9999"
>
<
startup
>
<
create
classname
="mx4j.tools.naming.NamingService"
objectname
="naming:type=rmiregistry"
>
<
arg
type
="int"
>
1099
</
arg
>
</
create
>
<
call
operation
="start"
objectname
="naming:type=rmiregistry"
/>
<
object
objectid
="rmi"
>
<
call
classname
="javax.management.remote.JMXConnectorServerFactory"
method
="newJMXConnectorServer"
>
<
arg
type
="javax.management.remote.JMXServiceURL"
>
<
new
classname
="javax.management.remote.JMXServiceURL"
>
<
arg
type
="string"
>
service:jmx:rmi://localhost/jndi/rmi://localhost:1099/jmx
</
arg
>
</
new
>
</
arg
>
<
arg
type
="java.util.Map"
/>
<
arg
type
="javax.management.MBeanServer"
/>
</
call
>
</
object
>
<
register
objectname
="connectors:type=rmi,protocol=jrmp"
>
<
arg
type
="object"
refobjectid
="rmi"
/>
</
register
>
<
call
method
="start"
refobjectid
="rmi"
/>
<
create
classname
="nsmp.examples.mbeans.rmi.MyRemoteServiceObject"
objectname
="services:type=my-remote"
/>
</
startup
>
<
shutdown
>
<
call
operation
="stop"
objectname
="services:type=my-remote"
/>
<
call
method
="stop"
refobjectid
="rmi"
/>
<
call
operation
="stop"
objectname
="naming:type=rmiregistry"
/>
<
unregister
objectname
="services:type=my-remote"
/>
<
unregister
objectname
="connectors:type=rmi,protocol=jrmp"
/>
<
unregister
objectname
="naming:type=rmiregistry"
/>
</
shutdown
>
</
configuration
>
java代碼:
package nsmp.agent;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.Reader;
import java.net.Socket;
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.ObjectName;
import mx4j.tools.config.ConfigurationLoader;
import nsmp.util.NsmpGlobals;
/**/
/*
*
* @version 1.0
* @author tower
*
* TODO write the comment of this type
*/
public
class
NsmpServer
{
public
void
startup() throws Exception
{
MBeanServer server
=
MBeanServerFactory.newMBeanServer();
ConfigurationLoader loader
=
new
ConfigurationLoader();
server.registerMBean(loader, ObjectName.getInstance(
"
config:service=loader
"
));
Reader reader
=
new
BufferedReader(
new
FileReader(NsmpGlobals.NSMP_HOME
+
"
/conf/config.xml
"
));
loader.startup(reader);
reader.close();
System.
out
.println(
"
Start the nsmp server successfully!
"
);
}
public
void
shutdown() throws Exception
{
String shutdownCommand
=
"
shutdown
"
;
Socket socket
=
new
Socket(
"
127.0.0.1
"
,
9999
);
socket.getOutputStream().write(shutdownCommand.getBytes());
socket.close();
}
}
startup方法調(diào)用配置文件的startup部分完成創(chuàng)建和注冊(cè),shutdown方法調(diào)用配置文件的shutdown部分釋放相應(yīng)的資源。通過(guò)調(diào)用 startup方法就可以起動(dòng)MBeanServer提供服務(wù)了。對(duì)于shutdown開(kāi)始搞了我半天startup后 ConfigurationLoader都沒(méi)有創(chuàng)建一個(gè)偵聽(tīng)端口來(lái)接收shutdown命令,看了看mx4j的源碼發(fā)現(xiàn) ConfigurationLoader也沒(méi)有發(fā)現(xiàn)什么特殊地方。捉摸半天終于發(fā)現(xiàn)了自己放了一個(gè)愚笨的錯(cuò)誤,eclipse是用普通用戶(hù)權(quán)限開(kāi)的,沒(méi)有辦法創(chuàng)建偵聽(tīng),改成root后一切ok。
接下就隨便寫(xiě)了一個(gè)JMXConnector,代碼:
/**/
/*
* Copyright (C) The MX4J Contributors.
* All rights reserved.
*
* This software is distributed under the terms of the MX4J License version 1.0.
* See the terms of the MX4J License in the documentation provided with this software.
*/
package nsmp.examples.mbeans.rmi;
import java.util.Map;
import javax.management.MBeanInfo;
import javax.management.MBeanOperationInfo;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
/**/
/*
*
* @version $Revision: 1.3 $
*/
public
class
Client
{
public
static
void
main(String[] args) throws Exception
{
JMXServiceURL address
=
new
JMXServiceURL(
"
service:jmx:rmi://localhost/jndi/rmi://localhost:1099/jmx
"
);
Map creationEnv
=
null
;
JMXConnector connector
=
JMXConnectorFactory.newJMXConnector(address, creationEnv);
Map connectionEnv
=
null
;
connector.connect(connectionEnv);
MBeanServerConnection serverConnection
=
connector.getMBeanServerConnection();
ObjectName name
=
ObjectName.getInstance(
"
services:type=my-remote
"
);
MBeanInfo mbInfo
=
serverConnection.getMBeanInfo(name);
MBeanOperationInfo[] operationInfo
=
mbInfo.getOperations();
for
(
int
i
=
0
; i
<
operationInfo.length; i
++
)
{
System.
out
.println(operationInfo[i].getName());
}
serverConnection.invoke(name,
"
sayHello
"
,
new
Object[]
{
"
Tower He
"
}
,
new
String[]
{
"
java.lang.String
"
}
);
}
}
JMXConnector是通過(guò)獲取一個(gè)MBeanServerConnection來(lái)實(shí)現(xiàn)遠(yuǎn)程調(diào)用的,運(yùn)行了一下一切順利通過(guò)。
下載:
MX4JExample.rar
posted on 2005-02-05 19:07
非飛
閱讀(5708)
評(píng)論(0)
編輯
收藏
所屬分類(lèi):
JAVA 相關(guān)技術(shù)
新用戶(hù)注冊(cè)
刷新評(píng)論列表
只有注冊(cè)用戶(hù)
登錄
后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
相關(guān)文章:
JMX設(shè)計(jì)模式之MBeanWriteToLog模式
JMX設(shè)計(jì)模式之MBeanForAppConfig模式
NIO中Selector的工作原理
Linux下JNI調(diào)用
Hibernate中的繼承映射
通過(guò)mx4j實(shí)現(xiàn)JMXConnectorServer和JMXConnector
Copyright ©2025 非飛 Powered By
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
a级特黄毛片免费观看
|
色偷偷尼玛图亚洲综合
|
曰批全过程免费视频在线观看无码
|
日本19禁啪啪无遮挡免费动图
|
日韩免费观看一区
|
亚洲av无码专区在线播放
|
在线观看免费黄网站
|
91精品免费在线观看
|
亚洲日韩在线视频
|
在线观看H网址免费入口
|
亚洲熟妇AV日韩熟妇在线
|
日韩免费视频观看
|
污视频网站免费观看
|
亚洲日韩欧洲乱码AV夜夜摸
|
在线毛片片免费观看
|
亚洲国产日韩在线
|
免费看香港一级毛片
|
免费人成视频在线观看免费
|
亚洲AV无码乱码精品国产
|
九九99热免费最新版
|
亚洲男人都懂得羞羞网站
|
丁香花免费完整高清观看
|
亚洲国产成人精品无码区二本
|
亚洲色大成网站www永久一区
|
a级特黄毛片免费观看
|
亚洲国色天香视频
|
一本久久综合亚洲鲁鲁五月天
|
三级黄色片免费看
|
亚洲中文无码a∨在线观看
|
日韩视频在线免费
|
伊人久久大香线蕉免费视频
|
亚洲国产美女在线观看
|
亚洲国产成人乱码精品女人久久久不卡
|
国产一区二区三区免费视频
|
中文永久免费观看网站
|
亚洲嫩草影院在线观看
|
亚洲福利中文字幕在线网址
|
99re在线视频免费观看
|
亚洲福利精品一区二区三区
|
黄色短视频免费看
|
亚洲av日韩av无码av
|