dubbo:reference element

The configuration of service consumer. The corresponding class isorg.apache.dubbo.config.ReferenceConfig

Attribute Corresponding URL parameter Type Required Default Value Function Description Compatibility
id string True Configuration association Bean Id of the service reference Above 1.0.0
interface class True Service discovery Interface name of the service Above 1.0.0
version version string False Service discovery Service version, must be equal to the provider’s version Above 1.0.0
group group string False Service discovery The group of the service reference, must be equal to the provider’s group. It can distinguish services when it has multiple implements. Above 1.0.7
timeout timeout long False By default, use <dubbo:consumer> timeout Performance optimize The RPC timeout(ms) Above 1.0.5
retries retries int False By default, use <dubbo:consumer> retries Performance optimize The retry count for RPC, not including the first invoke. Please set it to 0 if don’t need to retry. Above 2.0.0
connections connections int False By default, use <dubbo:consumer> connections Performance optimize The maximum connections of every provider. For short connection such as rmi, http and hessian, it’s connection limit, but for long connection such as dubbo, it’s connection count. Above 2.0.0
loadbalance loadbalance string False By default, use <dubbo:consumer> loadbalance Performance optimize Strategy of load balance, random, roundrobin and leastactive are available. Above 2.0.0
async async boolean False By default, use <dubbo:consumer> async Performance optimize Asynchronous execution, not reliable. It does not block the execution thread just only ignores the return value. Above 2.0.0
generic generic boolean False By default, use <dubbo:consumer> generic Service governance Enable generic interface. If true, the reference will return GenericService Above 2.0.0
check check boolean False By default, use <dubbo:consumer> check Service governance Check the exist of the provider. If true, it will throw exception when provider is not exist. If false, will ignore. Above 2.0.0
url url string False Service governance Connect to the provider directly via this url. It will bypass the registry. Above 1.0.6
stub stub class/boolean False Service governance The local proxy class name of the client, it’s used to execute local logic such as caching. The proxy class must have a constructor with the remote proxy object as a parameter, such as public XxxServiceLocal(XxxService xxxService) Above 2.0.0
mock mock class/boolean False Service governance The mock class name. It’s called when the RPC is failed, such as timeout or IO exception. The mock class must carry a none parameter constructor. The difference between mock and local proxy is that local proxy is always invoked before RPC but mock is invoked only when exception after RPC. Above 1.0.13
cache cache string/boolean False Service governance lru, threadlocal, jcache等Using RPC parameters as the key to cache the result. lru, threadlocal and jcache are available. Above 2.1.0
validation validation boolean False Service governance Enable JSR303 annotation validation. If true, it will validate the method parameters' annotations. Above 2.1.0
proxy proxy boolean False javassist Performance optimize The proxy implement, jdk/javassist are available. Above 2.0.2
client client string False Performance optimize The transport type of the client, such as netty and mina for dubbo protocol. Above 2.0.0
registry string False By default, it will merge all the service providers that getting from all registries Configuration association Get provider lists from the specified registry. It is the id value of the <dubbo:registry>, use , to separate multiple regsitries id. Above 2.0.0
owner owner string False Service governance The owner of the service. It’s used for service governance. Above 2.0.5
actives actives int False 0 Performance optimize The maximum concurrent calls per method per service of the consumer. Above 2.0.5
cluster cluster string False failover Performance optimize failover/failfast/failsafe/failback/forking are available. Above 2.0.5
filter reference.filter string False default Performance optimize The filter name of the RPC process of the reference, use , to separate multiple filter names. Above 2.0.5
listener invoker.listener string False default Performance optimize The listener name of the reference, use , to separate multiple listener names. Above 2.0.5
layer layer string False Service governance The biz layer of the service provider, such as biz, dao, intl:web and china:acton. Above 2.0.7
init init boolean False false Performance optimize If true, init the service reference when afterPropertiesSet()is invoked, or it will init later only when it is referenced and autowired. Above 2.0.10
protocol protocol string False Service governance Only invoke the providers with specified protocol, and ignore other protocol providers. Above 2.2.0