You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@aries.apache.org by Filippo Balicchia <fb...@gmail.com> on 2012/01/10 18:57:51 UTC

expose a service with RmiProxyFactoryBean

Hello,
I need to expose a service that use class RmiProxyFactoryBean, but
blueprint container can't start cause it doesn't find implementation
of my interface.

here the configuration.

<bean id="myManagerRMI"
class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
		<property name="serviceUrl"
			value="${ipaddress}/myManagerRmi" />
		<property name="serviceInterface" value="myInterface" />
		<property name="cacheStub" value="true" />
		<property name="lookupStubOnStartup" value="false" />
		<property name="refreshStubOnConnectFailure" value="true" />
	</bean>

	<service ref="myManagerRMI" interface="myInterface"
		ranking="1" />


Is possible to use spring proxy in blueprint ?

The same configuration in spring osgi works.

Could you tell me please where what is wrong in my configuration

Thanks for help


--Filippo

Re: expose a service with RmiProxyFactoryBean

Posted by Łukasz Dywicki <lu...@code-house.org>.
Exposing a proxied service in OSGi is not the best idea. Generally all services are proxied under the hood by framework. So it's better to expose a implementation with given interface and start a RmiProxyFactoryBean (even with Spring) with imported service in second bundle. From architecture point of view you'll have a clean separation and your logic won't be affected by Spring dependencies.

If you can't do that then you could try to use following construction:

<bean id="factory" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">

</bean>

<bean id="service" factory-ref="factory" factory-method="getObject" />

<service ref="service" interface="theInterface" />

Best regards,
Łukasz Dywicki
--
Code-House
http://code-house.org



Wiadomość napisana przez Filippo Balicchia w dniu 2012-01-10, o godz. 18:57:

> Hello,
> I need to expose a service that use class RmiProxyFactoryBean, but
> blueprint container can't start cause it doesn't find implementation
> of my interface.
> 
> here the configuration.
> 
> <bean id="myManagerRMI"
> class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
> 		<property name="serviceUrl"
> 			value="${ipaddress}/myManagerRmi" />
> 		<property name="serviceInterface" value="myInterface" />
> 		<property name="cacheStub" value="true" />
> 		<property name="lookupStubOnStartup" value="false" />
> 		<property name="refreshStubOnConnectFailure" value="true" />
> 	</bean>
> 
> 	<service ref="myManagerRMI" interface="myInterface"
> 		ranking="1" />
> 
> 
> Is possible to use spring proxy in blueprint ?
> 
> The same configuration in spring osgi works.
> 
> Could you tell me please where what is wrong in my configuration
> 
> Thanks for help
> 
> 
> --Filippo