这个问题是我项目中遇到的一个问题,在ItEye问问中也问过,不过没有得到回复。有ItEye的朋友也遇到了这个问题写信问我,我在这里再描述下这个问题还有解决的办法。
问题描述:
我在sailfin启动JMXserver(自己开发的)加载 MBean(自己开发的)加载不上。 (tomacat也是同样效果)
在控制台写了个main方法直接启动JMXServer 就一切正常 真是怪呀。。。。
报的异常是这样的:
1.javax.management.ReflectionException: <SPAN style="COLOR: #ff0000">The MBean class could not be loaded by the default loader repository
2.</SPAN> at com.sun.jmx.mbeanserver.MBeanInstantiator.findClassWithDefaultLoaderRepository(MBeanInstantiator.java:71)
3. at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.createMBean(DefaultMBeanServerInterceptor.java:259)
4. at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.createMBean(DefaultMBeanServerInterceptor.java:199)
5. at com.sun.jmx.mbeanserver.JmxMBeanServer.createMBean(JmxMBeanServer.java:393)
com.hundsun.mproxy.service.MProxy是我自己开发的 MBean
问题是我自己开发的mBean 在sailfin或者tomcat运行的情况下不能注册到(我自己开发的JMXserver中)。
正常application run就能注册到(我自己开发的JMXserver中)。
我后来解决的方案(仅供参考):
后来我将MBean(自己开发的)直接注册到了sailfin的JMXserver中。(tomcat也是直接注册到tomcat的本身的JMXServer中)
这样就解决了这个问题。
*注:sailfin是可以直接在4848登陆的控制界面的MBean中部署的,部署之后会生成一个"名字",用这个"名字"就可以去sailfin自带的JMXServer中访问你自己的mBean了。
相关推荐
Java Management Extensions(JMX)是Java平台上的一个标准管理框架,它允许开发人员创建、注册和管理名为MBeans(Managed Beans)的对象,这些对象代表了系统、应用程序或服务的可管理资源。通过JMX,我们可以远程...
- 分析了在设计稳定资源 MBean 时需要考虑的性能问题。 - 包括如何减少不必要的操作调用、优化数据访问逻辑等。 #### 五、为变化资源设计 MBean - **变化资源的特点**: - 变化资源是指那些在应用程序运行过程...
开发任何MBean时,你必须遵守以下规则: 1. MBean必须是一个具体的Java类。具体类是Java类,不是抽象的,因此可以实例化。回顾第二章,你使用HTML适配器动态加载了HelloWorld MBean到简单的JMX代理。为了使代理能够...
加载完MBean后,就可以调用它们的方法了。例如,调用`Configuration`服务的`loadConfiguration`方法: ```java lServer.invoke(new ObjectName(":service=Configuration"), "loadConfiguration", new Object[0], ...
通过调用MBean接口,可以加载和管理配置。此外,利用JMX工具(如jconsole或VisualVM),可以远程监控和管理MBean的状态和配置。 总之,MBean Property Configurator是一个强大的配置管理工具,它简化了J2EE项目中的...
JBoss 3.x版本在JMX实现上进行了重大改进,特别是针对类加载器架构和热部署能力。 2.2.1 JBoss 类装载器架构 在JBoss 2.x中,MBean(Managed Beans)与动态部署的J2EE组件交互存在困难,且MBean无法实现热部署。而...
这部分详细介绍了如何开发 MBean,包括使用哪种类型的 MBean 更适合不同的应用场景,以及如何使用 JMX API 来创建和管理 MBean。 ##### 3.3 模型 MBean 模型 MBean 提供了一个更高级的抽象层,允许开发者定义更为...
为解决这个问题,JMX引入了M-let(Management Applet)服务,它提供了动态MBean加载功能,允许代理、其他MBeans和管理应用通过下载远程位置的类文件来创建MBeans。此外,M-let服务还允许代理在运行时扩展其代码库。 ...
- **背景介绍**:在JBoss 2.x版本中,MBean服务与动态部署的J2EE组件之间的交互存在困难,并且MBean本身也不具备热部署的能力。这一限制阻碍了服务的灵活性和可扩展性。 - **解决方案**:为了克服这些问题,JBoss ...
在JPPF中,你可以开发自己的MBean并将其注册到JPPF MBean服务器,以便为节点或服务器提供管理服务。以下是创建可插拔MBean的步骤: 1. **实现MBean接口与类**:定义一个MBean接口,遵循`<MyName>MBean`的命名规则,...
然而,Vijay Saraswat的论文揭示了Java类型系统的潜在不安全性,这主要是由于类加载器可以跨越正常的委托模型,导致类的不正确版本被加载。 在Java中,类加载器遵循委托模型,当查找类时,先尝试从父类加载器加载,...
该技术使得开发人员能够通过标准化的方式来监控和管理各种类型的资源,包括但不限于网络设备、服务器应用等。当前规范版本为1.1版,提供了丰富的API来实现这些功能。 #### 二、JMX架构 JMX的核心在于其强大的架构...
这个架构允许类跨部署单元使用,解决了JBoss 2.x中MBean服务和动态部署的J2EE组件之间难以交互的问题,并且实现了MBean本身的热部署能力。 在新架构中,每个部署单元都有自己的类装载器,这样可以确保部署单元之间...
JMX(Java Management Extensions)技术是Java平台上的一个重要组成部分,用于管理和监控Java应用程序及运行环境。随着JMX技术的发展,其最新版本1.4已经成为JDK标准的一部分。这一规范的发布对于Java开发者来说具有...
JMX问题可能表现为"MalformedObjectNameException",这是因为创建MBean对象名时格式不正确。还可能遇到权限问题,如"AccessControlException",因为尝试访问受保护的MBean操作而没有足够的权限。 解决OSGI错误通常...
在JBoss 2.x中,由于类装载器机制的限制,MBean服务和动态部署的J2EE组件之间的交互较为困难,并且MBean本身也不支持热部署。为了克服这些限制,JBoss 3.x引入了一种新的类装载架构,允许类跨部署单元使用。这一改进...
Java Management Extensions(JMX)是Java平台上的一个标准技术,用于管理和监控应用程序、操作系统和网络设备。它提供了一种统一的方式来创建、配置、查询和控制管理对象,使得开发者可以轻松地将管理功能集成到...
VisualVM是Java开发人员的得力助手,它集成了JMX功能,能够显示关于Java进程的各种详细信息,如CPU使用率、内存消耗、线程状态、类加载情况等。通过JMX,VisualVM可以连接到远程运行的Java应用,实时监控其性能和...