快速业务通道

JMX+J2SE5.0实现Web应用的安全管理 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
ile。这个映射在以后创建JMXConnectorServer时使用。

ServletContext context = Config.getServletContext(); //得到存储jmx用户信息的文件 String userFile =context.getRealPath("/")+"/Web-INF/classes/"+Constants.JMX_USERS_FILE; //创建authenticator并且初始化RMI服务器 Map<string> env = new HashMap<string>(); env.put("jmx.remote.x.password.file", userFile); 现在,让我们创建JMXConnectorServer。下面一行代码完成这一功能: connectorServer = JMXConnectorServerFactory. newJMXConnectorServer(url, env, server);

这个JMXConnectorServerFactory.newJMXConnectorServer(JMXServiceURL,Map,MBeanServer)方法使用我们刚创建的三个对象作为参数-它们是JMXServiceURL,存储认证信息的映射和MBeanServer。其中,connectorServer实例变量允许我们分别在应用程序启动和停止时,分别用start()和stop()来启动和停止JMXConnectorServer。

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

JMX+J2SE5.0实现Web应用的安全管理(4)

时间:2011-07-29

七、 启动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"选项。

JMX+J2SE5.0实现Web应用的安全管理 - 编程入门网

图1.MC4J视图

点击Properties显示统计,如图2所示:

JMX+J2SE5.0实现Web应用的安全管理 - 编程入门网

图2.属性窗口

JMX+J2SE5.0实现Web应用的安全管理(5)

时间:2011-07-29

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

通过把jmxapp.war复制到Tomcat的webapps目录发布该

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号