`

weblogic JMX 中遇到的问题_2

阅读更多
本人通过jdk1.6 来验证weblogic 8.1 下的jmx操作老是报错,请高手帮忙是不兼容导致的?
package weblogic;
import java.util.*;
import javax.management.*;
import weblogic.management.*;
import weblogic.management.configuration.*;
import weblogic.management.runtime.ServerRuntimeMBean;
import weblogic.management.runtime.JDBCConnectionPoolRuntimeMBean;
public class TestJMX_MBean {
public MBeanHome localHome;
public MBeanHome adminHome;
public static String SERVER_NAME="myserver";

public void find()
{
String url="t3://130.30.15.44:8080";

localHome = (MBeanHome)Helper.getMBeanHome("weblogic","weblogic",url,SERVER_NAME);
adminHome = (MBeanHome)Helper.getAdminMBeanHome("weblogic","weblogic",url);
System.out.println("Local and Admin Homes  found using the Helper class");

}
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
    TestJMX test=new TestJMX();
    test.find();
    Set allMBeans=test.localHome.getAllMBeans();
    System.out.println("Size: "+allMBeans.size());
    for(Iterator itr=allMBeans.iterator();itr.hasNext();)
    {   WebLogicMBean mbean = (WebLogicMBean)itr.next();
    WebLogicObjectName objectName=mbean.getObjectName();
    System.out.println(objectName.getName()+" is a "+mbean.getType());
    }
   
    Set all2MBeans=test.adminHome.getAllMBeans();
    System.out.println("Size: "+all2MBeans.size());
    for (Iterator itr = all2MBeans.iterator(); itr.hasNext(); ) {
    WebLogicMBean mbean = (WebLogicMBean)itr.next();
    WebLogicObjectName objectName = mbean.getObjectName();
    System.out.println(objectName.getName() +"  is a "+mbean.getType());
    }
}

}
<2008-5-8 上午11时01分13秒 CST> <Error> <RJVM> <BEA-000503> <Incoming message header or abbreviation processing failed
java.io.InvalidClassException: javax.management.ObjectName; local class incompatible: stream classdesc serialVersionUID = -5467795090068647408, local class serialVersionUID = 1081892073854801359
java.io.InvalidClassException: javax.management.ObjectName; local class incompatible: stream classdesc serialVersionUID = -5467795090068647408, local class serialVersionUID = 1081892073854801359
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1316)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at weblogic.rjvm.ClassTableEntry.readExternal(ClassTableEntry.java:33)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at weblogic.rjvm.InboundMsgAbbrev.readObject(InboundMsgAbbrev.java:65)
at weblogic.rjvm.InboundMsgAbbrev.read(InboundMsgAbbrev.java:37)
at weblogic.rjvm.MsgAbbrevJVMConnection.readMsgAbbrevs(MsgAbbrevJVMConnection.java:212)
at weblogic.rjvm.MsgAbbrevInputStream.readMessageContext(MsgAbbrevInputStream.java:237)
at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:744)
at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:782)
at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:705)
at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:641)
at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:282)
at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
>
Exception in thread "main" weblogic.rjvm.PeerGoneException: ; nested exception is:
java.rmi.UnmarshalException: Incoming message header or abbreviation processing failed ; nested exception is:
java.io.InvalidClassException: javax.management.ObjectName; local class incompatible: stream classdesc serialVersionUID = -5467795090068647408, local class serialVersionUID = 1081892073854801359
at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:164)
at weblogic.management.internal.AdminMBeanHomeImpl_815_WLStub.getMBeansByType(Unknown Source)
at weblogic.TestJMX.find(TestJMX.java:26)
at weblogic.TestJMX_MBean.main(TestJMX_MBean.java:28)
Caused by: java.rmi.UnmarshalException: Incoming message header or abbreviation processing failed ; nested exception is:
java.io.InvalidClassException: javax.management.ObjectName; local class incompatible: stream classdesc serialVersionUID = -5467795090068647408, local class serialVersionUID = 1081892073854801359
at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:765)
at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:782)
at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:705)
at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:641)
at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:282)
at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
Caused by: java.io.InvalidClassException: javax.management.ObjectName; local class incompatible: stream classdesc serialVersionUID = -5467795090068647408, local class serialVersionUID = 1081892073854801359
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1316)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at weblogic.rjvm.ClassTableEntry.readExternal(ClassTableEntry.java:33)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at weblogic.rjvm.InboundMsgAbbrev.readObject(InboundMsgAbbrev.java:65)
at weblogic.rjvm.InboundMsgAbbrev.read(InboundMsgAbbrev.java:37)
at weblogic.rjvm.MsgAbbrevJVMConnection.readMsgAbbrevs(MsgAbbrevJVMConnection.java:212)
at weblogic.rjvm.MsgAbbrevInputStream.readMessageContext(MsgAbbrevInputStream.java:237)
at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:744)
... 7 more
--------------- nested within: ------------------
weblogic.rmi.extensions.RemoteRuntimeException: Unexpected Exception - with nested exception:
[weblogic.rjvm.PeerGoneException: ; nested exception is:
java.rmi.UnmarshalException: Incoming message header or abbreviation processing failed ; nested exception is:
java.io.InvalidClassException: javax.management.ObjectName; local class incompatible: stream classdesc serialVersionUID = -5467795090068647408, local class serialVersionUID = 1081892073854801359]
at weblogic.management.internal.AdminMBeanHomeImpl_815_WLStub.getMBeansByType(Unknown Source)
at weblogic.TestJMX.find(TestJMX.java:26)
at weblogic.TestJMX_MBean.main(TestJMX_MBean.java:28)
分享到:
评论
4 楼 di1984HIT 2013-12-02  
问题找到了,就是1.4和1.5不兼容导致的,通过分析ObjectName就能知道。
3 楼 konglq 2008-05-14  
源码如下:

package JMX;

import java.util.*;
import javax.management.*;
import weblogic.management.*;
import weblogic.management.configuration.JDBCTxDataSourceMBean;
import weblogic.management.configuration.ServerMBean;



public class testtt {

public MBeanHome localHome;

public MBeanHome adminHome;
public Stack stack;

public static String SERVER_NAME = "myserver";

public Stack find() {

stack = new Stack();

String url = "t3://127.0.0.1:7001";

try {

//localHome = (MBeanHome) Helper.getMBeanHome("admin", "admin12345",
// url, SERVER_NAME);

adminHome = (MBeanHome) Helper.getAdminMBeanHome("admin","admin12345", url);

//adminHome=Helper.getAdminMBeanHome("admin", "admin12345", url);

System.out.println(adminHome.getDomainName());


System.out.println("test1");
Set serverset =adminHome.getMBeansByType("JVMRuntime");
System.out.println(serverset.size());
Iterator it1 = serverset.iterator();
while (it1.hasNext()) {
ServerMBean dm1 = (ServerMBean) it1.next();
//System.out.println("%%%%%%%%%%%" + dm1.getAutoJDBCConnectionClose());
System.out.println("服务名称:=="+dm1.getName());

//stack.add(dm1.getJNDIName());
}


//System.out.println(domainname);

//adminHome.getMBeansByType(arg0);
//System.out.println();
//adminHome.getAllMBeans();

//
// Set set1 = adminHome.getMBeansByType("JMSServerMBean");
// Set set2 = adminHome.getMBeansByType("JDBCDataSource");
//
// Iterator it1 = set1.iterator();
//
//     System.out.println(set1.size());
//     System.out.println(set2.size());
//
//
// while (it1.hasNext()) {
// JDBCTxDataSourceMBean dm1 = (JDBCTxDataSourceMBean) it1.next();
// System.out.println("%%%%%%%%%%%" + dm1.getJNDIName());
// stack.add(dm1.getJNDIName());
// }
// Iterator it2 = set2.iterator();
//
// while (it2.hasNext()) {
// JDBCDataSourceMBean dm2 = (JDBCDataSourceMBean) it2.next();
// System.out.println("%%%%%%%%%%%" + dm2.getJNDIName());
// stack.add(dm2.getJNDIName());
// }

} catch (IllegalArgumentException iae) {

System.out.println("Illegal Argument Exception: " + iae);

}
return stack;

}

public static void main(String[] args) {
        System.out.println("测试连接开始!!!");
testtt testt = new testtt();
testt.find();
}

}
2 楼 konglq 2008-05-14  
我也遇到同样的问题,
时候可以帮我解决

test1
Exception in thread "main" weblogic.rjvm.PeerGoneException: ; nested exception is:
java.rmi.UnmarshalException: Incoming message header or abbreviation processing failed ; nested exception is:
java.io.InvalidClassException: javax.management.ObjectName; local class incompatible: stream classdesc serialVersionUID = -5467795090068647408, local class serialVersionUID = 1081892073854801359
at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:164)<2008-5-14 下午05时07分49秒 CST> <Error> <RJVM> <BEA-000503> <Incoming message header or abbreviation processing failed
java.io.InvalidClassException: javax.management.ObjectName; local class incompatible: stream classdesc serialVersionUID = -5467795090068647408, local class serialVersionUID = 1081892073854801359
java.io.InvalidClassException: javax.management.ObjectName; local class incompatible: stream classdesc serialVersionUID = -5467795090068647408, local class serialVersionUID = 1081892073854801359
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:519)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1546)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1286)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
at weblogic.rjvm.ClassTableEntry.readExternal(ClassTableEntry.java:33)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1711)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
at weblogic.rjvm.InboundMsgAbbrev.readObject(InboundMsgAbbrev.java:65)
at weblogic.rjvm.InboundMsgAbbrev.read(InboundMsgAbbrev.java:37)
at weblogic.rjvm.MsgAbbrevJVMConnection.readMsgAbbrevs(MsgAbbrevJVMConnection.java:212)
at weblogic.rjvm.MsgAbbrevInputStream.readMessageContext(MsgAbbrevInputStream.java:237)
at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:744)
at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:782)
at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:705)
at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:641)
at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:282)
at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
>

at weblogic.management.internal.AdminMBeanHomeImpl_815_WLStub.getMBeansByType(Unknown Source)
at JMX.testtt.find(testtt.java:39)
at JMX.testtt.main(testtt.java:92)
Caused by: java.rmi.UnmarshalException: Incoming message header or abbreviation processing failed ; nested exception is:
java.io.InvalidClassException: javax.management.ObjectName; local class incompatible: stream classdesc serialVersionUID = -5467795090068647408, local class serialVersionUID = 1081892073854801359
at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:765)
at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:782)
at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:705)
at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:641)
at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:282)
at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
Caused by: java.io.InvalidClassException: javax.management.ObjectName; local class incompatible: stream classdesc serialVersionUID = -5467795090068647408, local class serialVersionUID = 1081892073854801359
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:519)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1546)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1286)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
at weblogic.rjvm.ClassTableEntry.readExternal(ClassTableEntry.java:33)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1711)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
at weblogic.rjvm.InboundMsgAbbrev.readObject(InboundMsgAbbrev.java:65)
at weblogic.rjvm.InboundMsgAbbrev.read(InboundMsgAbbrev.java:37)
at weblogic.rjvm.MsgAbbrevJVMConnection.readMsgAbbrevs(MsgAbbrevJVMConnection.java:212)
at weblogic.rjvm.MsgAbbrevInputStream.readMessageContext(MsgAbbrevInputStream.java:237)
at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:744)
... 7 more
--------------- nested within: ------------------
weblogic.rmi.extensions.RemoteRuntimeException: Unexpected Exception - with nested exception:
[weblogic.rjvm.PeerGoneException: ; nested exception is:
java.rmi.UnmarshalException: Incoming message header or abbreviation processing failed ; nested exception is:
java.io.InvalidClassException: javax.management.ObjectName; local class incompatible: stream classdesc serialVersionUID = -5467795090068647408, local class serialVersionUID = 1081892073854801359]
at weblogic.management.internal.AdminMBeanHomeImpl_815_WLStub.getMBeansByType(Unknown Source)
at JMX.testtt.find(testtt.java:39)
at JMX.testtt.main(testtt.java:92)
1 楼 beyondsanli 2008-05-08  
   是因为你用1.4.2的Java启动程序,然后与JDK 1.5.0的Jconsole去连接导致的错,建议用MC4J去连接进行控制就行了   我感觉应该是JDK什么不兼容导致的,但是我应该怎么解决?

相关推荐

    AIX下的Weblogic安装

    在AIX环境下,遇到问题时,查看WebLogic的日志文件(如`&lt;domain_home&gt;/logs/&lt;server_name&gt;.log`)和AIX系统的系统日志(如`/var/adm/messages`)可以帮助定位问题。 以上就是在AIX系统中安装、配置和启动WebLogic...

    weblogic 常见问题 TROUBLE_SHOOTING

    本资料主要针对WebLogic Server的常见问题及其解决方法进行讨论,帮助用户在遇到问题时能够快速定位并解决。 首先,我们来看看一些有用的资源: 1. WebLogic Server的安装介质可以从BEA官方站点下载,包括在线...

    LR上配置监控WEBLOGIC

    - 在实际使用过程中,有时可能会遇到权限问题。例如,在安装WebLogic时,默认情况下没有直接启用WebLogic的安全认证,这可能会影响后续的监控工作。 - 解决方法是:首先确保WebLogic服务器的控制台地址(如`...

    Eclipse下Weblogic配置详解

    同时,提供的文档如`weblogic.doc`和`EclipseWebLogic1.1.1.pdf`将提供更深入的指导,包括可能遇到的问题解决方案和最佳实践。 记住,配置过程可能会因Eclipse版本和WebLogic版本的不同而略有差异,所以根据实际...

    weblogic自学全套教程

    【WebLogic自学全套教程】 WebLogic是Oracle公司提供的一个企业级Java应用服务器,它支持Java EE(Enterprise ...而《weblogic修改端口.txt》则提供了具体的端口修改方法,帮助你在实际环境中解决可能遇到的问题。

    WebLogic问题排除概览

    WebLogic问题排除概览主要介绍如何诊断和解决WebLogic服务器中的各类问题,同时介绍了Oracle公司提供的OracleGuardian工具,该工具是专门用于诊断WebLogic服务器的工具,可以在多个阶段帮助用户发现并解决问题。...

    weblogic 使用的问题

    然而,像任何复杂系统一样,WebLogic在使用过程中可能会遇到各种问题。这篇博客(https://fly533.iteye.com/blog/662036)可能详细记录了某个开发者或管理员在使用WebLogic时遇到的挑战以及解决方法,虽然描述为空,...

    WebLogic Support Patterns

    在运行复杂的分布式应用程序时,可能会遇到各种问题和挑战,这时就需要掌握WebLogic Server的支持模式和故障诊断最佳实践。 1. **日志分析与监控** - WebLogic Server的日志文件是诊断问题的关键资源,包括`server...

    weblogic 错误信息详解

    WebLogic提供了一些内置的诊断工具,如JMX Console、WLST(WebLogic Scripting Tool)和JConsole,可以帮助管理员监控服务器状态,收集诊断信息,甚至执行远程操作来调试问题。 7. **社区支持** 当遇到难以解决的...

    weblogic9使用手册

    当遇到问题时,日志文件和诊断信息是关键。手册会介绍如何查看和解析WebLogic Server的日志,以及如何使用诊断框架(JFR,Java Flight Recorder)和诊断工具(JDK Mission Control)来定位和解决问题。 八、集群...

    WebLogic错误 java.lang.AssertionError: Registered more than one

    在WebLogic Server 9.2至10.0版本中,用户可能会遇到一个特定的错误,即“java.lang.AssertionError: Registered more than one instance with the same objectName”。这个错误主要表现为服务器启动后,在Admin ...

    在weblogic 部署出现的 错误

    在WebLogic服务器上部署应用程序时,可能会遇到各种错误,这些错误可能是由于配置问题、环境问题或是应用程序本身的问题导致的。本篇文章将针对“在WebLogic部署出现的错误”这一主题,详细探讨可能遇到的问题及解决...

    weblogic部署

    当遇到问题时,首先检查WebLogic的日志文件,它通常包含了错误信息和调试信息。同时,可以调整服务器的JVM参数以优化性能,例如增加堆内存大小、调整垃圾回收策略等。 10. **集群与高可用性**: 对于高可用性和...

    Oracle WebLogic 11g 安装部署文档

    Oracle提供了一些工具,如WebLogic Diagnostic Framework (WLDF) 和JMX,来监控服务器性能和诊断问题。通过监控内存、CPU使用率、线程状态等指标,可以优化服务器配置以达到最佳性能。 总结,Oracle WebLogic 11g的...

    weblogic session丢失

    问题描述中提到的"NULL"可能意味着在实际运行过程中,WebLogic服务器突然清空或无法识别用户的session,导致用户在操作过程中失去已有的状态信息。这可能是由于多种原因引起的,包括配置问题、服务器资源限制、网络...

    WebLogic10版安装维护手册

    - 当遇到问题时,可以查看日志、使用JMX(Java Management Extensions)工具或WebLogic提供的诊断工具进行排查。 以上就是WebLogic 10.3安装维护手册中涉及的主要知识点,这些内容对于理解和操作WebLogic Server至...

    企业级IT运维宝典之WebLogic实战

    当遇到问题时,能够有效地分析WebLogic的日志文件、诊断数据和JVM堆转储至关重要。学习如何利用JConsole、VisualVM等工具进行故障排查,能迅速定位并解决问题,减少系统宕机时间。 七、WebLogic与数据库集成 ...

    weblogic日常维护手册.doc

    - **javacore和heapdump文件**:当WebLogic遇到严重问题时,可能会生成这些文件,它们提供了内存和线程的快照,用于分析和解决问题。 4. **配置文件config.xml** - **概述**:config.xml是WebLogic Server域配置...

    weblogic【安装说明】,weblogic

    当遇到问题时,可以查看日志文件(如` DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log`),利用JMX(Java Management Extensions)或WLST进行诊断。 总结,WebLogic Server的安装和配置是一个涉及多个步骤...

    weblogic管理员手册

    6. **监控与诊断**:了解如何使用WebLogic Server内置的管理控制台(Admin Console)、JMX(Java Management Extensions)和日志系统来监控服务器状态和诊断问题。 7. **性能优化**:手册会提供性能调优的指导,...

Global site tag (gtag.js) - Google Analytics