Définir des propriétés pour un Printemps contexte

Je suis en utilisant le Printemps pour gérer les appels RMI à une certaine distance du serveur. Il est simple de construire un contexte d'application et d'obtenir les haricots à distance pour les appels à partir du client:

ApplicationContext context = new ApplicationContext("classpath:context.xml");

MyService myService = (MyService ) context.getBean( "myService " );

Cependant je ne vois pas de solution simple pour passer des propriétés dans la configuration. Par exemple si je veux déterminer le nom d'hôte pour le serveur distant lors de l'exécution du client.

J'avais idéalement avoir une entrée dans le Printemps contexte comme celui-ci:

<bean id="myService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
  <property name="serviceUrl" value="rmi://${webServer.host}:80/MyService"/>
  <property name="serviceInterface" value="com.foo.MyService"/>
</bean>

et de transmettre les propriétés du contexte du client en tant que paramètre.

Je peux utiliser un PropertyPlaceholderConfigurer dans le contexte de remplacer ces propriétés, mais aussi loin que je peux dire que cela ne fonctionne que pour les propriétés en lecture à partir d'un fichier.

J'ai une application qui répond à ce (ajouté comme une réponse) mais je suis à la recherche d'un standard de Printemps de mise en œuvre pour éviter de rouler mon propre. Est-il une autre Printemps configurer (ou autre chose) pour aider à initialiser la configuration ou suis-je mieux de regarder java config pour y parvenir?

Où voulez-vous stocker vos propriétés?
le client peut se connecter à n'importe quel serveur, par exemple, l'utilisateur peut taper le nom d'hôte dans un champ de texte. Donc, il n'est pas déterminée au moment de la compilation.

OriginalL'auteur Rich Seller | 2009-07-06