Хорошо, я нашел уродливый способ сделать это. lookup
выполняется с использованием Socket
из RMIClientSocketFactory
, которое вы можете передать. Фабрика возвращает Socket
с вашей конфигурацией.
К сожалению, это не очень хорошо для вас, так как класс TCPChannel
, используемый в RMI, перезаписывает некоторые ваши настройки, включая вызов Socket.setSoTimeout(..)
со значением handshakeTimeout
.
Однако ничто не мешает вам изменить фабрику для возврата подкласса Socket
, который не позволяет изменять soTimeout
(т. Е. Путем перезаписи setSoTimeout
ничего не делать).
Наличие источника, доступного для класса TCPChannel
, оказалось очень полезным: http://www.java2s.com/Open-Source/Java-Document/6.0-JDK-Modules-sun/rmi/sun/rmi/transport/tcp/TCPChannel.java.htm