首 页  资讯中心 下载中心 资讯教程 最新下载 发布软件 发布文章 网通站 电信站繁體中文
设为首页
加入收藏
联系我们
 
您当前的位置:曾子源码软件下载站 -> 建站技术 -> Web Server -> 文章内容 退出登录 用户管理
热门文章
· 常用C,VC,C++书籍下..
· 新概念英语视频教程..
· 常用 JAVA JAVA2 J..
· 《梦幻麻将馆9雀圣争..
· 新东方英语视频教程..
· 常用VB,Visual Basi..
· [组图] After Effect..
· WINDOWS 所有系统文..
· [组图] 让机器运行多..
· 全美经典学习指导系..
相关文章
· [图文] 《DJMAX》全新..
· Linux操作系统的十大..
· JMS消息类型
· 使用JMX监控应用程序..
· 最新的JMail(4.3版..
· [组图] 无线局域网(W..
· 用Jmail写文件进硬盘..
· 无线网络安全管理技..
· 企业安全管理从IP地..
· 网络安全管理技术综..
JMX+J2SE 5.0实现Web应用的安全管理
作者:朱先忠  来源:天极yesky  发布时间:2006-3-29 9:58:50  发布人:admin

减小字体 增大字体




  提示 尽管JSR 160的J2SE 5.0实现相当有力;但是另外的实现,例如MX4J,也提供了一些类-它们提供了方便的特性,例如口令混淆,也就是PasswordAuthenticator类。

  七、 启动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.属性窗口

  (二) 使用jManage连接到一个"簇"

  通过把jmxapp.war复制到Tomcat的webapps目录发布该应用程序。请注意一下在应用程序启动时所打印的URL。接下来,发布这个应用程序的另一个实例-通过改变Constants类中的RMI_REGISTRY_PORT并且MBEAN_SERVER_PORT变量,这样该应用程序的第二个实例就不会试图使用已经在使用的端口了。改变在build.xml文件中的app.name属性,以便新的实例将被发布到一个不同的上下文(例如,jmxapp2)。用ant创建一个清理的war文件-它将在其目录下创建jmxapp2.war。把jmxapp2.war复制到Tomcat的webapps目录。该应用程序将要发布,而且现在你有相同应用程序的两个实例在运行了。我再次提醒你注意在启动时所打印的URL。

  下载和安装jManage。一旦安装了,使用jManage的web接口来创建一个JSR 160应用程序-通过使用主页中的"添加新应用程序"链接。"添加应用程序"页面显示在图3中:



图3."添加应用程序"页面

  为要发布的第二个应用程序重复前面的步骤并再次使用适当的用户名、口令和URL。。一旦你创建了这两个应用程序,你必须通过遵循在主页中找到的"添加新应用程序簇"链接来创建一个簇。现在,把这两个已经创建的应用程序添加到你的簇上,如图4所示:



图4.添加应用程序簇页面


  好了,我们已经完成了!从主页上,点击簇中的一个应用程序,然后点击"Find More Objects"按钮。你将看到name=LoginStats MBean;点击它,则你就会看到我们已经暴露的FailedLogins和SuccessLogins属性。点击在该同一页面上的"Cluster View"链接将显示与图5相类似的一个页面-其中,你可以看到两个应用程序的运行计数统计:

本新闻共4


天极yesky

上一页  [1] [2] [3] [4]  下一页

[] [返回上一页] [打 印] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [发表评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 网站信息排名查询
Copyright © 2004-2006 Zasp.Net. All Rights Reserved .