Java - ReadObject com nio

Em um servidor tradicional de thread de bloqueio, eu faria algo assim

class ServerSideThread {

    ObjectInputStream in;
    ObjectOutputStream out;
    Engine engine;

    public ServerSideThread(Socket socket, Engine engine) {
        in = new ObjectInputStream(socket.getInputStream());
        out = new ObjectOutputStream(socket.getOutputStream());
        this.engine = engine;
    }

    publ,ic void sendMessage(Message m) {
        out.writeObject(m);
    }

    public void run() {
        while(true) {
            Message m = (Message)in.readObject();
            engine.queueMessage(m,this); // give the engine a message with this as a callback
        }
    }
}

Agora, pode-se esperar que o objeto seja bastante grande. No meu loop nio, não posso simplesmente esperar o objeto passar, todas as minhas outras conexões (com cargas de trabalho muito menores) estarão esperando por mi

Como posso ser notificado apenas de que uma conexão tem o objeto inteiro antes de informar ao meu canal de nio que está pronta?

questionAnswers(2)

yourAnswerToTheQuestion