Notas de la versión de Sun Java System Application Server 9.1

ASQuickStartup interrumpe SocketChannel.keyFor(), devolviendo un valor nulo en lugar de SelectionKey (Issue Tracker 3027)

Descripción

Cuando un SocketChannel se registra en varios selectores, haciendo socketChannel.keyFor(lastRegisteredSelector) devuelve un valor nulo en lugar de SelectionKey.

Solución

Esto está relacionado con el error de JDK 6562829, y se espera esté solucionado en la versión 6.0 U3. Se ha incluido una solución temporal en Application Server 9.1, que desenvuelve el selector antes de que se invoque el API keyFor. Gracias a esta solución, keyFor podrá hacer su trabajo hasta que se solucione el error de JDK.