spring rmi Web アプリケーション (WAR ファイル) を cloudbees に正常にデプロイしました。このアプリケーションには、あいさつメッセージを含む文字列を返す「greetingRmiService」という単純な RMI サービスが含まれています。これは、rmi サービスが正常にデプロイされたことを示すサーバー ログの部分です。
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@79d9cd24: defining beans [registry,greetingService,org.springframework.remoting.rmi.RmiServiceExporter#0]; root of factory hierarchy
May 02, 2013 4:06:20 AM org.springframework.remoting.rmi.RmiRegistryFactoryBean getRegistry
INFO: Looking for RMI registry at port '1099'
May 02, 2013 4:06:35 AM org.springframework.remoting.rmi.RmiRegistryFactoryBean getRegistry
INFO: Could not detect RMI registry - creating new one
May 02, 2013 4:06:35 AM org.springframework.remoting.rmi.RmiServiceExporter prepare
INFO: Binding service 'greetingRmiService' to RMI registry: RegistryImpl[UnicastServerRef [liveRef: [endpoint:[10.119.1.56:1099](local),objID:[0:0:0, 0]]]]
ここで、ローカル PC にクライアント アプリを作成して、このサービスに接続し、そのサービスを呼び出したいと考えています。私のクライアントは単純な Maven アプリケーションです。クライアントのSpring構成Beanは次のとおりです。
<bean id="greetingService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
<property name="serviceUrl" value="rmi://10.119.1.56:1099/greetingRmiService"/>
<property name="serviceInterface" value="com.main.GreetingService"/>
</bean>
クライアントの主な方法:
public static void main( String[] args )
{
ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:com/config/SpringConfigurationBean.xml");
GreetingService service = (GreetingService) ctx.getBean("greetingService");
System.out.println(service.sayHello("Lahiru"));
}
しかし、これは機能せず、接続タイムアウトの例外が発生します。エンドポイント 10.119.1.56:1099 を使用してサーバーに接続しました。外部から cloudbees サーバーに接続するときに使用する正しい rmi エンドポイントはありますか?
ありがとう!