0

我编写了一个程序来使用 winrm4j api 从 Java 执行 powershell 命令。我能够执行命令。问题是在执行命令后,程序在我按下 Control C 之前不会终止。如果我不这样做,一段时间后我会得到以下异常。我正在寻找解决这个问题的输入。在此致谢。

2016-12-20T23:03:35.086 DEBUG [org.apache.http.impl.nio.client.InternalIODispatch] - http-outgoing-1 [ACTIVE] Exception
java.io.IOException: Connection reset by peer
        at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
        at sun.nio.ch.IOUtil.read(IOUtil.java:197)
        at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379)
        at org.apache.http.nio.reactor.ssl.SSLIOSession.receiveEncryptedData(SSLIOSession.java:449)
        at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:503)
        at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:122)
        at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:164)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:339)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:317)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:278)
        at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106)
        at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:590)
        at java.lang.Thread.run(Thread.java:745)
2016-12-20T23:03:35.092 DEBUG [org.apache.http.impl.nio.conn.ManagedNHttpClientConnectionImpl] - http-outgoing-1 x.x.x.x:37869<->x.x.x.x:5986[ACTIVE][r:r][ACTIVE][r][NOT_HANDSHAKING][0][0][0][0]: Shutdown
2016-12-20T23:03:35.094 DEBUG [org.apache.http.impl.nio.client.InternalIODispatch] - http-outgoing-1 [CLOSED]: Disconnected
4

1 回答 1

0

现在已在PR#43中修复。合并后,新版本将随更改一起发布。同时,您可以从PR 分支构建您自己的版本。

对于退出之前的解决方法,您可以在您的应用程序中添加以下内容:

BusFactory.getDefaultBus().shutdown(true);
于 2016-12-29T20:44:14.690 回答