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() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addTargetBean(java.lang.String key,
java.lang.Object targetBean)
add target bean
|
void |
afterPropertiesSet() |
void |
destroy() |
protected java.lang.ClassLoader |
getBeanClassLoader()
Return the ClassLoader that this accessor operates in, to be used for deserializing and for generating proxies.
|
java.util.Map<java.lang.String,LoadBalanceProxyFactoryBean.FactoryBeanInvokeInfo> |
getFailedFactoryBeans() |
FailOverInterceptor |
getFailOverInterceptor() |
java.lang.Object |
getObject() |
java.lang.Class |
getObjectType() |
long |
getRecoverInterval() |
boolean |
hasFactoryBeanFailed() |
java.lang.Object |
invoke(org.aopalliance.intercept.MethodInvocation invocation) |
boolean |
isFailOver() |
protected boolean |
isHeartBeat() |
boolean |
isSingleton() |
void |
recoverFactoryBean(java.lang.String key) |
void |
setBeanClassLoader(java.lang.ClassLoader classLoader) |
void |
setBeanName(java.lang.String beanName) |
void |
setFailOverEvent(FailOverEvent failOverEvent) |
void |
setFailOverInterceptor(FailOverInterceptor failOverInterceptor) |
void |
setHeartBeat(boolean heartBeat) |
void |
setLoadBalanceStrategy(LoadBalanceStrategy loadBalanceStrategy) |
void |
setRecoverInterval(long recoverInterval) |
void |
setStrategyInterceptor(StrategyInterceptor strategyInterceptor) |
void |
setTargetBeans(java.util.Map<java.lang.String,java.lang.Object> targetFactoryBeans) |
getExtraInterfaces, getExtraServiceInterfaces, setExtraInterfacesgetServiceInterface, setServiceInterfacepublic void setFailOverEvent(FailOverEvent failOverEvent)
public void setTargetBeans(java.util.Map<java.lang.String,java.lang.Object> targetFactoryBeans)
targetFactoryBeans - public void addTargetBean(java.lang.String key,
java.lang.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 java.lang.Exception
afterPropertiesSet 在接口中 org.springframework.beans.factory.InitializingBeanjava.lang.Exceptionpublic java.lang.Object getObject()
getObject 在接口中 org.springframework.beans.factory.FactoryBeanpublic java.lang.Class getObjectType()
getObjectType 在接口中 org.springframework.beans.factory.FactoryBeanpublic boolean isSingleton()
isSingleton 在接口中 org.springframework.beans.factory.FactoryBeanpublic void setBeanClassLoader(java.lang.ClassLoader classLoader)
setBeanClassLoader 在接口中 org.springframework.beans.factory.BeanClassLoaderAwareprotected java.lang.ClassLoader getBeanClassLoader()
public java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation invocation)
throws java.lang.Throwable
invoke 在接口中 org.aopalliance.intercept.MethodInterceptorjava.lang.Throwablepublic java.util.Map<java.lang.String,LoadBalanceProxyFactoryBean.FactoryBeanInvokeInfo> getFailedFactoryBeans()
public void recoverFactoryBean(java.lang.String key)
public boolean hasFactoryBeanFailed()
public void destroy()
throws java.lang.Exception
destroy 在接口中 org.springframework.beans.factory.DisposableBeanjava.lang.Exceptionpublic 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(java.lang.String beanName)
setBeanName 在接口中 org.springframework.beans.factory.BeanNameAwareCopyright © 2015 Baidu, Inc.. All Rights Reserved.