javax.naming.CommunicationException.  Root exception is java.rmi.UnmarshalException: cannot unmarshaling return; nested exception is: 
java.io.StreamCorruptedException: Type code out of range, is 0
java.io.StreamCorruptedException: Type code out of range, is 0
at java.io.ObjectInputStream.peekCode(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.skipToEndOfBlockData(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java(Compiled Code))
at weblogic.rmi.internal.StubInfo.readObject(StubInfo.java(Compiled Code))
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectInputStream.invokeObjectReader(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Compiled Code))
at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Inlined Compiled Code))
<Mar 6, 2009 9:01:27 AM CST> <Error> <HTTP> <101017> <[ServletContext(id=833258113,name=DefaultWebApp,context-path=)] Root cause of ServletException
java.lang.OutOfMemoryError: 
Start server side stack trace:
java.lang.OutOfMemoryError
End  server side stack trace
这是错误信息       知道可能出现的情况给我说说 谢谢

解决方案 »

  1.   

    你那个 xml文件有多大?
    你可以试着把 java 程序的启动参数改下,
    另外,也不清楚你这个是什么时候出现的....程序用来做什么的也不清楚
      

  2.   

    rmi读取的Object太大了,建议使用缓存读取。
      

  3.   

    加大jvm 虚拟存储大小:
    java -Xms1024m -Xmx256m
      

  4.   

    远程方法调用,返回数据量太大了。
    如:你远程调用的方法是返回整个表(假设是客户关系表),而这个表中有10000多个客户的信息。
    那就很容易造成你调用的远程方法服务器端的内存溢出。服务器一报错,自然在客户端会报CommunicationException通讯错误异常。
    参考解决方法:
    1.像5楼说的那样,增加提供RMI的服务器内存。(不过这个不是完美的解决之道。人多了,照样会抛错误)
    2.控制数据量。可以在调用的方法上做文章,如分页取表中的信息。这样数据量就得以控制了。
      

  5.   

    在eclipse中  打开菜单window-preferences-Installed JRES-EDIT -Default VM Arguments 填写:
    -Xms256m -Xmx1024m
    这是OutOfMemory错误,一般像楼上所说,你应该设置变量首为null,如果是控件要先remove掉