Service provider protocol configuration. The corresponding class is org.apache.dubbo.config.ProtocolConfig
. If you need to support multiple protocols, you could declare multiple <dubbo:protocol>
tags, and specify the protocol via protocol
property.
Attribute | Corresponding URL parameter | Type | Required | Default Value | Function | Description | Compatibility |
---|---|---|---|---|---|---|---|
id | string | False | dubbo | Configuration association | Bean Id of the protocol, can be referenced in <dubbo:service protocol=""> The default value is equal to the value of name attribute while id is not filled. If name value has already existed, it will add index to it’s suffix. | Above 2.0.5 | |
name | <protocol> | string | True | dubbo | Performance optimize | Protocol name | Above 2.0.5 |
port | <port> | int | False | The default port of dubbo protocol is 20880, rmi protocol is 1099, http and hessian protocol are 80;It will allocate the default port if port is not filled; It will allocate an unused port if port equals -1 . To ensure the ports scope is controllable, the port will increase based on the corresponding protocol default port after Dubbo 2.4.0+ | Service discovery | Service port | Above 2.0.5 |
host | <host> | string | False | Find local IP automatically | Service discovery | -The host name of services, to specify VIP and domain, or having multiple network cards. If null, it will find local IP automatically- It’s recommended to let Dubbo find local IP automatically | Above 2.0.5 |
threadpool | threadpool | string | False | fixed | Performance optimize | The type of Thread Pool, fixed/cached are available | Above 2.0.5 |
threads | threads | int | False | 200 | Performance optimize | The size of the services' Thread Pool(Fixed) | Above 2.0.5 |
iothreads | threads | int | False | The count of CPU + 1 | Performance optimize | The size of io Thread Pool(Fixed) | Above 2.0.5 |
accepts | accepts | int | False | 0 | Performance optimize | The maximum connection count of the service provider | Above 2.0.5 |
payload | payload | int | False | 8388608(=8M) | Performance optimize | The length limit of request and response, unit is byte | Above 2.0.5 |
codec | codec | string | False | dubbo | Performance optimize | Protocol encoding | Above 2.0.5 |
serialization | serialization | string | False | The default serialization of dubbo protocol is hessian2, rmi protocol is java, http protocol is json | Performance optimize | Protocol serialization, It’s used when a protocol has multiple serializations. For example, dubbo protocol has 4 serializations, they are dubbo , hessian2 , java and compactedjava . | Above 2.0.5 |
accesslog | accesslog | string/boolean | False | Service discovery | true will write access log to logger. Specifying it to a log path, you can write access logs to special log file. | Above 2.0.5 | |
path | <path> | string | False | Service discovery | Context path, the prefix of the service path | Above 2.0.5 | |
transporter | transporter | string | False | The default value of dubbo protocol is netty | Performance optimize | The server and client implements of the protocol. For example, mina and netty for dubbo protocol. You can configure server or client side separately. | Above 2.0.5 |
server | server | string | False | The default value of dubbo protocol is netty, http protocol is servlet | Performance optimize | The server implement of the protocol. For example, mina and netty for dubbo ptotocol, jetty and servlet for http protocol. | Above 2.0.5 |
client | client | string | False | The default value of dubbo protocol is netty | Performance optimize | The client implement of the protocol. For example, mina and netty for dubbo protocol. | Above 2.0.5 |
dispatcher | dispatcher | string | False | The default value of dubbo protocol is all | Performance optimize | specify the thread model of the way to dispatching. Such as all , direct , message , execution , and connection for dubbo protocol. | Above 2.1.0 |
queues | queues | int | False | 0 | Performance optimize | The queue size of the Thread Pool. It’s recommended not to specify it in order to invoke other provides rather than queueing unless you have special requirement. | Above 2.0.5 |
charset | charset | string | False | UTF-8 | Performance optimize | Serialization encoding | Above 2.0.5 |
buffer | buffer | int | False | 8192 | Performance optimize | The buffer size of networking IO | Above 2.0.5 |
heartbeat | heartbeat | int | False | 0 | Performance optimize | Heartbeat interval. For long connection, it’s difficult to receive closing event while the physical layer is disconnected. So heartbeat is necessary to help checking the connection quality | Above 2.0.10 |
telnet | telnet | string | False | Service discovery | Supported telnet commands, use , to separate commands. | Above 2.0.5 | |
register | register | boolean | False | true | Service discovery | Whether registering the corresponding services to registry center | Above 2.0.8 |
contextpath | contextpath | String | False | Default value is an empty string | Service discovery | Above 2.0.6 |
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.