При запуске микро-сервисов с помощью wso2 msf4j выдает ошибку гнезда 4022 на одном безостановочном компьютере, но отлично работает на нескольких других компьютерах, включая серии j и l. В настоящее время мы используем msf4j 2.1.0, ws02 5.1 и Netty 4.0.3. Большинство настроек остаются по умолчанию, и мы предоставляем только то значение конфигурации, которое требуется для запуска службы.
Мы попытались установить стек TCP с ipv6, но он все еще не работает, удостоверились, что порт сокета доступен, и протестировали порт сокета с помощью тестовой программы, которая показывает, что порт доступен для использования, и попытались использовать больше байтов, чем доступно Приемный буфер системы, который устанавливает максимум около 1 МБ с Java, который не вызывал симптом, если не было сделано непосредственно с кодом C.
Мы потерялись в том, что делать дальше. Можно ли установить размеры буфера Netty с параметром при вызове сервиса?
Ожидаемый вывод - служба может запускаться через порт.
Полученная трассировка стека:
Exception: java.net.SocketException: Invalid function argument (errno:4022)
2019-06-11 11:28:02 DEBUG - io.netty.channel.ChannelException: java.net.SocketEx
ception: Invalid function argument (errno:4022)
at io.netty.channel.socket.DefaultServerSocketChannelConfig.setReceiv
eBufferSize(DefaultServerSocketChannelConfig.java:123)
at io.netty.channel.socket.DefaultServerSocketChannelConfig.setOption
(DefaultServerSocketChannelConfig.java:78)
at io.netty.channel.DefaultChannelConfig.setOptions(DefaultChannelCon
fig.java:113)
at io.netty.bootstrap.ServerBootstrap.init(ServerBootstrap.java:152)
at io.netty.bootstrap.AbstractBootstrap.initAndRegister(AbstractBoots
trap.java:308)
at io.netty.bootstrap.AbstractBootstrap.doBind(AbstractBootstrap.java
:271)
at io.netty.bootstrap.AbstractBootstrap.bind(AbstractBootstrap.java:2
67)
at org.wso2.carbon.transport.http.netty.listener.NettyListener.startT
ransport(NettyListener.java:103)
at org.wso2.carbon.transport.http.netty.listener.NettyListener.start(
NettyListener.java:69)
at org.wso2.carbon.kernel.transports.CarbonTransport.startTransport(C
arbonTransport.java:47)
at java.util.HashMap$Values.forEach(HashMap.java:980)
at org.wso2.carbon.kernel.transports.TransportManager.startTransports
(TransportManager.java:61)
at org.wso2.msf4j.MicroservicesRunner.start(MicroservicesRunner.java:
191)
at com.xypro.nonstop.main.AppInitializer.main(AppInitializer.java:147
)
Caused by: java.net.SocketException: Invalid function argument (errno:4022)
at sun.nio.ch.Net.setIntOption0(Native Method)
at sun.nio.ch.Net.setSocketOption(Net.java:334)
at sun.nio.ch.ServerSocketChannelImpl.setOption(ServerSocketChannelIm
pl.java:151)
at sun.nio.ch.ServerSocketAdaptor.setReceiveBufferSize(ServerSocketAd
aptor.java:190)
at io.netty.channel.socket.DefaultServerSocketChannelConfig.setReceiv
eBufferSize(DefaultServerSocketChannelConfig.java:121)
... 13 more