私はSpringを使用して、一部のリモートサーバへのRMI呼び出しを処理しています。アプリケーションコンテキストを構築し、クライアントからリモート呼び出しのための豆を得ることは簡単です。Springコンテキストへのプロパティの受け渡し
ApplicationContext context = new ApplicationContext("classpath:context.xml");
MyService myService = (MyService) context.getBean("myService ");
私は設定にプロパティを渡すための簡単な方法が表示されませんが。たとえば、クライアント内の実行時にリモートサーバーのホスト名を特定する場合などです。
私は、理想的には、このようなSpringコンテキスト内のエントリがあるだろう:
<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>
を、パラメータとしてクライアントからのコンテキストにプロパティを渡します。
コンテキストでPropertyPlaceholderConfigurerを使用してこれらのプロパティを置き換えることはできますが、これはファイルから読み取られたプロパティに対してのみ機能することがわかります。
これを解決する実装があります(答えとして追加されました)が、私は自分自身を回避するための標準Spring実装を探しています。設定を初期化するために別のSpringコンフィグラ(または何か)があるのですか、これを達成するためにJava設定を調べる方が良いでしょうか?
? –
クライアントは任意のサーバーに接続できます。ユーザーはテキストフィールドにホスト名を入力できます。したがって、コンパイル時に決定されません。 –