Spring 3.0 RmiProxyFactoryBean : how to change serviceUrl at runtime?

标签 spring javabeans rmi

我有一个像这样的bean定义:

    <bean id="myService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
    <property name="serviceInterface" value="org.myapp.MyService"/>
    <property name="serviceUrl" value="rmi://localhost:1099/myService"/>
</bean>

我以这种方式检索服务 bean:
    ApplicationContext context = new ClassPathXmlApplicationContext("classpath:rmi-client-config.xml");
    MyService myService = context.getBean("myService", MyService.class);

当然,它返回一个“MyService” impl 实例而不是 RmiProxyFactoryBean。

那么如何使用上面的 xml 定义而不是手动实例化 RmiProxyFactoryBean 来更改“serviceUrl”参数?

最佳答案

获取 FactoryBean实例而不是工厂创建的 bean,使用 BeanFactory.FACTORY_BEAN_PREFIX . IE
RmiProxyFactoryBean rpfb = (RmiProxyFactoryBean) contex.getBean("&myService");

关于Spring 3.0 RmiProxyFactoryBean : how to change serviceUrl at runtime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10503769/

相关文章:

java - 如何让服务器自动将数据发送回连接的客户端

java-通过 System.setProperty 命令设置 RMI 端口的属性名称是什么

java - 运行java应用程序而不启动rmiregistry

SpringBeanAutowiringSupport 与 WebApplicationContextUtils

java - Spring:客户端发送的请求语法错误()

java - 如何一起使用 mapstruct 和 springboot bean? @autowired

java - Beanutils.copyProperties 与 protected 设置方法

java - 使用 XML 文件在 swing 中构建 GUI

spring - 如何将 header 添加到 `AuthenticationKeyGenerator` 中?

spring - 如何使用 MBeanExporter 通过 JMX 公开 Spring WebSocketMessageBrokerStats