2

我一直在为此寻找一些时间,但我似乎无法找到答案。我正在使用 Spring RMI 远程处理,我想使用注释配置。

这可能吗?

4

2 回答 2

1

据我所知,spring 没有基于标准注释的 RMI 支持。我遇到了这个链接它的泰语),它简要介绍了创建一个可以在 spring 容器环境中使用的自定义注释。

于 2012-06-22T15:58:42.190 回答
1

正如@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();
}
于 2014-11-29T15:15:48.450 回答