我有一个第三方组件,它在某些情况下试图向太多不同的地址发送UDP消息。这是软件启动时发生的突发事件,情况是暂时的。我实际上不确定它是消息数量本身还是每个消息都发送到不同的IP地址。
无论如何,改变底层协议或有问题的组件都不是一种选择,所以我正在寻找解决方法。 StackTrace看起来像这样:
java.io.IOException: No buffer space available
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(DatagramSocket.java:612)
这个问题至少出现在Java版本1.6.0_13和1.6.0_10以及Linux版本Ubuntu 9.04和RHEL 4.6。
是否有任何Java系统属性或Linux配置调整可以帮助解决此问题?