小编ali*_*her的帖子

什么类型的连接"RMI TCP连接(空闲)"线程对应?

我正在使用基于RMI的分布式系统,使用jdk1.6.

有时我可以ConcurrentModificationException在RMI运行时无法序列化对象时看到该线程上发生的错误.我可以通过同时更新从远程方法返回的对象来轻松地重现该异常.

但问题是我找不到那些电话的来源.写入RMI异常stderr(在退出远程对象方法后在运行时代码中在服务器端捕获),但客户端服务中没有匹配的异常(如果这是合法的远程调用,RemoteException则会引发适当的原因).

这些异常的唯一不同之处在于它们发生在"RMI TCP连接(空闲)"线程上,而不是发生在"RMI TCP连接(<连接计数>) - <客户端端点信息>"之类的线程上.

什么是RMI中那些"空闲"线程的线索?我在openjdk源代码中找不到这样的内容.

更新:我正在添加一个异常堆栈跟踪,这是您在描述的情况下通常看到的.

服务器端控制台显示:

Exception dispatching call to [-3534448f:12f54948b7f:-7fff, 349678755005857493] in thread "RMI TCP Connection(6)-x.x.x.x" at Thu Apr 14 16:15:13 BST 2011:
java.util.ConcurrentModificationException
    at java.util.ArrayList.writeObject(ArrayList.java:573)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
    at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:274)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:315)
    at sun.rmi.transport.Transport$1.run(Transport.java:159)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662) …
Run Code Online (Sandbox Code Playgroud)

java rmi

7
推荐指数
1
解决办法
3万
查看次数

离线Mac OS X开发人员文档

我想获得所有开发人员文档以供离线使用.
我正在使用xcode主要是在我的通勤和移动inet在我的地区不够好.
关于文档的一些问题一般或多或少都有回答,但我有更具体的要求.
目前我只有课程参考,但我想在"同伴指南"中提到文件.我试图"订阅"到10.5核心库但它似乎没有添加任何东西旁边与XCode一起安装的东西.我正在使用XCode 3.1.2,如果这有任何区别.
我有什么选择?正式下载/ wget'ing everything /在首选项中找到一些明显的按钮?

documentation xcode osx-leopard

3
推荐指数
1
解决办法
2623
查看次数

标签 统计

documentation ×1

java ×1

osx-leopard ×1

rmi ×1

xcode ×1