In the
ResourceHandler.java it appears to dispatch itself onto a worker thread, and then uses blocking file IO to actually read the file. I'm curious why a
AsynchronousFileChannel wasn't used to read from the file in a non-blocking way? This would be in keeping with the non-blocking IO threads.
I wrote a quick HttpHandler that used the
AsynchronousFileChannel and it worked really well. However, when creating
AsynchronousFileChannel you have to specify the ExecutorService to be used to schedule the completion handler callback on. I was able to use exchange.getIoThread().getWorker(), but I'm curious if there is a way to schedule it back on the IO Threads? It just seems "purer" keeping everything on a single IO thread per core.