java - org.jgroups.protocols.UDP - 向 null 发送消息失败

标签 java networking 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

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

最佳答案

作为对 matt b 的回应,“向 null 发送消息失败”消息具有误导性。真正的问题是 InterruptedIOException。这意味着有人在发送 UDP 的线程上调用了 interrupt()。最有可能的是,中断是在 JGroups 中产生的。 (除非您启动了 JGroups channel ,然后又停止了。)

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

我们必须了解更多才能真正解决这个问题。

关于java - org.jgroups.protocols.UDP - 向 null 发送消息失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/372771/

相关文章:

node.js - 是否有相当于 JGroups 的 Node.js 来提供可靠的多播?

android - 某些文件不会从 lighttpd 流式传输到 Droid

java - Infinispan/JGroups集群连接失败,当TCPPING.initialHost包含多个主机时

java - 将值从不同的函数传递到单个对象

java - 使用TargetDataLine来获取实时音频:缓冲区不变

networking - 网络丢包延迟带宽模拟

http - 通过 TCP/IP 端口不断读取/写入数据。哪一个?

docker - Infinispan 的 JGroups 没有加入 Docker 服务中的同一个集群

java - 如何找到数字中最大的正方形(Java)

java - HttpComponents 如何发送响应?