package spittr.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.remoting.rmi.RmiServiceExporter;
import spittr.service.SpitterService;
/**
* @version 版权 Copyright(c)2019
* @ClassName:
* @Descripton: 导出RMI
* @author: Shing
* @date: 2020-07-17 15:28
*/
@Configuration
public class RpcConfig {
/**
* RmiServiceExporter可以将任意sping管理的bean发布到RMI服务。
* @param spitterService
* @return
*/
@Bean
public RmiServiceExporter rmiServiceExporter(SpitterService spitterService){
RmiServiceExporter rmiServiceExporter = new RmiServiceExporter();
rmiServiceExporter.setService(spitterService);
rmiServiceExporter.setServiceName("SpitterService");
rmiServiceExporter.setServiceInterface(SpitterService.class);
//默认情况下,rmiServiceExporter会尝试绑定到本机1099端口上的RMI注册表。
//如果在这个端口没有发现RMI注册表,rmiServiceExporter将会启动一个注册表
rmiServiceExporter.setRegistryHost("rmi.spittr.com");
rmiServiceExporter.setRegistryPort(1199);
return rmiServiceExporter;
}
}
@Bean
public RmiProxyFactoryBean rmiProxyFactoryBean(){
RmiProxyFactoryBean rmiProxy = new RmiProxyFactoryBean();
rmiProxy.setServiceUrl("rmi://localhost/SpitterService");
rmiProxy.setServiceInterface(SpitterService.class);
return rmiProxy;
}
原文:https://www.cnblogs.com/-shing/p/25dedba3d11a828146ba02abf2614015.html