Spring: RmiProxyFactoryBean versucht sofort zu verbinden; wie später verbinden?

DarthShader

Erfahrenes Mitglied
Hallo,

ich verwende Spring's Funktionen zum "exposen" von Services, sodass ich sie via RMI ansprechen kann. So habe ich eine Kommunikation zwischen Client und Server implementiert, wobei die Klasse RmiProxyFactoryBean zum Einsatz kam.

Nun eine einfache Frage: Kann ich das Verbinden zum Remote Service beim erstellen der Bean irgendwie verhindern? Mit anderen Worten, wenn mein Client gestartet wird, und der Server ist nicht da, so wird sofort diese Exception geworfen:

Java:
Caused by: org.springframework.remoting.RemoteLookupFailureException: Lookup of RMI stub failed; nested exception is jav
a.rmi.ConnectException: Connection refused to host: localhost; nested exception is: 
	java.net.ConnectException: Connection refused: connect

// [...]

Caused by: java.rmi.ConnectException: Connection refused to host: localhost; nested exception is: 
	java.net.ConnectException: Connection refused: connect

Die Bean Konfiguration auf Clientseite sieht so aus:

XML:
<bean id="remoteService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
	<property name="serviceUrl" value="rmi://localhost:12345/RemoteService"/>
	<property name="serviceInterface" value="de.test.service.RemoteService"/>
</bean>

Da die "RemoteLookupFailureException" vom Typ "RuntimeException" ist, geht das Programm auch nicht weiter.

Dass er ohne Server keine Verbindung aufbauen kann, ist klar. Aber wie bringe ich ihm bei, erst beim Aufruf einer Remote-Service-Methode die Verbindung zu versuchen? Oder ist hier konzeptionell etwas so gestaltet, was ich gerade nicht verstehe? :)


Vielen Dank für Eure Hilfe!
 
Zuletzt bearbeitet von einem Moderator:
Ach das tut mir leid, aber berechtigt, dass Du mich auf die API Doku verweist :) Ich hab da tatsächlich reingeschaut, aber nicht auf die vererbten Methoden geachtet.

Danke!
 
Wie gesagt, passiert mir auch immer wieder mal. Grad wenn sich die benötigten Methoden in Superklassen verstecken. Ein einfacherer Weg als das JavaDoc ist IMHO in Eclipse einfach die Klasse aufzumachen, zweimal STRG+O zu drücken und eben kurz "set" in den Filter zu hacken. Damit bekommt man alle Setter der kompletten Klassenhierarchie und somit einen guten Überblick über die Konfigurationsmöglichkeiten.

Gruß
Ollie
 
Zurück