Я работаю над приложением промежуточного программного обеспечения, которое создает и поддерживает соединения TCP / IP с несколькими серверами.Если приложение обнаружит, что соединение было потеряно, оно попытается восстановить соединение по таймеру, пока соединение не будет восстановлено.
Приложение использует объекты java.nio.SocketChannel в неблокирующем режиме с Selector / SelectionKey для обработки событий сокета.
После потери соединения лучше выброситьтекущий объект SocketChannel и создать новый для повторного подключения (также получить новый SelectionKey) или для повторного использования тех же SocketChannel и SelectionKey (который, я думаю, недопустим, пока соединение не будет установлено снова)?