Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
4.0-alpha3
-
None
Description
I'm trying to figure out what to do when DefaultConnectingIOReactor.execute throws an exception. It doesn't seem like I can just call execute() again after handling the exception, since that will recreate all the state in DCIOR.
Seems to me that there needs to be a different way to handle exceptions, or the execute method should be callable more than once.
For reference, here's the stack trace of an exception:
2007-01-23T16:23:19.800 | ERROR | urceInvoker | | NewResourceInvoker | Invalid argument: sun.nio.ch.Net.setIntOption java.net.SocketException: Invalid argument: sun.nio.ch.Net.setIntOption at sun.nio.ch.Net.setIntOption0(Native Method) at sun.nio.ch.Net.setIntOption(Net.java:154) at sun.nio.ch.SocketChannelImpl$1.setInt(SocketChannelImpl.java:406) at sun.nio.ch.SocketOptsImpl.setBoolean(SocketOptsImpl.java:38) at sun.nio.ch.SocketOptsImpl$IP$TCP.noDelay(SocketOptsImpl.java:284) at sun.nio.ch.OptionAdaptor.setTcpNoDelay(OptionAdaptor.java:48) at sun.nio.ch.SocketAdaptor.setTcpNoDelay(SocketAdaptor.java:268) at org.apache.http.nio.impl.reactor.DefaultConnectingIOReactor.prepareSocket(DefaultConnectingIOReactor.java:171) at org.apache.http.nio.impl.reactor.DefaultConnectingIOReactor.processEvent(DefaultConnectingIOReactor.java:158) at org.apache.http.nio.impl.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:134) at org.apache.http.nio.impl.reactor.DefaultConnectingIOReactor.execute(DefaultConnectingIOReactor.java:94) at com.electriccloud.commander.domain.NewResourceInvoker.innerRun(NewResourceInvoker.java:304) at com.electriccloud.util.FailsafeRunnable.run(FailsafeRunnable.java:105) at java.lang.Thread.run(Thread.java:619)