0
RMI 연결을 위해 "테스트"기능을 추가해야합니다 (다른 쪽 서버가 사용 가능/존재하는지 확인). 나는이 수업/콩을 만든 : 나는 2 초 후 "연결 시간 초과"를 기대하지만 그렇게하지 않는 "것은 serviceUrl"에서 "잘못된"URL을 설정Spring 3.0 RmiProxyFactoryBean : 연결 시간 제한을 설정하는 방법?
public class MyRmiClientSocketFactory implements RMIClientSocketFactory {
private int timeout;
public void setTimeout(int timeout) {
this.timeout = timeout;
}
@Override
public Socket createSocket(String host, int port) throws IOException {
final Socket socket = new Socket();
socket.setSoTimeout(timeout);
socket.setSoLinger(false, 0);
socket.connect(new InetSocketAddress(host, port), timeout);
return socket;
}
}
<bean id="myRmiClientSocketFactory" class="org.myapp.MyRmiClientSocketFactory">
<property name="timeout" value="2000"/>
</bean>
<bean id="myExecutor" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
<property name="serviceInterface" value="org.myapp.MyExecutor"/>
<property name="serviceUrl" value="rmi://localhost:1099/myExecutor"/>
<!-- <property name="refreshStubOnConnectFailure" value="true"/> -->
<!-- <property name="lookupStubOnStartup" value="false"/> -->
<property name="registryClientSocketFactory" ref="myRmiClientSocketFactory"/>
</bean>
. 어떻게하면 가능할 지 생각해?
예. createSocket (...) 메소드를 변경 (위)하고 이제는 괜찮습니다. 감사. – Randomize