Java org.jgroups.protocols.UDP-无法将消息发送到null

Java org.jgroups.protocols.UDP-无法将消息发送到null,java,networking,jgroups,Java,Networking,Jgroups,这是在服务器负载测试期间发生的。我应该担心吗。除了在日志中获取该消息外,一切似乎都正常。是否有可能因为向“null”发送消息而导致错误 错误-org.jgroups.protocols.UDP-无法将消息发送到null 否则,如果没有代码示例、网络信息、出现问题的具体情况等,其他人可能很难帮助您解决问题。针对matt b,“未能将消息发送到null”消息具有误导性。真正的问题是中断异常。这意味着有人在发送UDP的线程上调用了interrupt()。最有可能的是,中断是在JGroups中生成的。(

这是在服务器负载测试期间发生的。我应该担心吗。除了在日志中获取该消息外,一切似乎都正常。

是否有可能因为向“null”发送消息而导致错误

错误-org.jgroups.protocols.UDP-无法将消息发送到null


否则,如果没有代码示例、网络信息、出现问题的具体情况等,其他人可能很难帮助您解决问题。

针对matt b,“未能将消息发送到null”消息具有误导性。真正的问题是中断异常。这意味着有人在发送UDP的线程上调用了interrupt()。最有可能的是,中断是在JGroups中生成的。(除非您先启动,然后停止JGroups频道。)

查看堆栈跟踪,中断的I/O来自发现协议。它试图发现其他集群成员。因此,您的任何信息都不会因此异常而丢失

我们需要了解更多信息才能真正理解这个问题。

发送到“null”意味着发送到整个集群,而不是发送消息到单个成员。我同意,这有点误导,所以我在以后的版本中对此进行了更改:IIRC“null”被替换为“cluster”或“group”

这里的“null”指的是目的地:null目的地地址意味着发送到整个集群

InterruptedIOException来自被JGroups停止的发送方线程;例如,当我们在发现阶段已经有足够的响应返回,因此发送任务停止(即中断)时,就会发生这种情况

这在JGroups的更高版本中也得到了修复。
Bela

mm,因此显然不是为stacktraces设计的。它对我的屏幕来说太宽了:)@Nik我也有同样的问题。你是如何解决这个问题的?@Nik:我现在收到了完全相同的错误消息。你发现了什么?我希望能这么简单。按照这种设置方式,您加入一个通道,发送到该通道的任何消息都会复制到所有已加入的节点。代码中没有指定目的地。由:java.io.InterruptedIOException:操作中断引起的:使我认为发生了超时或其他情况。不是这样。在JGroups中,这是一个误导性的投诉部分,是一个转移视线的问题。我以前也研究过类似的错误。
[hannel,192.168.0.46:40014] 15:08:03,642 - ERROR - org.jgroups.protocols.UDP - failed sending message to null (61 bytes)
java.lang.Exception: dest=/225.1.2.46:30446 (64 bytes)
    at org.jgroups.protocols.UDP._send(UDP.java:333)
    at org.jgroups.protocols.UDP.sendToAllMembers(UDP.java:283)
    at org.jgroups.protocols.TP.doSend(TP.java:1327)
    at org.jgroups.protocols.TP.send(TP.java:1317)
    at org.jgroups.protocols.TP.down(TP.java:1038)
    at org.jgroups.protocols.PING.sendMcastDiscoveryRequest(PING.java:220)
    at org.jgroups.protocols.PING.sendGetMembersRequest(PING.java:214)
    at org.jgroups.protocols.Discovery$PingSenderTask$1.run(Discovery.java:385)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:280)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:135)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:65)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:142)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:166)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
    at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.InterruptedIOException: operation interrupted
    at java.net.PlainDatagramSocketImpl.send(Native Method)
    at java.net.DatagramSocket.send(DatagramSocket.java:612)
    at org.jgroups.protocols.UDP._send(UDP.java:324)
    ... 16 more