我一直在寻找一段时间,但我似乎找不到答案。我正在使用Spring RMI远程处理,我想使用注释配置。
这可能吗?
据我所知,Spring 没有标准的基于注释的 RMI 支持。我遇到了这个链接(泰语),它简要介绍了如何创建一个可以在春季容器环境中使用的自定义注释。
正如@Santosh回答的那样,RMI支持没有标准的注释。但是您可以使用标准 Bean 注释来注册 RMI bean。
在服务端执行此操作(参数barService是Spring ->注入的服务实现,因此需要已经注册了这样的bean):
@Bean
public RmiServiceExporter registerService(BarService barService) {
RmiServiceExporter rmiServiceExporter = new RmiServiceExporter();
rmiServiceExporter.setServiceName("BarService");
rmiServiceExporter.setService(barService);
rmiServiceExporter.setServiceInterface(BarService.class);
rmiServiceExporter.setRegistryPort(5000);
return rmiServiceExporter;
}
客户端:
@Bean
public BarService createBarServiceLink() {
RmiProxyFactoryBean rmiProxyFactoryBean = new RmiProxyFactoryBean();
rmiProxyFactoryBean.setServiceUrl("rmi://localhost:5000/BarService");
rmiProxyFactoryBean.setServiceInterface(BarService.class);
rmiProxyFactoryBean.afterPropertiesSet();
return (BarService) rmiProxyFactoryBean.getObject();
}