首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

15.6  开发User MBean

MBean就其来源可以分为两类,一类是系统自带的MBean,另一类是用户自行开发的MBean,也被称为User MBean。本节将说明在GlassFish中User MBean的各类状态以及相关的部署和定制方法。

15.6.1  User MBean的生命周期

User MBean有3个状态,即初始化状态、停用状态和启用状态。MBean在3个状态之间的相互转换构成了MBean的生命周期,如图15-17所示。

图15-17  MBean的生命周期

当User MBean被部署到GlassFish后,将由GlassFish中的MBean服务器为其分配一个唯一的对象名。此对象名可以在部署时指定,或是通过MBean实现MBeanRegistration接口中的方法preregister()来指定,如果未指定,则默认对象名是“user:type=impl-class-name”。这里“user”是User MBean的域名。

从图15-17可见,User MBean的三个状态之间是通过两组动作来切换的:部署/卸载和启用/停用。这两组动作都可通过命令行asadmin或管理控制台来完成。下面将进一步介绍。

15.6.2  GlassFish中MBean相关的操作

GlassFish的命令行工具asadmin提供了一系列的子命令来完成对MBean的操作:

l   asadmin create-mbean部署并注册一个MBean。

l   asadmin delete-mbean卸载一个MBean。

l   asadmin list列举部署的MBean。

l   asadmin get列出MBean的详细信息。

l   asadmin set对MBean的属性赋值。

下面通过具体实例来说明如何部署一个User MBean到GlassFish。这里采用了JMX默认的sample为例。

【例15.10】部署User MBean。

(1)   进入目录,并复制build/class文件到domain-dir/applications/mbeans目录下。

(2)   登录。根据提示输入用户名(admin)和口令(adminadmin),使用Login子命令将简化后面使用远程命令时所需的验证信息:

asadmin--host localhost --port 4848

Please enter the admin user name>admin

Please enter the admin password>

Trying to authenticate for administration of server at host [localhost] and port [4848] ...

An entry for login exists for host [localhost] and port [4848], probably from an earlier login operation.

Do you want to overwrite this entry (y/n)?y

Login information relevant to admin user name [admin] for host [localhost] and admin port [4848] stored at [C:\Documents and Settings\dell\.asadminpass] successfully.

Make sure that this file remains protected. Information stored in this file will be used by asadmin

commands to manage associated domain.

(3)   部署MBean。比如部署MBean类com.example.mbeans.Hello,并起名为“hello”:

asadmin> create-mbean --name hello com.example.mbeans.Hello

command create-mbean executed successfully.

(4)   查看部署的User MBean。通过get子命令查看MBean,如下所示:

asadmin> list server.applications.mbean.*

server.applications.mbean.hello

asadmin> get server.applications.mbean.hello.*

...

(5)   停用User Mbean:

asadmin> set server.applications.MBean.Hello.enabled = false

server.applications.mbean.hello.enabled = false

(6)   卸载User Mbean:

asadmin> delete-mbean hello

Command delete-mbean executed successfully.

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论