public class LoadBalanceProxyFactoryBean extends ServiceMultiInterfaceAccessor implements org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.FactoryBean, org.springframework.beans.factory.InitializingBean, org.aopalliance.intercept.MethodInterceptor, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.BeanNameAware
<bean id="lbRmiService" class="com.baidu.jprotobuf.pbrpc.client.ha.lb.LoadBalanceProxyFactoryBean">
<property name="serviceInterface" value="com.baidu.rigel.system.subsystem.submodule.service.TestService"></property>
<property name="extraInterfaces">
<list>
<value>com.baidu.rigel.service.remote.support.transaction.TransactionManager</value>
</list>
</property>
<property name="targetBeans">
<map key-type="java.lang.String">
<entry key="helloService1" value-ref="helloServiceClient" />
<entry key="helloService2" value-ref="helloServiceClient2" />
</map>
</property>
<property name="loadBalanceStrategy">
<bean class="com.baidu.jprotobuf.pbrpc.client.ha.lb.strategy.RoundRobinLoadBalanceStrategy">
<constructor-arg>
<map key-type="java.lang.String" value-type="java.lang.Integer">
<entry key="helloService1" value="1" />
<entry key="helloService2" value="1" />
</map>
</constructor-arg>
</bean>
</property>
<property name="failOverInterceptor">
<bean class="com.baidu.jprotobuf.pbrpc.client.ha.lb.failover.rmi.RmiFailOverInterceptor">
<property name="recoverServiceUrls">
<map key-type="java.lang.String">
<entry key="helloService1" value="rmi://localhost:1199/Service" />
<entry key="helloService2" value="rmi://localhost:1198/Service" />
</map>
</property>
</bean>
</property>
<property name="recoverInterval" value="1000"></property>
</bean>
| 限定符和类型 | 类和说明 |
|---|---|
static class |
LoadBalanceProxyFactoryBean.FactoryBeanInvokeInfo |
| 构造器和说明 |
|---|
LoadBalanceProxyFactoryBean() |
getExtraInterfaces, getExtraServiceInterfaces, setExtraInterfacesgetServiceInterface, setServiceInterfacepublic void setFailOverEvent(FailOverEvent failOverEvent)
public void setTargetBeans(Map<String,Object> targetFactoryBeans)
targetFactoryBeans - public void addTargetBean(String key, Object targetBean)
key - targetBean - public void setLoadBalanceStrategy(LoadBalanceStrategy loadBalanceStrategy)
loadBalanceStrategy - public FailOverInterceptor getFailOverInterceptor()
public void setFailOverInterceptor(FailOverInterceptor failOverInterceptor)
failOverInterceptor - the failOverInterceptor to setpublic boolean isFailOver()
public void afterPropertiesSet()
throws Exception
afterPropertiesSet 在接口中 org.springframework.beans.factory.InitializingBeanExceptionpublic Object getObject()
getObject 在接口中 org.springframework.beans.factory.FactoryBeanpublic Class getObjectType()
getObjectType 在接口中 org.springframework.beans.factory.FactoryBeanpublic boolean isSingleton()
isSingleton 在接口中 org.springframework.beans.factory.FactoryBeanpublic void setBeanClassLoader(ClassLoader classLoader)
setBeanClassLoader 在接口中 org.springframework.beans.factory.BeanClassLoaderAwareprotected ClassLoader getBeanClassLoader()
public Object invoke(org.aopalliance.intercept.MethodInvocation invocation) throws Throwable
invoke 在接口中 org.aopalliance.intercept.MethodInterceptorThrowablepublic Map<String,LoadBalanceProxyFactoryBean.FactoryBeanInvokeInfo> getFailedFactoryBeans()
public void recoverFactoryBean(String key)
public boolean hasFactoryBeanFailed()
public void destroy()
throws Exception
destroy 在接口中 org.springframework.beans.factory.DisposableBeanExceptionpublic void setStrategyInterceptor(StrategyInterceptor strategyInterceptor)
strategyInterceptor - the strategyInterceptor to setpublic void setRecoverInterval(long recoverInterval)
recoverInterval - the recoverInterval to setpublic long getRecoverInterval()
protected boolean isHeartBeat()
public void setHeartBeat(boolean heartBeat)
heartBeat - the heartBeat to setpublic void setBeanName(String beanName)
setBeanName 在接口中 org.springframework.beans.factory.BeanNameAwareCopyright © 2015 Baidu, Inc.. All Rights Reserved.