向左走,向右走。。。
永遠(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级毛片无码免费视
|
男人的好免费观看在线视频
|
国产高清免费的视频
|
亚洲第一AAAAA片
|
亚洲无码一区二区三区
|
99在线热播精品免费99热
|
无码日韩人妻av一区免费
|
国产啪亚洲国产精品无码
|
亚洲乱码中文论理电影
|
国产免费伦精品一区二区三区
|
黄页网站在线观看免费高清
|
成年女人免费视频播放体验区
|
老司机在线免费视频
|
亚洲视频在线观看免费
|
亚洲成A人片在线观看无码3D
|
国产精品免费αv视频
|
亚洲精品GV天堂无码男同
|
亚洲人妖女同在线播放
|
亚洲最大中文字幕
|
亚洲精品视频专区
|
亚洲白色白色永久观看
|
亚洲黄色在线播放
|
亚洲精品在线播放
|
色偷偷亚洲第一综合网
|
国产免费爽爽视频免费可以看
|
久久精品国产亚洲香蕉
|
黄页网站在线免费观看
|
1024免费福利永久观看网站
|
久久九九亚洲精品
|
深夜福利在线免费观看
|
最近的中文字幕大全免费版
|
久久亚洲AV成人无码软件
|
国产免费内射又粗又爽密桃视频
|
亚洲中文无码卡通动漫野外
|
日本精品人妻无码免费大全
|
亚洲乱码无码永久不卡在线
|
男女超爽视频免费播放
|
91在线视频免费看
|
亚洲一区二区成人
|
中文字幕av无码不卡免费
|