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 <tswstarpla...@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>