com.baidu.jprotobuf.pbrpc.client.ha.lb
类 LoadBalanceProxyFactoryBean
java.lang.Object
com.baidu.jprotobuf.pbrpc.client.ha.lb.ServiceInterfaceAccessor
com.baidu.jprotobuf.pbrpc.client.ha.lb.ServiceMultiInterfaceAccessor
com.baidu.jprotobuf.pbrpc.client.ha.lb.LoadBalanceProxyFactoryBean
- 所有已实现的接口:
- org.aopalliance.aop.Advice, org.aopalliance.intercept.Interceptor, org.aopalliance.intercept.MethodInterceptor, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.FactoryBean, org.springframework.beans.factory.InitializingBean
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
a common utility proxy factory bean to support Spring beans load balance support.
a example
<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>
- 从以下版本开始:
- 2.17
- 作者:
- xiemalin
| 从类 java.lang.Object 继承的方法 |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LoadBalanceProxyFactoryBean
public LoadBalanceProxyFactoryBean()
setFailOverEvent
public void setFailOverEvent(FailOverEvent failOverEvent)
setTargetBeans
public void setTargetBeans(Map<String,Object> targetFactoryBeans)
- 参数:
targetFactoryBeans -
addTargetBean
public void addTargetBean(String key,
Object targetBean)
- add target bean
- 参数:
key - targetBean -
setLoadBalanceStrategy
public void setLoadBalanceStrategy(LoadBalanceStrategy loadBalanceStrategy)
- 参数:
loadBalanceStrategy -
getFailOverInterceptor
public FailOverInterceptor getFailOverInterceptor()
- 返回:
- the failOverInterceptor
setFailOverInterceptor
public void setFailOverInterceptor(FailOverInterceptor failOverInterceptor)
- 参数:
failOverInterceptor - the failOverInterceptor to set
isFailOver
public boolean isFailOver()
- 返回:
afterPropertiesSet
public void afterPropertiesSet()
throws Exception
- 指定者:
- 接口
org.springframework.beans.factory.InitializingBean 中的 afterPropertiesSet
- 抛出:
Exception
getObject
public Object getObject()
- 指定者:
- 接口
org.springframework.beans.factory.FactoryBean 中的 getObject
getObjectType
public Class getObjectType()
- 指定者:
- 接口
org.springframework.beans.factory.FactoryBean 中的 getObjectType
isSingleton
public boolean isSingleton()
- 指定者:
- 接口
org.springframework.beans.factory.FactoryBean 中的 isSingleton
setBeanClassLoader
public void setBeanClassLoader(ClassLoader classLoader)
- 指定者:
- 接口
org.springframework.beans.factory.BeanClassLoaderAware 中的 setBeanClassLoader
getBeanClassLoader
protected ClassLoader getBeanClassLoader()
- Return the ClassLoader that this accessor operates in, to be used for deserializing and for generating proxies.
invoke
public Object invoke(org.aopalliance.intercept.MethodInvocation invocation)
throws Throwable
- 指定者:
- 接口
org.aopalliance.intercept.MethodInterceptor 中的 invoke
- 抛出:
Throwable
getFailedFactoryBeans
public Map<String,LoadBalanceProxyFactoryBean.FactoryBeanInvokeInfo> getFailedFactoryBeans()
- 返回:
- the failedFactoryBeans
recoverFactoryBean
public void recoverFactoryBean(String key)
hasFactoryBeanFailed
public boolean hasFactoryBeanFailed()
destroy
public void destroy()
throws Exception
- 指定者:
- 接口
org.springframework.beans.factory.DisposableBean 中的 destroy
- 抛出:
Exception
setStrategyInterceptor
public void setStrategyInterceptor(StrategyInterceptor strategyInterceptor)
- 参数:
strategyInterceptor - the strategyInterceptor to set
setRecoverInterval
public void setRecoverInterval(long recoverInterval)
- 参数:
recoverInterval - the recoverInterval to set
getRecoverInterval
public long getRecoverInterval()
- 返回:
- the recoverInterval
isHeartBeat
protected boolean isHeartBeat()
- 返回:
- the heartBeat
setHeartBeat
public void setHeartBeat(boolean heartBeat)
- 参数:
heartBeat - the heartBeat to set
setBeanName
public void setBeanName(String beanName)
- 指定者:
- 接口
org.springframework.beans.factory.BeanNameAware 中的 setBeanName
Copyright © 2015 Baidu, Inc.. All Rights Reserved.