spring - Spring RMI 使用注释,只能在客户端进行修改
问题描述
我正在尝试使用 Spring 和 Dropwizard 将我的应用程序从基于 xml 和属性文件的配置转换为基于注释和基于 java 的配置。我已经尝试在我的应用程序中使用以下客户端代码来引用Spring RMI Remoting Annotation Configuration,但它给出了一个类转换异常。
@Bean
public BarService createBarServiceLink() {
RmiProxyFactoryBean rmiProxyFactoryBean = new RmiProxyFactoryBean();
rmiProxyFactoryBean.setServiceUrl("rmi://localhost:5000/BarService");
rmiProxyFactoryBean.setServiceInterface(BarService.class);
rmiProxyFactoryBean.afterPropertiesSet();
return (BarService) rmiProxyFactoryBean.getObject();
}
较旧的应用程序具有 BarService 类而不扩展任何其他类,并且整个配置是在 xmls 中完成的,但它仍然可以工作。
我无法在服务端进行更改,因为它是一个不同的系统,只能在客户端进行更改。这是可行的吗?如何在不触及服务端(其他系统代码)的情况下做到这一点。
解决方案
请参阅https://www.baeldung.com/spring-remoting-rmi您的退货必须是:
@Bean
public RmiProxyFactoryBean createBarServiceLink() {
RmiProxyFactoryBean rmiProxyFactoryBean = new RmiProxyFactoryBean();
rmiProxyFactoryBean.setServiceUrl("rmi://localhost:5000/BarService");
rmiProxyFactoryBean.setServiceInterface(BarService.class);
rmiProxyFactoryBean.afterPropertiesSet();
return rmiProxyFactoryBean;
}
在 getBean() 上称为调用 BarService 的弹簧。例如:
public static void main(String[] args) throws BookingException {
BarService service = SpringApplication
.run(RmiClient.class, args).getBean(BarService.class);
// use service
}
这样,您就不会在服务器或客户端进行更改。
推荐阅读
- r - geom_smooth 绘图标签在 R 的左侧和右侧都被剪掉了
- php - 将日期与laravel中mysql json数组的每个值进行比较
- r - 如何绘制每个属性的边际分布?
- c# - 如何在 LINQ 的 where 子句中传递动态条件?
- laravel - 如何在 Laravel 中获取相关列值的总和?
- angular - 如何从代码运行 Angular CLI 命令
- c - 修改字符串值导致访问冲突
- c++ - 当从对象引用创建时,来自向量的指针会导致 BAD_ACCESS 错误
- azure-application-insights - Azure Application Insights Kusto 查询能否获取用户的当前时区?
- ios - 无法加载模块 Razorpay