WebLogic出现的奇怪问题

 

今天遇到一个很奇怪的问题:在Eclipse3.3.1版本中出现的WebLogic服务器构件路径问题。百思不得其解,呵呵!http://www.javaeye.com/post/388849页面中也提到了这个问题。将其记录下来,防止再出现这个问题,不知道如何解决。

使用WebLogic9.1版本,在建立JNDI数据源后MySqlDataSource,然后查询获取数据库连接的时候出现了以下异常信息:

Exception in thread "main" weblogic.rmi.extensions.RemoteRuntimeException: Unexpected Exception

   at weblogic.jdbc.common.internal.RmiDataSource_910_WLStub.getConnection(Unknown Source)

   at org.sang.virtual.JDBCPoolDemo.main(JDBCPoolDemo.java:34)

Caused by: weblogic.rjvm.PeerGoneException: ; nested exception is:

   weblogic.utils.NestedException: java.lang.NoClassDefFoundError: com/bea/xml/XmlException

   at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:191)

   at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:315)

   at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:250)

   ... 2 more

Caused by: weblogic.utils.NestedException: java.lang.NoClassDefFoundError: com/bea/xml/XmlException

   at weblogic.rjvm.RJVMImpl.gotExceptionReceiving(RJVMImpl.java:897)

   at weblogic.rjvm.ConnectionManager.gotExceptionReceiving(ConnectionManager.java:1001)

   at weblogic.rjvm.MsgAbbrevJVMConnection.gotExceptionReceiving(MsgAbbrevJVMConnection.java:441)

   at weblogic.rjvm.t3.MuxableSocketT3.hasException(MuxableSocketT3.java:367)

   at weblogic.socket.SocketMuxer.deliverExceptionAndCleanup(SocketMuxer.java:734)

   at weblogic.socket.SocketMuxer.deliverHasException(SocketMuxer.java:687)

   at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:307)

   at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)

   at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)

   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)

   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)

Caused by: java.lang.NoClassDefFoundError: com/bea/xml/XmlException

   at weblogic.diagnostics.instrumentation.InstrumentationLibrary.loadInstrumentationEngineConfiguration(InstrumentationLibrary.java:119)

   at weblogic.diagnostics.instrumentation.InstrumentationLibrary.getInstrumentationLibrary(InstrumentationLibrary.java:96)

   at weblogic.diagnostics.instrumentation.InstrumentationManager.getAvailableMonitors(InstrumentationManager.java:248)

   at weblogic.diagnostics.instrumentation.InstrumentationManager.<init>(InstrumentationManager.java:105)

   at weblogic.diagnostics.instrumentation.InstrumentationManager.getInstrumentationManager(InstrumentationManager.java:121)

   at weblogic.diagnostics.instrumentation.InstrumentationSupport.getMonitor(InstrumentationSupport.java:44)

   at weblogic.jdbc.rmi.SerialConnection.<clinit>(SerialConnection.java)

   at sun.misc.Unsafe.ensureClassInitialized(Native Method)

   at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown Source)

   at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)

   at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)

   at java.lang.reflect.Field.getFieldAccessor(Unknown Source)

   at java.lang.reflect.Field.getLong(Unknown Source)

   at java.io.ObjectStreamClass.getDeclaredSUID(Unknown Source)

   at java.io.ObjectStreamClass.access$700(Unknown Source)

   at java.io.ObjectStreamClass$2.run(Unknown Source)

   at java.security.AccessController.doPrivileged(Native Method)

   at java.io.ObjectStreamClass.<init>(Unknown Source)

   at java.io.ObjectStreamClass.lookup(Unknown Source)

   at java.io.ObjectStreamClass.initNonProxy(Unknown Source)

   at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)

   at java.io.ObjectInputStream.readClassDesc(Unknown Source)

   at java.io.ObjectInputStream.readObject0(Unknown Source)

   at java.io.ObjectInputStream.readObject(Unknown Source)

   at weblogic.rjvm.ClassTableEntry.readExternal(ClassTableEntry.java:36)

   at java.io.ObjectInputStream.readExternalData(Unknown Source)

   at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)

   at java.io.ObjectInputStream.readObject0(Unknown Source)

   at java.io.ObjectInputStream.readObject(Unknown Source)

   at weblogic.rjvm.InboundMsgAbbrev.readObject(InboundMsgAbbrev.java:65)

   at weblogic.rjvm.InboundMsgAbbrev.read(InboundMsgAbbrev.java:37)

   at weblogic.rjvm.MsgAbbrevJVMConnection.readMsgAbbrevs(MsgAbbrevJVMConnection.java:214)

   at weblogic.rjvm.MsgAbbrevInputStream.init(MsgAbbrevInputStream.java:169)

   at weblogic.rjvm.MsgAbbrevJVMConnection.dispatch(MsgAbbrevJVMConnection.java:424)

   at weblogic.rjvm.t3.MuxableSocketT3.dispatch(MuxableSocketT3.java:362)

   at weblogic.socket.AbstractMuxableSocket.dispatch(AbstractMuxableSocket.java:359)

   at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:851)

   at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:787)

   at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:283)

   ... 4 more

 

       问题的关键之处在于:你是通过何种方式添加的weblogic.jar

1.        如果直接将weblogic.jar复制到项目下,再将其添加到构建路径下,这样是不行,会出现上述异常信息。

2.        如果是建立用户库的方式也是不行的,结果同上。

3.        只有直接通过添加外部JAR包的方式将C:\BEA\weblogic91\server\lib路径下的weblogic.jar添加到构建路径下,才会避免出现异常。

4.        如果是weblogic.jar包复制到其他目录下,再通过3的方式添加到构建路径下的话,也是不行的。

 

以前一直认为项目所使用的JAR包,以何种方式来添加,效果都是一样的,现在才发现出了问题!不过我还是觉得,以何种方式添加效果都是一样的。但是为什么会出现这种情况,我想可能是Eclipse3.31weblogic9.1的定义配置文件固有BUG,也可能是weblogic9.1服务器自身的问题。

posted on 2007-10-28 17:40 桑之兮(CS-LIN) 阅读(387) 评论(0)  编辑  收藏 所属分类: weblogic


标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
 
成果网帮您增加网站收入
 
相关链接:
网站导航:




<2007年10月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

导航

统计

常用链接

留言簿(1)

随笔分类(6)

随笔档案(6)

相册

搜索

最新评论

阅读排行榜

评论排行榜