Тайм-аут подключения к SSL-сокету

Как настроить тайм-аут подключения для сокетов SSL в Java?

Для простых сокетов , Я могу просто создать новый экземпляр сокета без какой-либо целевой конечной точки, используя new Socket () , а затем вызвать метод connect (конечная точка SocketAddress, int timeout) . С сокетами SSL я не могу создать новый SSLSocket () и SSLSocketFactory.getDefault (). ...

ПРИМЕЧАНИЕ: если то, что я хочу, невозможно, будет принят ответ «невозможно»

В документации Doctrine 2 о сопоставлении наследования говорится, что есть 2 способа:

  • Наследование одной таблицы (STI)
  • Наследование таблицы классов (CTI)

Для обоих есть предупреждение:

Если вы используете объект STI / CTI как многозначный или сущность один-к-одному , вы никогда не должны использовать один из классов на верхних уровнях иерархии наследования как «targetEntity», только те, которые не имеют подклассов. В противном случае Doctrine НЕ МОЖЕТ создать прокси-экземпляры этой сущности и ВСЕГДА будет загружать сущность с нетерпением.

Итак, как я могу продолжить использовать наследование с ассоциацией с базовым (абстрактным) классом ? (и, конечно, сохраните производительность)


Пример

У пользователя много Pet (абстрактный класс, расширенный Dog или Cat ).

Что я хочу сделать:

class User {
    /**
     * @var array(Pet) (array of Dog or Cat)
     */
    private $pets;
}

Из-за предупреждения в документации Doctrine я должен сделать это:

class User {
    /**
     * @var array(Dog)
     */
    private $dogs;
    /**
     * @var array(Cat)
     */
    private $cats;
}

Это раздражает, потому что я теряю преимущества наследования!

Примечание: я не добавлял Doctrine аннотации для сопоставления с БД, но вы можете понять, что я имею в виду

55
задан Matthieu Napoli 29 April 2011 в 04:17
поделиться