Почему ServerSocket.setSocketFactory является статическим?

Я пытаюсь использовать собственный SocketImpl с SSL в Java. Из-за этого мне нужно установить фабрику сокетов ServerSocket. Теперь я заметил, что он статичен, что создает некоторые проблемы для меня, поскольку я хочу предоставить ему некоторые параметры, которые различаются в каждом экземпляре ServerSocket -. Кто-нибудь знает, зачем делать его статичным? Мне это кажется ненужным ограничением, которое только вводит более глобальное состояние в ваше приложение.

Обновление Кажется, есть некоторая путаница в том, почему это хлопотно. Проблема в том, что это вынуждает меня использовать одну и ту же фабрику во всем приложении. Что, если я хочу использовать SocketImpl по умолчанию в одном месте и пользовательский — в другом? Это невозможно сделать, не прибегая к некоторым уродливым -хакам отражения, потому что фабрику нельзя изменить после того, как она была установлена. Я также не могу заставить свою фабрику создать реализацию по умолчанию, потому что SocksSocketImpl является частным пакетом.

13
задан Yrlec 22 August 2012 в 11:33
поделиться