给出一个例程吧

(1)它需要Jboss的jbossall-client.jar包的支持

(2)运行环境为Jboss3.2.6 + jdk5.0 + eclipse3.2M2。jdk5.0内置了JMX支持,如果你不是jdk5.0的话eclipse可能会报有会类找不到的错误

(3)之前必须选启动Jboss

importjava.util.Iterator;importjava.util.Properties;importjava.util.Set;importjavax.management.MBeanInfo;importjavax.management.MBeanOperationInfo;importjavax.management.MBeanParameterInfo;importjavax.management.ObjectInstance;importjavax.management.ObjectName;importjavax.naming.InitialContext;importorg.jboss.jmx.adaptor.rmi.RMIAdaptor;publicclassTestJMX {publicstaticvoidmain(String[] args)throwsException {//Get RMIAdaptor ObjectProperties pro=newProperties();

pro.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");

pro.setProperty("java.naming.provider.url","jnp://localhost:1099");

pro.setProperty("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");

InitialContext ic=newInitialContext(pro);

RMIAdaptor server=(RMIAdaptor) ic.lookup("jmx/rmi/RMIAdaptor");//Get the MBeanInfo for the JNDIView MBeanObjectName name=newObjectName("jboss:service=JNDIView");

MBeanInfo info=server.getMBeanInfo(name);

System.out.println("JNDIView Class:"+info.getClassName());

MBeanOperationInfo[] opInfo=info.getOperations();

System.out.println("JNDIView Operations:");for(into=0; o

MBeanOperationInfo op=opInfo[o];

String returnType=op.getReturnType();

String opName=op.getName();

System.out.print("+"+returnType+""+opName+"(");

MBeanParameterInfo[] params=op.getSignature();for(intp=0; p

MBeanParameterInfo paramInfo=params[p];

String pname=paramInfo.getName();

String type=paramInfo.getType();if(pname.equals(type))

System.out.print(type);elseSystem.out.print(type+""+name);if(p

System.out.print(',');

}

System.out.println(")");

}//Get all MBeansSet mbSet=server.queryMBeans(null,null);//for(Iterator it=mbSet.iterator(); it.hasNext();) {

ObjectInstance oi=(ObjectInstance) it.next();

System.out.println(oi.getObjectName());

}

}

这里有一段网上找到的代码,正好是实现了配置文件修改后重读的功能.

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.net.URL;

import java.util.Properties;

/**

* @author Robbin Fan

*/

public class ConfigUtil {

private static Properties props = null;

private static File configFile = null;

private static long fileLastModified = 0L;

private static void init() {

URL url = ConfigUtil.class.getClassLoader().getResource("global.properties");

configFile = new File(url.getFile());

fileLastModified = configFile.lastModified();

props = new Properties();

load();

}

private static void load() {

try {

props.load(new FileInputStream(configFile));

fileLastModified = configFile.lastModified();

} catch (IOException e) {

throw new RuntimeException(e);

}

}

public static String getConfig(String key) {

if ((configFile == null) || (props == null))

init();

if (configFile.lastModified() > fileLastModified)

load();

return props.getProperty(key);

}

}

如果MBean就在本地,则可以用下面的方法来获得:

ThreadPoolMBean poolMBean = (ThreadPoolMBean) MBeanProxyExt.create(ThreadPoolMBean.class, objName);

还有一种远程获得的方法(从开源代码中看到的,未验证)

ThreadPoolMBean poolMBean = (ThreadPoolMBean) MBeanServerInvocationHandler.newProxyInstance(mbeanServer, objName, ThreadPoolMBean.class, false);

java jmx jboss_jboss中JMX的连接与Mbean的获取相关推荐

  1. 如何在 Java 应用程序中设置 HicariCP 连接池

    在本教程中,我们将介绍 HikariCP 并展示如何在 Java 应用程序中设置 HicariCP 连接池.在我们的应用程序中,我们向 MySQL 数据库发出请求. HikariCP是可靠的高性能 J ...

  2. Oracle数据库学习笔记(二十八)--在Java项目开发中使用ojdbc连接Oracle数据库

    选择正确的 Jar 包 Oracle 10g 选择使用 ojdbc14.jar Oracle 11g 选择使用 ojdbc6.jar 将 Jar 包安装到本地 Maven 仓库中 具体方法参考我之前发 ...

  3. java jndi jboss_jboss中的jndi问题__InitialContext_lookup_java_test_NamingContext__169IT.COM

    我从jboss网站下载了jboss3.0的一个文档JBoss.3.0QuickStart.Draft3.pdf以及对应的代码JBoss.3.0TemplateAndExamples.zip,解压后,用 ...

  4. java取list中最大数值_Java后台通过Collections获取list集合中最大数,最小数代码

    我就废话不多说了,大家还是直接看代码吧~ package com.jalor; import java.util.ArrayList; import java.util.Collections; im ...

  5. 在独立Java应用程序中使用Tomcat JDBC连接池

    这是从我们的客人文章W4G伙伴克拉伦斯豪的作者临春3从A按. 您可能会在文章结尾找到本书的折扣券代码,仅适用于Java Code Geeks的读者! 请享用! 在需要数据访问权限的独立Java应用程序 ...

  6. Java中JMX管理器的作用,项目中有什么具体使用?

    作者:wuxinliulei 链接:https://www.zhihu.com/question/36688387/answer/68667704 来源:知乎 著作权归作者所有.商业转载请联系作者获得 ...

  7. java 配置jmx 参数_tomcat jmx配置

    tomcat jmx 配置 注意:建议配置rmi.port端口,因为如果不配置,在控制端口请求连接后,被监控服务器会随机分配一个端口用于通信,在网络环境环境存在访问控制,安全策略的情况下,就会连接失败 ...

  8. java jmx 配置_Java JMX远程调优一点就通

    原标题:Java JMX远程调优一点就通 java远程调优可采用两种方式进行连接,jmx与jstatd,此文演示如何配置jmx进行连接调优. 配置指南 配置 功能 值 备注 -Dcom.sun.man ...

  9. Java中使用Jedis连接Redis对SortedSet进行排序操作

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

最新文章

  1. python3 报错 TypeError: load() got an unexpected keyword argument ‘encoding‘ 解决方法
  2. linux系统日志_第十二章:走进Linux世界——系统日志管理,日志轮转。
  3. android 新闻编辑,超机访问:ZOL手机新闻编辑背后的故事
  4. leetcode 174. Dungeon Game | 174. 地下城游戏(暴力递归->傻缓存->dp)
  5. hbase 页面访问_HBase
  6. wordpress模板-Blocksy主题模板V1.8.3.4
  7. 2021年中国宠物食品加工设备市场趋势报告、技术动态创新及2027年市场预测
  8. 事件 ID: 3006 定期记录到应用程序日志
  9. Android 3.0 SDK 最新官方下载
  10. hbase权限管理(访问控制标签ACL)
  11. 小蚂蚁学习数据结构(26)——题目——输出二叉树上值大于x的算法
  12. Python数据挖掘工具总结
  13. [ZJOI2018]保镖
  14. 谷歌账号最后验证身份手机号无法使用
  15. web页面播放实时视频流
  16. 第十一章 文件操作_C语言插入、删除、更改文件内容
  17. 计算机电源MOD,模组电源和非模组区别是什么?电脑电源的工作原理是什么?
  18. UVALive-6528 Disjoint water supply
  19. 鲁宾逊的数学功绩何在?
  20. 四十六.风控评分卡模型关键点理解

热门文章

  1. mysql 客户无感知迁移_亿级账户数据迁移,不用数据库工具还能怎么搞?
  2. c语言一维数组逆序输出_剑指信奥 | C 语言之兵人来袭!
  3. 以Linux系统上的gcc为例,解密C语言编译背后的全过程!
  4. Hybrid de novo tandem repeat detection using short and long reads 使用短读和长读的混合从头到尾串联重复检测
  5. matplotlib 波士顿房价数据集可视化
  6. 数学知识--Methods for Non-Linear Least Squares Problems(第一章)
  7. Tensorflow 源码安装成功,导入报错 ImportError: cannot import name 'build_info'
  8. 【pytorch】nn.conv1d的使用
  9. java使用Maven加载JDBC:mysql-connector连接MySQL/MariaDB
  10. linux下sql查询的使用,sql-server – 如何在Linux上查看SQL Server中的执行计划