文档章节

JMX使用报java.lang.ClassNotFoundException: org.apache.naming.java.javaURLContextFactory

O
 Only_小白
发布于 2016/08/11 09:25
字数 310
阅读 128
收藏 0
点赞 0
评论 0
jmx

    项目需求:通过JMX监控ZooKeeper,效果类似jconsole,但以web方式展现。在使用过程中,web容器中的JMX连接MBeanServer获取连接时,总是失败,提示信息:java.lang.ClassNotFoundException: org.apache.naming.java.javaURLContextFactory。但通过main方法调用的时候,是可以正常访问的。

    代码如下:

            String jmxURL = "service:jmx:rmi:///jndi/rmi://" + ip + ":" + jmxport + "/jmxrmi";
			// jmxurl
			JMXServiceURL serviceURL = new JMXServiceURL(jmxURL);

			Map<String, String[]> map = new HashMap<String, String[]>();
			String[] credentials = new String[] { userName, password };
			map.put("jmx.remote.credentials", credentials);
			connector = JMXConnectorFactory.connect(serviceURL, map);
			MBeanServerConnection mbsc = connector.getMBeanServerConnection();

后从网上搜索资料,从一篇文章(http://canofy.iteye.com/blog/758748)中获到了解决方法,修改了MBeanServerConnection的获取方式,然后就可以正常运行了,修改后的代码如下:

            Registry registry = LocateRegistry.getRegistry(host, Integer.parseInt(port));
			RMIServer stub = null;
			if (stub == null) {
				stub = (RMIServer) registry.lookup("jmxrmi");
			}
			Map<String, String[]> map = new HashMap<String, String[]>();
			String[] credentials = new String[] { username, password };
			map.put("jmx.remote.credentials", credentials);
			connector = new RMIConnector(stub, null);
			connector.connect(map);
			mbsc = connector.getMBeanServerConnection();

 

MBeanServerConnection有两种获取方式,一般情况下,两种获取方式都可以,某些特殊应用,API上面意思是最好使用第二种方法。

© 著作权归作者所有

共有 人打赏支持
O
粉丝 2
博文 22
码字总数 11544
作品 0
昌平
SSH配置问题,启动tomcat出现找不到ContextLoaderListener包错误

jdk1.6,tomcat6,使用IntelliJ IDEA13.1进行开发,搭建SSH环境出现了这个问题: 2015-2-3 14:52:53 org.apache.catalina.core.StandardContext listenerStart 严重: Error configuring appli......

影非弦
2015/02/03
3K
6
org.apache.commons.lang.exception.NestableRunti...

用JSON报的一个错误java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeExcept . 2012-01-30 14:56:11| 分类: java|字号 订阅 以前在做项目的时候就曾接......

班帅
2013/11/06
0
0
zookeeper 启动ClassNotFoundException

Exception in thread "Thread-1" java.lang.NoClassDefFoundError: org/apache/log4j/jmx/HierarchyDynamicMBean at org.apache.zookeeper.jmx.ManagedUtil.registerLog4jMBeans(ManagedUtil......

晨磊
2015/07/06
0
0
Spring+mybatis+SpringMVC构建项目报错

刚接触Springle,做个实验。配置文件感觉没错,但总是报错警告: Bean creation exception on FactoryBean type check: org.springframework.beans.factory.UnsatisfiedDependencyException: ......

开心的苦水
2016/07/06
621
2
jetty 如何配置SSL,使其可以访问https://localhost:8443

我现在正打算使用jetty,但是配置SSL的时候在启动时就会报 java.lang.ClassNotFoundException: org.eclipse.jetty.server.nio.SelectChannelConnector in file:/D:/jetty-distribution-9.3.8......

猪猪侠0805
2016/03/31
1K
0
hadoop学习中Hive问题

最近在看hadoop实战(第二版), 看到HIVE的章节,在11.3.4节 Hive QL使用实例中, 有这样一个样例, insert overwrite table udatanewselect from u_data; 已经加入mysql的jdbc驱动到$HIVE...

司徒春运
2014/04/02
259
1
apache.commons.collections.map.ListOrderedMap

报这个异常: java.lang.ClassNotFoundException: org.apache.commons.collections.map.ListOrderedMap 解决方法:commons-collections-3.2.jar没有或版本不对。比如commons-collections-4即......

liuhuics10
2015/10/20
34
0
Linux 下Jetty 部署

安装完成后jetty 目录结构 执行bin 目录下命令 ./jetty.sh start 加载jetty-env.xml 问题 问题 Unable to find XML Config: etc/jetty-env.xml jetty 默认情况下 只会到 etc 目录下加载 jett...

vshcxl
2016/03/28
35
0
百度云推送的问题 找不到类的问题

java.lang.RuntimeException: Unable to instantiate service com.baidu.android.pushservice.PushService: java.lang.ClassNotFoundException: Didn't find class "com.baidu.android.pushs......

海洋清风
2015/04/14
1K
1
在JFinal里使用Axis2报错:java.lang.ClassNotFoundException: org.apache.axiom.om.OMContainer

一个很奇葩的问题: 在JFinal里使用Axis2调用第三方的webservice,在Eclipse里通过DemoConfig.java启动服务(即在Jetty容器下)是可以正常运行的。但是我一旦把工程单独发布到Tomcat下或Jet...

叶落花开
2014/12/17
1K
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

pbgo: 基于Protobuf的迷你RPC/REST框架

https://www.oschina.net/p/pbgo

chai2010
35分钟前
0
0
rsync工具介绍、常用选项以及通过ssh同步

linux下的文件同步工具 rsync rsync是非常实用的一个同步工具,可以从a机器到b机器传输一个文件,也可以备份数据,系统默认没有这个工具,要使用命令 yum install -y rsync 安装。 rsync的命...

黄昏残影
50分钟前
0
0
OSChina 周四乱弹 —— 表妹要嫁人 舅妈叮嘱……

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @哈哈哈哈哈嗝:一定要听——The Pancakes的单曲《咁咁咁》 《咁咁咁》- The Pancakes 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :...

小小编辑
今天
245
4
流利阅读笔记30-20180719待学习

重磅:让人类得老年痴呆的竟是它? Lala 2018-07-19 1.今日导读 去年奥斯卡最佳动画长片《寻梦环游记》里有一句经典台词:“比死亡更可怕的,是遗忘”。在电影中,年迈的曾祖母会重复说一样的...

aibinxiao
今天
3
0
1.16 Linux机器相互登录

Linux机器之间以密码方式互相登录 运行命令#ssh [ip address],标准命令:#ssh [username]@ip, 如果没有写用户名,则默认为系统当前登录的用户 命令#w查看系统负载,可查看到连接到该主机的...

小丑鱼00
今天
0
0
about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部