程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2SE >> JMX+J2SE5.0實現Web應用的安全管理(4)

JMX+J2SE5.0實現Web應用的安全管理(4)

編輯:J2SE

七、 啟動RMI注冊
 
在早些時候,我提到RMI注冊並且指出當訪問服務時執行一個JNDI查詢。然而,現在我們沒有一個正運行的RMI注冊,因此一個JNDI查詢將失敗。一個RMI注冊的啟動可以用手工方式或編程方式來實現。
 
(一) 使用命令行
 
在你的Windows或Linux命令行上,輸入下列一名來啟動一個RMI注冊:
 
rmiregistry &
 
這將啟動你的默認主機和端口(分別是localhost和1109)的RMI注冊。然而,對於我們的web應用程序來說,我們不可能依賴一個在應用程序啟動時可用的RMI而寧願用編程方式來實現之。
 
(二) 以編程方式啟動RMI注冊
 
為了以編程方式啟動RMI注冊,你可以使用LocateRegistry.createRegistry(int port)方法。該方法返回類型注冊的一個對象。當我們想在應用程序一端終止這個注冊時,我們保存這個參考。就在我們啟動我們的在JMXAgent.start()中的JMXConnectorServer之前,我們首先啟動RMI注冊,使用下列代碼行:
 
registry = LocateRegistry.createRegistry(Constants.RMI_REGISTRY_PORT);
 
在應用程序一端,在JMXAgent.stop()中停止JMXConnectorServer之後,調用下列方法來終止該注冊:
 
UnicastRemoteObject.unexportObject(registry,true);
 
注意,StartupListener類觸發了應用程序開始和結束任務。
 
八、 訪問我們的JMX服務
 
我們可以有好幾種方法來存取JSR 160服務。為此,我們可以通過編程或通過使用一個GUI來實現。
 
(一) 使用MC4J連接
 
通過把jmxapp.war復制到Tomcat的WebaPPS目錄來發布該應用程序。下載並且安裝MC4J。一旦安裝完,創建一新的類型JSR 160的服務器連接並且指定該服務器URL-它在應用程序啟動時在應用程序服務器日志中打印。在我的示例中,它是:
 
service:jmx:rmi://zarar:9589/jndi/rmi://localhost:1100/jmxapp
 
提供用戶名和口令,MC4J分別把它們參考為"Principle"和"Credentials"。點擊Next將把你帶到一個屏幕-在此你可以定制你的classpath。默認設置應該工作正常,並且你可以點擊"Finish"來連接到該JMX服務。一旦建立連接,浏覽如圖1所示的MC4J樹結構,直到你找到LoginStats MBean實現的"PropertIEs"選項。
 


圖1.MC4J視圖
 
點擊PropertIEs顯示統計,如圖2所示:
 


圖2.屬性窗口

本文來自編程入門網:http://www.bianceng.cn/Programming/Java/201107/28048_4.htm

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved