[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

这是在服务器上的负载测试期间发生。我应该担心。除了在日志中获得该消息,一切似乎工作确定。

有帮助吗?

解决方案

在响应于无光泽B中,“发送失败消息为null”的信息是令人误解。真正的问题是InterruptedIOException。这意味着,有人叫中断()对被发送的UDP线程。最有可能的,是内部的JGroups产生中断。 (除非你开始,然后停止JGroups通道。)

看堆栈跟踪,被中断的I / O是从一个搜索协议。它试图发现其他群集成员。因此,没有你的消息是从这个异常丢失。

我们必须知道更多真正弄清楚这一个。

其他提示

发送到“空”的意思发送给整个集群,与将消息发送到单个构件。我同意,这是有点误导,所以在以后的版本改变了这种:IIRC“NULL”替换为与“簇”或“基团”

“空”这里所指的目的地:空目标地址装置发送到整个群集

在InterruptedIOException来自发送者线程通过JGroups的停止;出现这种情况,例如当我们已经在发现阶段足够的响应返回,所以发送任务被停止(即,打断)。

此也被固定在JGroups的更高版本。 贝拉

是否有可能因为你发送消息您收到错误为“空”?

  

错误 - org.jgroups.protocols.UDP - 未能发送消息为空

否则,这可能是相当困难的其他任何人来帮助你有没有代码示例,您的网络上的信息,在发生你的问题的具体情况,等等。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top