📄 userqueries.java
字号:
package com.liuyang.jmx.mbeans.user;
import java.util.Iterator;
import java.util.Set;
import javax.management.Attribute;
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.ObjectName;
import javax.management.Query;
import javax.management.QueryExp;
public class UserQueries {
public static void main(String[] args) throws Exception {
MBeanServer server = MBeanServerFactory.createMBeanServer();
ObjectName user1 = new ObjectName("book.liuyang:Name=user1");
ObjectName user2 = new ObjectName("book.liuyang:Name=user2");
server.createMBean("com.liuyang.jmx.mbeans.user.User", user1);
server.createMBean("com.liuyang.jmx.mbeans.user.User", user2);
server.setAttribute(user1, new Attribute("Name", "user1"));
server.setAttribute(user2, new Attribute("Name", "user2"));
server.setAttribute(user1, new Attribute("Role", "code"));
server.setAttribute(user2, new Attribute("Role", "test"));
QueryExp exp = Query.match(Query.attr("Name"), Query.value("user1"));
ObjectName scope = new ObjectName("book.liuyang:*");
Set set = server.queryNames(scope, exp);
Iterator it = set.iterator();
System.out.println("下列MBean的名字是:user1");
while (it.hasNext()) {
System.out.println(it.next());
}
scope = new ObjectName("book.liuyang:*");
exp = Query.initialSubString(Query.attr("Role"),Query.value("t"));
set = server.queryNames(scope, exp);
it = set.iterator();
System.out.println("下列MBean的角色是:test");
while (it.hasNext()) {
System.out.println(it.next());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -