invesdwin / invesdwin-context-integration

invesdwin-context modules that provide integration features
GNU Lesser General Public License v3.0
1 stars 0 forks source link

fix NativeSocketChannelReader/Writer on Windows #53

Closed subes closed 1 year ago

subes commented 1 year ago

Should not use FileDispatcherImpl.read0, instead SocketChannelImpl or something like that which seems to bind a different API on windows. File read0 is really only for files on windows, not for socket file descriptors.

Caused by - java.io.IOException: Das System kann den angegebenen Pfad nicht finden
        at java.base/sun.nio.ch.FileDispatcherImpl.read0(Native Method)
        at net.openhft.chronicle.core.OS.read0(OS.java:523)
      * at de.invesdwin.context.integration.channel.sync.socket.tcp.unsafe.NativeSocketSynchronousReader.read0(NativeSocketSynchronousReader.java:132) *
      * at de.invesdwin.context.integration.channel.sync.socket.tcp.unsafe.NativeSocketSynchronousReader.readFurther(NativeSocketSynchronousReader.java:96) *
      * at de.invesdwin.context.integration.channel.sync.socket.tcp.unsafe.NativeSocketSynchronousReader.hasMessage(NativeSocketSynchronousReader.java:76) *
      * at de.invesdwin.context.integration.channel.sync.socket.tcp.unsafe.NativeSocketSynchronousReader.hasNext(NativeSocketSynchronousReader.java:69) *
      * at de.invesdwin.context.integration.channel.sync.spinwait.MutableDelegateSynchronousReader.hasNext(MutableDelegateSynchronousReader.java:34) *
      * at de.invesdwin.context.integration.channel.sync.spinwait.SynchronousReaderSpinWait$1.isConditionFulfilled(SynchronousReaderSpinWait.java:34) *
      * at de.invesdwin.util.concurrent.loop.ASpinWait.awaitFulfill(ASpinWait.java:127) *
      * at de.invesdwin.context.integration.channel.sync.spinwait.SynchronousReaderSpinWait.waitForRead(SynchronousReaderSpinWait.java:41) *
      * at de.invesdwin.trading.financialdata.historical.contract.resolver.internal.transport.manager.FinancialdataHistoricalResolverRegistryServer$ServerRunnable.run(FinancialdataHistoricalResolverRegistryServer.java:159) *
      * at de.invesdwin.util.concurrent.internal.WrappedRunnable.run(WrappedRunnable.java:47) *
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
      * at de.invesdwin.util.concurrent.internal.WrappedThreadFactory.lambda$0(WrappedThreadFactory.java:48) *
        ... 2 more, see error.log
subes commented 1 year ago

done