public class RouterChain<T> extends Object
| Modifier and Type | Method and Description |
|---|---|
void |
addRouters(List<Router> routers)
If we use route:// protocol in version before 2.7.0, each URL will generate a Router instance, so we should
keep the routers up to date, that is, each time router URLs changes, we should update the routers list, only
keep the builtinRouters which are available all the time and the latest notified routers which are generated
from URLs.
|
void |
addStateRouters(List<StateRouter<T>> stateRouters) |
static <T> RouterChain<T> |
buildChain(Class<T> interfaceClass,
org.apache.dubbo.common.URL url) |
RouterSnapshotNode<T> |
buildRouterSnapshot(org.apache.dubbo.common.URL url,
BitList<Invoker<T>> availableInvokers,
Invocation invocation)
Build each router's result
|
void |
destroy() |
List<Router> |
getRouters() |
List<StateRouter<T>> |
getStateRouters() |
void |
initWithRouters(List<Router> builtinRouters)
the resident routers must being initialized before address notification.
|
void |
initWithStateRouters(List<StateRouter<T>> builtinRouters)
the resident routers must being initialized before address notification.
|
List<Invoker<T>> |
route(org.apache.dubbo.common.URL url,
BitList<Invoker<T>> availableInvokers,
Invocation invocation) |
void |
setInvokers(BitList<Invoker<T>> invokers)
Notify router chain of the initial addresses from registry at the first time.
|
public static <T> RouterChain<T> buildChain(Class<T> interfaceClass, org.apache.dubbo.common.URL url)
public void initWithRouters(List<Router> builtinRouters)
public void initWithStateRouters(List<StateRouter<T>> builtinRouters)
public void addRouters(List<Router> routers)
routers - routers from 'router://' rules in 2.6.x or before.public void addStateRouters(List<StateRouter<T>> stateRouters)
public List<StateRouter<T>> getStateRouters()
public List<Invoker<T>> route(org.apache.dubbo.common.URL url, BitList<Invoker<T>> availableInvokers, Invocation invocation)
url - invocation - public RouterSnapshotNode<T> buildRouterSnapshot(org.apache.dubbo.common.URL url, BitList<Invoker<T>> availableInvokers, Invocation invocation)
public void setInvokers(BitList<Invoker<T>> invokers)
public void destroy()
Copyright © 2011–2021 The Apache Software Foundation. All rights reserved.