wso2 msf4j でマイクロ サービスを起動すると、1 台のノンストップ マシンでエラー 4022 ソケット例外がスローされますが、j および l シリーズを含む他の複数のマシンでは正常に動作します。現在、msf4j 2.1.0、ws02 5.1、および Netty 4.0.3 を使用しています。ほとんどの設定はデフォルトのままにしておき、サービスを開始するために必要な構成値のみを提供します。
TCPスタックをipv6で設定しようとしましたが、それでも失敗します。ソケットポートが使用可能であることを確認し、ポートが使用可能であることを示すテストプログラムでソケットポートをテストし、使用可能な受信バッファよりも多くのバイトを使用しようとしましたCコードで直接行わない限り、症状を引き起こさなかったJavaで約1MBの最大値を示すシステム。
次に何をすべきか迷っています。サービスを呼び出すときにパラメーターを使用して 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