You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2018/07/25 02:32:43 UTC
[incubator-dubbo] branch master updated: Merge pull request #2114,
enable configuration of Consumer thread pool.
This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new ed4384a Merge pull request #2114, enable configuration of Consumer thread pool.
ed4384a is described below
commit ed4384a2e5ba4d047a3e73d666244b3f41521f5d
Author: tswstarplanet <ts...@163.com>
AuthorDate: Wed Jul 25 10:32:39 2018 +0800
Merge pull request #2114, enable configuration of Consumer thread pool.
Fixes #2013
---
.../org/apache/dubbo/config/ConsumerConfig.java | 48 ++++++++++++++++++++++
.../apache/dubbo/config/ConsumerConfigTest.java | 28 +++++++++++++
.../src/main/resources/META-INF/compat/dubbo.xsd | 20 +++++++++
.../src/main/resources/META-INF/dubbo.xsd | 20 +++++++++
4 files changed, 116 insertions(+)
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConsumerConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConsumerConfig.java
index 812d676..42d67f0 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConsumerConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConsumerConfig.java
@@ -31,6 +31,18 @@ public class ConsumerConfig extends AbstractReferenceConfig {
// networking framework client uses: netty, mina, etc.
private String client;
+ // consumer thread pool type: cached, fixed, limit, eager
+ private String threadpool;
+
+ // consumer threadpool core thread size
+ private Integer corethreads;
+
+ // consumer threadpool thread size
+ private Integer threads;
+
+ // consumer threadpool queue size
+ private Integer queues;
+
@Override
public void setTimeout(Integer timeout) {
super.setTimeout(timeout);
@@ -56,4 +68,40 @@ public class ConsumerConfig extends AbstractReferenceConfig {
public void setClient(String client) {
this.client = client;
}
+
+ public String getThreadpool() {
+ return threadpool;
+ }
+
+ public void setThreadpool(String threadpool) {
+ this.threadpool = threadpool;
+ }
+
+ public Boolean getDefault() {
+ return isDefault;
+ }
+
+ public Integer getCorethreads() {
+ return corethreads;
+ }
+
+ public void setCorethreads(Integer corethreads) {
+ this.corethreads = corethreads;
+ }
+
+ public Integer getThreads() {
+ return threads;
+ }
+
+ public void setThreads(Integer threads) {
+ this.threads = threads;
+ }
+
+ public Integer getQueues() {
+ return queues;
+ }
+
+ public void setQueues(Integer queues) {
+ this.queues = queues;
+ }
}
\ No newline at end of file
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ConsumerConfigTest.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ConsumerConfigTest.java
index a0b8ed7..b9a1a9a 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ConsumerConfigTest.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ConsumerConfigTest.java
@@ -50,4 +50,32 @@ public class ConsumerConfigTest {
consumer.setClient("client");
assertThat(consumer.getClient(), equalTo("client"));
}
+
+ @Test
+ public void testThreadpool() throws Exception {
+ ConsumerConfig consumer = new ConsumerConfig();
+ consumer.setThreadpool("fixed");
+ assertThat(consumer.getThreadpool(), equalTo("fixed"));
+ }
+
+ @Test
+ public void testCorethreads() throws Exception {
+ ConsumerConfig consumer = new ConsumerConfig();
+ consumer.setCorethreads(10);
+ assertThat(consumer.getCorethreads(), equalTo(10));
+ }
+
+ @Test
+ public void testThreads() throws Exception {
+ ConsumerConfig consumer = new ConsumerConfig();
+ consumer.setThreads(20);
+ assertThat(consumer.getThreads(), equalTo(20));
+ }
+
+ @Test
+ public void testQueues() throws Exception {
+ ConsumerConfig consumer = new ConsumerConfig();
+ consumer.setQueues(5);
+ assertThat(consumer.getQueues(), equalTo(5));
+ }
}
diff --git a/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/compat/dubbo.xsd b/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/compat/dubbo.xsd
index 209a8d4..30558cc 100644
--- a/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/compat/dubbo.xsd
+++ b/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/compat/dubbo.xsd
@@ -708,6 +708,26 @@
<xsd:documentation><![CDATA[ Transporter layer framework: netty mina.... ]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute name="threadpool" type="xsd:string" use="optional">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[ Consumer threadpool: cached, fixed, limited, eager]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="corethreads" type="xsd:string" use="optional">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[ The thread pool core threads size. ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="threads" type="xsd:string" use="optional">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[ The thread pool size. ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="queues" type="xsd:string" use="optional">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[ The thread pool queue size. ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
<xsd:anyAttribute namespace="##other" processContents="lax"/>
</xsd:extension>
</xsd:complexContent>
diff --git a/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/dubbo.xsd b/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/dubbo.xsd
index 4213228..adaa936 100644
--- a/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/dubbo.xsd
+++ b/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/dubbo.xsd
@@ -708,6 +708,26 @@
<xsd:documentation><![CDATA[ Transporter layer framework: netty mina.... ]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute name="threadpool" type="xsd:string" use="optional">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[ Consumer threadpool: cached, fixed, limited, eager]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="corethreads" type="xsd:string" use="optional">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[ The thread pool core threads size. ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="threads" type="xsd:string" use="optional">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[ The thread pool size. ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="queues" type="xsd:string" use="optional">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[ The thread pool queue size. ]]></xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
<xsd:anyAttribute namespace="##other" processContents="lax"/>
</xsd:extension>
</xsd:complexContent>