在我们的应用程序中,我们使用Spring RMI概念。
我有一个问题如下
有一个名为UserHandlerI的接口及其实现类UserHandler,如下所示
接口
public interface UserHandlerI extends Remote {
public boolean add_user(String message) throws Exception;
}
及其实现类(UserHandler)
public class UserHandler implements UserHandlerI
{
public abstract boolean add_user(String message) throws Exception
{
// My business logic goes here
return true ;
}
}
与上面的上述类和接口有关,它们在xml文件中提到
<bean id="streamer-core" class="com.user.UserHandler" scope="singleton" />
<bean id="streamer" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
<property name="serviceUrl" value="rmi://${${appl-host}}:${${appl-port}}/App" />
<property name="serviceInterface" value="com.at.UserHandler"/>
<property name="refreshStubOnConnectFailure" value="true"/>
<property name="lookupStubOnStartup" value="false" />
</bean>
我不确定配置文件中是否缺少任何内容?
我的问题是,我怎么知道将创建类UserHandler多少次(实例)。
这是单身吗?我可以证明吗?
提前致谢 。
最佳答案
您已将com.user.UserHandler
设置为名称为streamer-core
且具有单例作用域的bean。因此,每个一个应用程序上下文仅创建一个bean streamer-core
。有关更多详细信息,请阅读:Spring Documentation:
每个Spring IoC容器将单个bean定义的作用域限定为单个对象实例。
但这仅与bean有关。在将RccProxtFactoryBean的com.user.UserHandler
设置为SeviceInterface后,可以为com.user.UserHandler
创建一个实例。
com.user.UserHandler的实例通过RmiProxyFactoryBean#afterPropertySet在ProxyFactory中创建