[incubator-servicecomb-website] branch asf-site updated (36d1ab3 -> e0d10fb)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from 36d1ab3 Publish the website add c008ad0 replace io.servicecomb to org.apache.servicecomb add 84bad27 fix version (0.5.0 -> 0.6.0-SNAPSHOT) add 25550b2 fix pr comment add 1eae694 check version add 722ceec fix pr comment add 10816bd update metrics docs for 1.0.0-m1 release add 3cee0d1 fix table style add c66223a fix small mistake add 39265cb update service center download url in setup-environment add cfa4a68 fix service center download url in setup-environment add ee03fed update metrics doc and resolve conflict add da90d48 add edge en doc new e0d10fb Merge branch 'master' into asf-site The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: _data/navigation.yml | 6 +- _docs/cn/distributed-tracing.md| 4 +- _docs/cn/flow-control.md | 2 +- _docs/cn/quick-start-bmi.md| 12 +- _docs/cn/quick-start-dataconsistency.md| 2 +- _docs/cn/service-management.md | 2 +- _docs/distributed-tracing.md | 4 +- _docs/flow-control.md | 2 +- _docs/quick-start-bmi.md | 12 +- _docs/quick-start-dataconsistency.md | 2 +- _docs/service-management.md| 2 +- _faqs/cn/faq.md| 6 +- _faqs/faq.md | 4 +- _posts/2017-06-15-linuxcon-workshop-demo.md| 4 +- _posts/2017-07-17-tracing-with-servicecomb.md | 4 +- _posts/2018-01-10-howto-upgrade-to-zipkin-v2.md| 12 +- _posts/cn/2017-06-15-linuxcon-workshop-demo.md | 4 +- _posts/cn/2017-07-17-tracing-with-servicecomb.md | 4 +- .../cn/2017-09-14-maven-dependency-management.md | 8 +- _users/application-boot-process.md | 2 +- _users/cn/application-boot-process.md | 2 +- _users/cn/communicate-protocol.md | 16 +- _users/cn/customized-tracing.md| 4 +- _users/cn/define-service-contract.md | 2 +- _users/cn/deployment.md| 10 +- _users/cn/develop-with-jax-rs.md | 8 +- _users/cn/develop-with-rest-template.md| 8 +- _users/cn/develop-with-rpc.md | 10 +- _users/cn/develop-with-springmvc.md| 8 +- _users/cn/develop-with-transparent-rpc.md | 10 +- _users/cn/distributed-tracing.md | 4 +- _users/cn/metrics-in-1.0.0-m1.md | 259 ++--- ...rics-integration-with-prometheus-in-1.0.0-m1.md | 75 +++--- ...-write-file-extension-and-sample-in-1.0.0-m1.md | 6 +- _users/cn/service-configurations.md| 8 +- _users/cn/service-definition.md| 4 +- _users/cn/service-heartbeat.md | 2 +- _users/cn/setup-environment.md | 10 +- _users/cn/use-servicecomb-in-spring-boot.md| 4 +- _users/cn/use-tls.md | 4 +- _users/cn/zuul.md | 2 +- _users/communicate-protocol.md | 16 +- _users/customized-tracing.md | 4 +- _users/define-service-contract.md | 2 +- _users/deployment.md | 10 +- _users/develop-with-jax-rs.md | 8 +- _users/develop-with-rest-template.md | 8 +- _users/develop-with-rpc.md | 10 +- _users/develop-with-springmvc.md | 8 +- _users/develop-with-transparent-rpc.md | 10 +- _users/distributed-tracing.md | 4 +- _users/edge-in-1.0.0-m1.md | 99 _users/faq.md | 4 +- _users/metrics-in-1.0.0-m1.md | 248 +--- ...rics-integration-with-prometheus-in-1.0.0-m1.md | 73 +++--- _users/service-configurations.md | 8 +- _users/service-definition.md | 4 +- _users/service-heartbeat.md| 2 +- _users/setup-environment.md| 16 +- _users/use-servicecomb-in-spring-boot.md | 6 +- _users/use-tls.md | 4 +- _users/zuul.md
[incubator-servicecomb-website] 01/02: fix style
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit cded6aef8bd30c207e66cdf7c33ca831e25d5c6e Author: zhengyangyong AuthorDate: Wed Apr 4 16:14:18 2018 +0800 fix style Signed-off-by: zhengyangyong --- _users/cn/metrics-in-1.0.0-m1.md | 20 ...etrics-integration-with-prometheus-in-1.0.0-m1.md | 2 ++ _users/edge-in-1.0.0-m1.md | 2 +- _users/metrics-in-1.0.0-m1.md| 20 +--- ...etrics-integration-with-prometheus-in-1.0.0-m1.md | 7 +-- 5 files changed, 33 insertions(+), 18 deletions(-) diff --git a/_users/cn/metrics-in-1.0.0-m1.md b/_users/cn/metrics-in-1.0.0-m1.md index bd08c41..124cf97 100644 --- a/_users/cn/metrics-in-1.0.0-m1.md +++ b/_users/cn/metrics-in-1.0.0-m1.md @@ -251,8 +251,10 @@ public class OrderController { } ``` -注意事项: +注意事项: + 1. 通过MonitorManager获取Monitor传递name和tag数组,最终输出的ID是它们连接后的字符串,所以请保持唯一性,上面的例子输出的Metrics为: + ```java Map metrics = MonitorManager.getInstance().measure(); @@ -264,17 +266,19 @@ Map metrics = MonitorManager.getInstance().measure(); ``` 2. MonitorManager获取Monitor的方法均为**获取或创建**,因此多次传递相同的name和tag数组返回的是同一个计数器: + ```java -Counter counter1 = MonitorManager.getInstance().getCounter("订单数量", "商品名", "levis jeans", "型号", "512"); -Counter counter2 = MonitorManager.getInstance().getCounter("订单数量", "商品名", "levis jeans", "型号", "512"); +Counter counter1 = MonitorManager.getInstance().getCounter("订单数量", "商品名", "levis jeans", "型号", "512"); +Counter counter2 = MonitorManager.getInstance().getCounter("订单数量", "商品名", "levis jeans", "型号", "512"); -counter1.increment(); -counter2.increment(); +counter1.increment(); +counter2.increment(); -Assert.assertEquals(2,counter1.getValue()); -Assert.assertEquals(2,counter2.getValue()); - Assert.assertEquals(2.0,MonitorManager.getInstance().measure().get("订单数量(商品名=levis jeans,型号=512)"),0); +Assert.assertEquals(2,counter1.getValue()); +Assert.assertEquals(2,counter2.getValue()); +Assert.assertEquals(2.0,MonitorManager.getInstance().measure().get("订单数量(商品名=levis jeans,型号=512)"),0); ``` + **获取Monitor的方法性能较低,请在初始化阶段一次获取所需的Monitor,然后将它们缓存起来,请参照前面OrderController的做法。** **提示:Servo已经被Netflix标记为DEPRECATED,我们将在1.0.0-m2中使用Netflix spectator替换,扩展自定义Metrics的方式会有调整** diff --git a/_users/cn/metrics-integration-with-prometheus-in-1.0.0-m1.md b/_users/cn/metrics-integration-with-prometheus-in-1.0.0-m1.md index b5100dc..63fc23b 100644 --- a/_users/cn/metrics-integration-with-prometheus-in-1.0.0-m1.md +++ b/_users/cn/metrics-integration-with-prometheus-in-1.0.0-m1.md @@ -87,6 +87,7 @@ scrape_configs: ### 验证输出 Prometheus Simple HTTP Server使用/metrics作为默认URL,metrics-prometheus会使用9696作为默认端口,微服务启动后你可以使用http://localhost:9696/metrics 访问它。 + 使用Prometheus Simple HTTP Server接口发布的数据是Prometheus采集的标准格式: ```text # HELP ServiceComb Metrics ServiceComb Metrics @@ -114,6 +115,7 @@ servicecomb_invocation_calculator_calculatorRestEndpoint_calculate{role="produce 如何在Grafana中添加Prometheus作为数据源请参考[这篇文章](https://prometheus.io/docs/visualization/grafana/)。 ## 运行效果 配置好Prometheus并启动了微服务之后,就可以打开Prometheus Web界面(默认地址是http://localhost:9090/ ),在Metrics列表中看到ServiceComb开头的Java Chassis Metrics,如下图所示: + ![MetricsInPrometheus](/assets/images/MetricsInPrometheus.png) 为了能够达到更好的查询效果,在Grafana中添加Prometheus作为数据源,通过Grafana查询数据如下图示: diff --git a/_users/edge-in-1.0.0-m1.md b/_users/edge-in-1.0.0-m1.md index 4bd689a..7429f56 100644 --- a/_users/edge-in-1.0.0-m1.md +++ b/_users/edge-in-1.0.0-m1.md @@ -92,7 +92,7 @@ Edge Service use SPI(Service Provider Interface) to load custom VertxHttpDispatc Edge Service always use to provide monitoring, resiliency, security, and more, not only dynamic routing. We recommend extend custom handlers, there is an example named AuthHandler in demo-edge. ## Other Reference -In demo/demo-edge we had provided a simple demo to show abilities of Edge Service: +In demo/demo-edge we had provided a simple demo to show abilities of Edge Service: 1. edge-service:Edge Service, include AuthHandler; 2. authentication:Simulate authentication, accept requests from AuthHandler; 3. business-x.x.x:Simulate multi-version business instances; diff --git a/_users/metrics-in-1.0.0-m1.md b/_users/metrics-in-1.0.0-m1.md index f46d845..16af428 100644 --- a/_users/metrics-in-1.0.0-m1.md +++ b/_users/metrics-in-1.0.0-m1.md @@ -200,6 +200,7 @@ Metrics data will output as Map,in order to let user easier fetch //get K3=30 Metric from node node.getChildrenNode("1").getChildrenNode("20").getFirstM
[incubator-servicecomb-website] 02/02: fix style
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit f77cc474bd06b77ed8bc419e88b49d0f858c043d Author: zhengyangyong AuthorDate: Wed Apr 4 17:11:15 2018 +0800 fix style Signed-off-by: zhengyangyong --- _users/cn/metrics-in-1.0.0-m1.md | 4 ++-- _users/metrics-in-1.0.0-m1.md| 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/_users/cn/metrics-in-1.0.0-m1.md b/_users/cn/metrics-in-1.0.0-m1.md index 124cf97..dcbbf1e 100644 --- a/_users/cn/metrics-in-1.0.0-m1.md +++ b/_users/cn/metrics-in-1.0.0-m1.md @@ -253,7 +253,7 @@ public class OrderController { 注意事项: -1. 通过MonitorManager获取Monitor传递name和tag数组,最终输出的ID是它们连接后的字符串,所以请保持唯一性,上面的例子输出的Metrics为: +1.通过MonitorManager获取Monitor传递name和tag数组,最终输出的ID是它们连接后的字符串,所以请保持唯一性,上面的例子输出的Metrics为: ```java Map metrics = MonitorManager.getInstance().measure(); @@ -265,7 +265,7 @@ Map metrics = MonitorManager.getInstance().measure(); // 生成订单(统计项=最大生成时间,单位=MILLISECONDS) ``` -2. MonitorManager获取Monitor的方法均为**获取或创建**,因此多次传递相同的name和tag数组返回的是同一个计数器: +2.MonitorManager获取Monitor的方法均为**获取或创建**,因此多次传递相同的name和tag数组返回的是同一个计数器: ```java Counter counter1 = MonitorManager.getInstance().getCounter("订单数量", "商品名", "levis jeans", "型号", "512"); diff --git a/_users/metrics-in-1.0.0-m1.md b/_users/metrics-in-1.0.0-m1.md index 16af428..f591706 100644 --- a/_users/metrics-in-1.0.0-m1.md +++ b/_users/metrics-in-1.0.0-m1.md @@ -254,7 +254,7 @@ public class OrderController { Notice: -1. Metric ID is join name and all tags that pass to MonitorManager when getting monitor,so please keep uniqueness,metrics output of front example are: +1.Metric ID is join name and all tags that pass to MonitorManager when getting monitor,so please keep uniqueness,metrics output of front example are: ```java Map metrics = MonitorManager.getInstance().measure(); @@ -266,7 +266,7 @@ Map metrics = MonitorManager.getInstance().measure(); // orderGenerated(statistic=max,unit=MILLISECONDS) ``` -2. All get monitor method in MonitorManager act as **get or new**,so use same name and tags will return same one monitor: +2.All get monitor method in MonitorManager act as **get or new**,so use same name and tags will return same one monitor: ```java Counter counter1 = MonitorManager.getInstance().getCounter("orderGenerated", "product", "levis jeans", "model", "512"); -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch master updated (da90d48 -> f77cc47)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from da90d48 add edge en doc new cded6ae fix style new f77cc47 fix style The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: _users/cn/metrics-in-1.0.0-m1.md | 24 +- ...rics-integration-with-prometheus-in-1.0.0-m1.md | 2 ++ _users/edge-in-1.0.0-m1.md | 2 +- _users/metrics-in-1.0.0-m1.md | 24 ++ ...rics-integration-with-prometheus-in-1.0.0-m1.md | 7 +-- 5 files changed, 37 insertions(+), 22 deletions(-) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 01/02: Merge branch 'master' into asf-site
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 11372f04f577375ebf2b2d790dbf267ffd06 Merge: 2464a75 f77cc47 Author: Willem Jiang AuthorDate: Sat Apr 7 22:09:07 2018 +0800 Merge branch 'master' into asf-site _users/cn/metrics-in-1.0.0-m1.md | 24 +- ...rics-integration-with-prometheus-in-1.0.0-m1.md | 2 ++ _users/edge-in-1.0.0-m1.md | 2 +- _users/metrics-in-1.0.0-m1.md | 24 ++ ...rics-integration-with-prometheus-in-1.0.0-m1.md | 7 +-- 5 files changed, 37 insertions(+), 22 deletions(-) diff --cc _users/cn/metrics-integration-with-prometheus-in-1.0.0-m1.md index 315ba99,63fc23b..d0fbfef mode 100755,100644..100755 --- a/_users/cn/metrics-integration-with-prometheus-in-1.0.0-m1.md +++ b/_users/cn/metrics-integration-with-prometheus-in-1.0.0-m1.md -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch asf-site updated (2464a75 -> 33072f9)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from 2464a75 Publish the website add cded6ae fix style add f77cc47 fix style new 11372f0 Merge branch 'master' into asf-site new 33072f9 Publish the website The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: _users/cn/metrics-in-1.0.0-m1.md | 24 ++- ...rics-integration-with-prometheus-in-1.0.0-m1.md | 2 + _users/edge-in-1.0.0-m1.md | 2 +- _users/metrics-in-1.0.0-m1.md | 24 +++ ...rics-integration-with-prometheus-in-1.0.0-m1.md | 7 +++- content/cn/users/metrics-in-1.0.0-m1/index.html| 46 +++-- .../index.html | 10 +++-- content/feed.xml | 2 +- content/sitemap.xml| 2 +- content/users/edge-in-1.0.0-m1/index.html | 2 +- content/users/metrics-in-1.0.0-m1/index.html | 48 -- .../index.html | 15 --- 12 files changed, 105 insertions(+), 79 deletions(-) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 02/02: Publish the website
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 33072f951511e56661a71a2738bc4f8ee64d133e Author: Willem Jiang AuthorDate: Sat Apr 7 22:11:05 2018 +0800 Publish the website --- content/cn/users/metrics-in-1.0.0-m1/index.html| 46 +++-- .../index.html | 10 +++-- content/feed.xml | 2 +- content/sitemap.xml| 2 +- content/users/edge-in-1.0.0-m1/index.html | 2 +- content/users/metrics-in-1.0.0-m1/index.html | 48 -- .../index.html | 15 --- 7 files changed, 68 insertions(+), 57 deletions(-) diff --git a/content/cn/users/metrics-in-1.0.0-m1/index.html b/content/cn/users/metrics-in-1.0.0-m1/index.html index f01b1c4..3bbb830 100644 --- a/content/cn/users/metrics-in-1.0.0-m1/index.html +++ b/content/cn/users/metrics-in-1.0.0-m1/index.html @@ -1032,31 +1032,33 @@ name包括: 注意事项: - - 通过MonitorManager获取Monitor传递name和tag数组,最终输出的ID是它们连接后的字符串,所以请保持唯一性,上面的例子输出的Metrics为: -```java -Map<String,Double> metrics = MonitorManager.getInstance().measure(); - -//metrics的keySet()将包含: -// 订单数量(商品名=levis jeans,型号=512) -// 生成订单(统计项=事务每秒) -// 生成订单(统计项=平均生成时间,单位=MILLISECONDS) -// 生成订单(统计项=最大生成时间,单位=MILLISECONDS) - -2. MonitorManager获取Monitor的方法均为**获取或创建**,因此多次传递相同的name和tag数组返回的是同一个计数器: -```java -Counter counter1 = MonitorManager.getInstance().getCounter("订单数量", "商品名", "levis jeans", "型号", "512"); -Counter counter2 = MonitorManager.getInstance().getCounter("订单数量", "商品名", "levis jeans", "型号", "512"); - -counter1.increment(); -counter2.increment(); - -Assert.assertEquals(2,counter1.getValue()); -Assert.assertEquals(2,counter2.getValue()); - Assert.assertEquals(2.0,MonitorManager.getInstance().measure().get("订单数量(商品名=levis jeans,型号=512)"),0); +1.通过MonitorManager获取Monitor传递name和tag数组,最终输出的ID是它们连接后的字符串,所以请保持唯一性,上面的例子输出的Metrics为: + +Map<String,Double> metrics = MonitorManager.getInstance().measure(); + +//metrics的keySet()将包含: +//订单数量(商品名=levis jeans,型号=512) +//生成订单(统计项=事务每秒) +//生成订单(统计项=平均生成时间,单位=MILLISECONDS) +//生成订单(统计项=最大生成时间,单位=MILLISECONDS) + +2.MonitorManager获取Monitor的方法均为获取或创建,因此多次传递相同的name和tag数组返回的是同一个计数器: + +Counter counter1 = MonitorManager.getInstance().getCounter("订单数量", "商品名", "levis jeans"Counter counter2 = MonitorManager.getInstance().getCounter("订单数量", "商品名", "levis jeans", "型号", counter1.increment(); +counter2.increment(); + +Assert.assertEquals(2,counter1.getValue()); +Assert.assertEquals(2,counter2.getValue()); +Assert.assertEquals(2.0,MonitorManager.getInstance().measure().get("订单数量(商品名=levis jeans,型号=512)"),0 + + 获取Monitor的方法性能较低,请在初始化阶段一次获取所需的Monitor,然后将它们缓存起来,请参照前面OrderController的做法。 提示:Servo已经被Netflix标记为DEPRECATED,我们将在1.0.0-m2中使用Netflix spectator替换,扩展自定义Metrics的方式会有调整 diff --git a/content/cn/users/metrics-integration-with-prometheus-in-1.0.0-m1/index.html b/content/cn/users/metrics-integration-with-prometheus-in-1.0.0-m1/index.html index 1e44547..2f4439b 100644 --- a/content/cn/users/metrics-integration-with-prometheus-in-1.0.0-m1/index.html +++ b/content/cn/users/metrics-integration-with-prometheus-in-1.0.0-m1/index.html @@ -718,8 +718,9 @@ Prometheus推荐Pull模式拉取Metrics数据,被监控微服务作为Producer 其中job_name: ‘servicecomb’即自定义的job配置,目标是本地微服务localhost:9696,关于prometheus.yml的配置更多信息可以参考https://prometheus.io/docs/prometheus/latest/configuration/configuration/";>这篇文章。 验证输出 -Prometheus Simple HTTP Server使用/metrics作为默认URL,metrics-prometheus会使用9696作为默认端口,微服务启动后你可以使用http://localhost:9696/metrics 访问它。 -使用Prometheus Simple HTTP Server接口发布的数据是Prometheus采集的标准格式: +Prometheus Simple HTTP Server使用/metrics作为默认URL,metrics-prometheus会使用9696作为默认端口,微服务启动后你可以使用http://localhost:9696/metrics 访问它。 + +使用Prometheus Simple HTTP Server接口发布的数据是Prometheus采集的标准格式: # HELP ServiceComb Metrics ServiceComb Metrics # TYPE ServiceComb Metrics untyped jvm{name="cpuRunningThreads",statistic="gauge",} 45.0 @@ -745,8 +746,9 @@ servicecomb_invocation_calculator_calculatorRestEndpoint_calculate{role="produce 配置Grafana(可选) 如何在Grafana中添加Prometheus作为数据源请参考https://prometheus.io/docs/visualization/grafana/";>这篇文章。 运行效果 -配置好Prometheus并启动了微服务之后,就可以打开Prometheus Web界面(默认地址是http://localhost:9090/ ),在Metrics列表中看到ServiceComb开头的Java Chassis Metrics,如下图所示: - +配置好Prometheus并启动了微服务之后,就可以打开Prometheus Web界面(默认地址是http://localhost:9090/ ),在Metrics列表中看到ServiceComb开头的Java Chassis Metrics,如下图所示: + + 为了能够达到更好的查询效果,在Grafana中添加Prometheus作为数据源,通过Grafana查询数据如下图示: diff --git a/content/
[incubator-servicecomb-website] 01/02: Add the Release guide for ServiceComb
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 23f1190cf05d0c8ea74f270fb539687ec556ea53 Author: asifdxtreme AuthorDate: Mon Apr 9 10:28:23 2018 +0530 Add the Release guide for ServiceComb --- _data/navigation.yml | 4 + _developers/release_guide.md | 226 +++ 2 files changed, 230 insertions(+) diff --git a/_data/navigation.yml b/_data/navigation.yml index f99055c..7ad9b42 100755 --- a/_data/navigation.yml +++ b/_data/navigation.yml @@ -127,6 +127,8 @@ t: url: /developers/use-jira/ - title: "Set Up Write Access for Committer" url: /developers/setup-committer-rights/ + - title: "How to Release in Apache" +url: /developers/release-guide/ faqs: - title: "FAQ" @@ -286,6 +288,8 @@ t: url: /cn/developers/use-jira/ - title: "设置代码仓库写权限" url: /cn/developers/setup-committer-rights/ + - title: "How to Release in Apache" +url: /cn/developers/release-guide/ faqs: - title: "常见问题" diff --git a/_developers/release_guide.md b/_developers/release_guide.md new file mode 100644 index 000..6bed3b2 --- /dev/null +++ b/_developers/release_guide.md @@ -0,0 +1,226 @@ +--- +title: "Release guide for ServiceComb" +lang: en +ref: release_guide +permalink: /developers/release-guide/ +excerpt: "Release guide for doing the releases in Apache" +last_modified_at: 2018-04-03T18:33:43+08:00 +author: Asif Siddiqui +tags: [release] +redirect_from: + - /theme-setup/ +--- + + +This Guide helps you to do the release in Apache for ServiceComb projects. + +## Pre-Requisite + +1. The CI for the project should be green. +2. Should have the version number for the project. +3. Should have Sign Key for signing the release, the keys should be published to public key server. + +## Major Steps for doing Service-Center Release + +***Make and Verify the Release*** + +1. Clone the service-center code. +``` +g...@github.com:apache/incubator-servicecomb-service-center.git +cd incubator-servicecomb-service-center +gvt restore +``` + +2. Create a Tag from the master branch based on the version number which needs to be released. + +3. Run RAT tool to ensure no license issues are there, follow the guide over [here](https://github.com/apache/incubator-servicecomb-service-center/tree/master/docs/release) + +4. Run the make_release.sh to make the release for windows and linux following the guide over [here](https://github.com/apache/incubator-servicecomb-service-center/tree/master/scripts/release). + +5. Last Step will make the releases in root folder. + +6. Run the releases of frontend and service-center in both linux and windows. + +7. Run the [integration test](https://github.com/apache/incubator-servicecomb-service-center/tree/master/integration) on the release. + +8. If all the test passes then send the release candidate to peers to test in different machines. + +9. Push the tag to master. + +***Sign the Release*** + +10. Once the tag is pushed then using the tag download the source code from git [tag](https://github.com/apache/incubator-servicecomb-service-center/tags). + +11. Sign the 3 releases(linux, windows, src) and checksum. + +12. Upload the release to dev/incubator/servicecomb Apache Svn. + +13. Download all the releases from SVN and verify the signature and checksum. + +***PPMC Approval*** + +14. Send the voting mail in ***d...@servicecomb.apache.org*** for PPMC approval. + +15. Wait for 72 hours or unless you get 3 +1 binding vote with no -1 vote. If you get even one -1 binding vote then fix the issue and start again from ***Step 1***. + +16. Publish the result of the vote in d...@servicecomb.apache.org. + +***IPMC approval*** + +17. Send the voting mail in ***gene...@incubator.apache.org*** for IPMC approval. + +18. Wait for 72 hours or unless you get 3 +1 binding vote with no -1 vote.If you get even one -1 binding vote then fix the issue and start again from ***Step 1*** + +19. Publish the result of the vote in gene...@incubator.apache.org. + +***Announcements*** + +20. Upload the releases to release/incubator/servicecomb Apache Svn. + +21. Wait for 24 hours to replicate the release in all the mirrors. + +22. Upload the release page of ServiceComb Website. + +23. Send the announcement mails to d...@servicecomb.apache.org, gene...@incubator.apache.org, annou...@apache.org + + +## Major Steps for doing Java-Chassis Release +1. Clone the java-chassis code. +``` +git clone g...@github.com:apache/incubator-servicecomb-java-chassis.git +``` + +2. Cut the release using per command to replace all the versions in pom.xml files + +3. Create a Tag from the master branch using the version number. + +4. Clear all the redundant servicecomb releases
[incubator-servicecomb-website] 02/02: Add the Release guide for ServiceComb(cn)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 37ff16f1b50bf743f66e97a12585b91e555c3968 Author: asifdxtreme AuthorDate: Mon Apr 9 10:32:25 2018 +0530 Add the Release guide for ServiceComb(cn) --- _developers/{ => cn}/release_guide.md | 9 - _developers/release_guide.md | 7 +++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/_developers/release_guide.md b/_developers/cn/release_guide.md similarity index 98% copy from _developers/release_guide.md copy to _developers/cn/release_guide.md index 6bed3b2..443ab0a 100644 --- a/_developers/release_guide.md +++ b/_developers/cn/release_guide.md @@ -2,7 +2,7 @@ title: "Release guide for ServiceComb" lang: en ref: release_guide -permalink: /developers/release-guide/ +permalink: /cn/developers/release-guide/ excerpt: "Release guide for doing the releases in Apache" last_modified_at: 2018-04-03T18:33:43+08:00 author: Asif Siddiqui @@ -84,7 +84,12 @@ gvt restore 23. Send the announcement mails to d...@servicecomb.apache.org, gene...@incubator.apache.org, annou...@apache.org + + ## Major Steps for doing Java-Chassis Release + +***Make and Verify the Release*** + 1. Clone the java-chassis code. ``` git clone g...@github.com:apache/incubator-servicecomb-java-chassis.git @@ -152,6 +157,8 @@ mvn deploy -DskipTests -Prelease -Pdistribution -Ppassphrase --settings .travis. 26. Send the announcement mails to d...@servicecomb.apache.org, gene...@incubator.apache.org, annou...@apache.org + + ## Major Steps for doing Saga Release ***Make and Verify the Release*** diff --git a/_developers/release_guide.md b/_developers/release_guide.md index 6bed3b2..f6e0e50 100644 --- a/_developers/release_guide.md +++ b/_developers/release_guide.md @@ -84,7 +84,12 @@ gvt restore 23. Send the announcement mails to d...@servicecomb.apache.org, gene...@incubator.apache.org, annou...@apache.org + + ## Major Steps for doing Java-Chassis Release + +***Make and Verify the Release*** + 1. Clone the java-chassis code. ``` git clone g...@github.com:apache/incubator-servicecomb-java-chassis.git @@ -152,6 +157,8 @@ mvn deploy -DskipTests -Prelease -Pdistribution -Ppassphrase --settings .travis. 26. Send the announcement mails to d...@servicecomb.apache.org, gene...@incubator.apache.org, annou...@apache.org + + ## Major Steps for doing Saga Release ***Make and Verify the Release*** -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch master updated (f77cc47 -> 37ff16f)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from f77cc47 fix style new 23f1190 Add the Release guide for ServiceComb new 37ff16f Add the Release guide for ServiceComb(cn) The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: _data/navigation.yml| 4 + _developers/cn/release_guide.md | 233 _developers/release_guide.md| 233 3 files changed, 470 insertions(+) create mode 100644 _developers/cn/release_guide.md create mode 100644 _developers/release_guide.md -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 01/02: Merge branch 'master' into asf-site
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 6117132e40d32eb05f05d3bca00eab1a2b124de4 Merge: 33072f9 37ff16f Author: Willem Jiang AuthorDate: Mon Apr 9 14:42:01 2018 +0800 Merge branch 'master' into asf-site _data/navigation.yml| 4 + _developers/cn/release_guide.md | 233 _developers/release_guide.md| 233 3 files changed, 470 insertions(+) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 02/02: Push the website
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 02d38950a73991140e1955b3d41a693b749b3828 Author: Willem Jiang AuthorDate: Mon Apr 9 14:43:35 2018 +0800 Push the website --- content/cn/developers/index.html | 11 + content/cn/developers/release-guide/index.html | 804 + .../developers/setup-committer-rights/index.html | 11 + .../setup-develop-environment/index.html | 11 + content/cn/developers/submit-codes/index.html | 11 + content/cn/developers/use-jira/index.html | 11 + content/developers/index.html | 11 + content/developers/release-guide/index.html| 804 + .../developers/setup-committer-rights/index.html | 11 + .../setup-develop-environment/index.html | 11 + content/developers/submit-codes/index.html | 11 + content/developers/use-jira/index.html | 11 + content/feed.xml | 2 +- content/sitemap.xml| 126 ++-- 14 files changed, 1786 insertions(+), 60 deletions(-) diff --git a/content/cn/developers/index.html b/content/cn/developers/index.html index 234ffec..2159de7 100644 --- a/content/cn/developers/index.html +++ b/content/cn/developers/index.html @@ -311,6 +311,17 @@ + + + + + + How to Release in Apache + + + + + diff --git a/content/cn/developers/release-guide/index.html b/content/cn/developers/release-guide/index.html new file mode 100644 index 000..b59971f --- /dev/null +++ b/content/cn/developers/release-guide/index.html @@ -0,0 +1,804 @@ + + + + + + + + + + + + + + + + +Release guide for ServiceComb - Apache ServiceComb (incubating) + + + + + + + + + + + + + + + + + http://github.com/pages/apache/incubator-servicecomb-website/cn/developers/release-guide/";> + http://github.com/pages/apache/incubator-servicecomb-website/cn/developers/release-guide/";> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ + "@context" : "<a rel="nofollow" href="http://schema.org"">http://schema.org"</a>;, + "@type" : "Person", + "name" : "Apache ServiceComb (incubating)", + "url" : "<a rel="nofollow" href="http://github.com/pages/apache/incubator-servicecomb-website"">http://github.com/pages/apache/incubator-servicecomb-website"</a>;, + "sameAs" : null +} + + + + + + + + + + + + + + + + + + + + + document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js '; + +https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"</a>;> + + +https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"</a>;> + + +https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css"; integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous"> + +https://code.jquery.com/jquery-3.2.1.slim.min.js"</a>; integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"> +https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"</a>; integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"> +https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"</a>; integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"> + + + + + + + + + + + +https://fonts.cat.net/css?family=Roboto:400,500,700|Source+Code+Pro" rel="stylesheet"> + + + + + + + + + + + + + + + + + + + + + + +Quick Start + + + + + + + + +Users + + + + + + + + +Developers + + + + + + + + +Blogs + + +
[incubator-servicecomb-website] branch asf-site updated (33072f9 -> 02d3895)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from 33072f9 Publish the website add 23f1190 Add the Release guide for ServiceComb add 37ff16f Add the Release guide for ServiceComb(cn) new 6117132 Merge branch 'master' into asf-site new 02d3895 Push the website The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: _data/navigation.yml | 4 + _developers/cn/release_guide.md| 233 ++ _developers/release_guide.md | 233 ++ content/cn/developers/index.html | 11 + content/cn/developers/release-guide/index.html | 804 + .../developers/setup-committer-rights/index.html | 11 + .../setup-develop-environment/index.html | 11 + content/cn/developers/submit-codes/index.html | 11 + content/cn/developers/use-jira/index.html | 11 + content/developers/index.html | 11 + content/developers/release-guide/index.html| 804 + .../developers/setup-committer-rights/index.html | 11 + .../setup-develop-environment/index.html | 11 + content/developers/submit-codes/index.html | 11 + content/developers/use-jira/index.html | 11 + content/feed.xml | 2 +- content/sitemap.xml| 126 ++-- 17 files changed, 2256 insertions(+), 60 deletions(-) create mode 100644 _developers/cn/release_guide.md create mode 100644 _developers/release_guide.md create mode 100644 content/cn/developers/release-guide/index.html create mode 100644 content/developers/release-guide/index.html -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] branch master updated: [SCB-465] Start the build metrics of Saga in travis
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git The following commit(s) were added to refs/heads/master by this push: new 4630696 [SCB-465] Start the build metrics of Saga in travis 4630696 is described below commit 4630696e5f3f86b728aa80a12ad25b33af2f5319 Author: Daniel Qian AuthorDate: Sun Apr 8 15:31:20 2018 +0800 [SCB-465] Start the build metrics of Saga in travis --- .travis.yml | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9e11d69..e07fb5b 100755 --- a/.travis.yml +++ b/.travis.yml @@ -22,10 +22,15 @@ cache: language: java jdk: - oraclejdk8 +env: + # dummy profile + - SPRING_BOOT_PROFILE=spring-boot-1 + # use spring-boot-2 profile + - SPRING_BOOT_PROFILE=spring-boot-2 script: - set -e -- mvn clean install -Pjacoco -Pdocker coveralls:report -- mvn clean verify -f saga-demo -Pdemo -Pdocker -Ddocker.useColor=false -Ddocker.showLogs -- mvn clean verify -f acceptance-tests -Pdemo -Pdocker -Ddocker.useColor=false -Ddocker.showLogs +- mvn clean install -Pjacoco -Pdocker -P${SPRING_BOOT_PROFILE} coveralls:report +- mvn clean verify -f saga-demo -Pdemo -Pdocker -P${SPRING_BOOT_PROFILE} -Ddocker.useColor=false -Ddocker.showLogs +- mvn clean verify -f acceptance-tests -Pdemo -Pdocker -P${SPRING_BOOT_PROFILE} -Ddocker.useColor=false -Ddocker.showLogs after_success: - if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then bash -x scripts/deploy.sh ; fi -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] branch master updated: SCB-463 Clean up the spring boot2 setting and upgrade the version to 2.0.1
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git The following commit(s) were added to refs/heads/master by this push: new 89485bc SCB-463 Clean up the spring boot2 setting and upgrade the version to 2.0.1 89485bc is described below commit 89485bc1ace9b65b01ccc1f57faa8f3b4ce7bd8a Author: Willem Jiang AuthorDate: Fri Apr 6 10:23:00 2018 +0800 SCB-463 Clean up the spring boot2 setting and upgrade the version to 2.0.1 --- alpha/alpha-server/pom.xml | 2 +- omega/omega-spring-tx/pom.xml| 9 + .../omega/transaction/spring/TransactionInterceptionTest.java| 6 +++--- .../saga/omega/transaction/spring/TransactionalUserService.java | 2 +- pom.xml | 1 + saga-demo/pom.xml| 2 +- saga-persistence/saga-persistence-jpa/pom.xml| 2 +- 7 files changed, 17 insertions(+), 7 deletions(-) diff --git a/alpha/alpha-server/pom.xml b/alpha/alpha-server/pom.xml index 857068e..e1d6a8c 100644 --- a/alpha/alpha-server/pom.xml +++ b/alpha/alpha-server/pom.xml @@ -170,7 +170,7 @@ spring-boot-2 -2.0.0.RELEASE +${spring.boot2.version} diff --git a/omega/omega-spring-tx/pom.xml b/omega/omega-spring-tx/pom.xml index 8cfca67..9be4774 100644 --- a/omega/omega-spring-tx/pom.xml +++ b/omega/omega-spring-tx/pom.xml @@ -112,4 +112,13 @@ + + + spring-boot-2 + +${spring.boot2.version} + + + + diff --git a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java index 9fd2a7e..2ec42a5 100644 --- a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java +++ b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java @@ -136,7 +136,7 @@ public class TransactionInterceptionTest { toArray(messages) ); -User actual = userRepository.findOne(user.id()); +User actual = userRepository.findByUsername(user.username()); assertThat(actual, is(user)); } @@ -169,8 +169,8 @@ public class TransactionInterceptionTest { messageHandler.onReceive(globalTxId, newLocalTxId, globalTxId, compensationMethod, user); messageHandler.onReceive(globalTxId, anotherLocalTxId, localTxId, compensationMethod, anotherUser); -assertThat(userRepository.findOne(user.id()), is(nullValue())); -assertThat(userRepository.findOne(anotherUser.id()), is(nullValue())); +assertThat(userRepository.findByUsername(user.username()), is(nullValue())); +assertThat(userRepository.findByUsername(anotherUser.username()), is(nullValue())); assertArrayEquals( new String[]{ diff --git a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionalUserService.java b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionalUserService.java index 0a8cdfd..c98c6ea 100644 --- a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionalUserService.java +++ b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionalUserService.java @@ -41,6 +41,6 @@ class TransactionalUserService { } void delete(User user) { -userRepository.delete(user.id()); +userRepository.delete(user); } } diff --git a/pom.xml b/pom.xml index 3a0194d..3747ae1 100755 --- a/pom.xml +++ b/pom.xml @@ -47,6 +47,7 @@ 0.6.7 2.6.2 1.5.10.RELEASE +2.0.1.RELEASE Camden.SR6 0.5.0 4.3.7.RELEASE diff --git a/saga-demo/pom.xml b/saga-demo/pom.xml index 7b0e734..10f27db 100644 --- a/saga-demo/pom.xml +++ b/saga-demo/pom.xml @@ -115,7 +115,7 @@ spring-boot-2 -2.0.0.RELEASE +${spring.boot2.version} diff --git a/saga-persistence/saga-persistence-jpa/pom.xml b/saga-persistence/saga-persistence-jpa/pom.xml index f3c1cc2..7a52930 100644 --- a/saga-persistence/saga-persistence-jpa/pom.xml +++ b/saga-persistence/saga-persistence-jpa/pom.xml @@ -89,7 +89,7 @@ spring-boot-2 -2.0.0.RELEASE +${spring.boot2.version} -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] branch master updated: SCB-464 Upgrade to Java Chassis 1.0.0-m1
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git The following commit(s) were added to refs/heads/master by this push: new de101b7 SCB-464 Upgrade to Java Chassis 1.0.0-m1 de101b7 is described below commit de101b75c7fdf8a89829a63dc65899f454f5d306 Author: Yang Bo AuthorDate: Mon Apr 9 16:43:51 2018 +0800 SCB-464 Upgrade to Java Chassis 1.0.0-m1 --- omega/omega-transport/omega-transport-servicecomb/pom.xml | 2 +- .../saga/omega/transport/servicecomb/SagaConsumerHandler.java | 6 +++--- .../saga/omega/transport/servicecomb/SagaProviderHandler.java | 6 +++--- .../saga/omega/transport/servicecomb/SagaConsumerHandlerTest.java | 4 ++-- .../saga/omega/transport/servicecomb/SagaProviderHandlerTest.java | 4 ++-- pom.xml | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/omega/omega-transport/omega-transport-servicecomb/pom.xml b/omega/omega-transport/omega-transport-servicecomb/pom.xml index a37629b..18b9b51 100644 --- a/omega/omega-transport/omega-transport-servicecomb/pom.xml +++ b/omega/omega-transport/omega-transport-servicecomb/pom.xml @@ -31,7 +31,7 @@ - io.servicecomb + org.apache.servicecomb java-chassis-core ${java.chassis.version} provided diff --git a/omega/omega-transport/omega-transport-servicecomb/src/main/java/org/apache/servicecomb/saga/omega/transport/servicecomb/SagaConsumerHandler.java b/omega/omega-transport/omega-transport-servicecomb/src/main/java/org/apache/servicecomb/saga/omega/transport/servicecomb/SagaConsumerHandler.java index 8fd296f..5e0dcb2 100644 --- a/omega/omega-transport/omega-transport-servicecomb/src/main/java/org/apache/servicecomb/saga/omega/transport/servicecomb/SagaConsumerHandler.java +++ b/omega/omega-transport/omega-transport-servicecomb/src/main/java/org/apache/servicecomb/saga/omega/transport/servicecomb/SagaConsumerHandler.java @@ -27,9 +27,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import io.servicecomb.core.Handler; -import io.servicecomb.core.Invocation; -import io.servicecomb.swagger.invocation.AsyncResponse; +import org.apache.servicecomb.core.Handler; +import org.apache.servicecomb.core.Invocation; +import org.apache.servicecomb.swagger.invocation.AsyncResponse; public class SagaConsumerHandler implements Handler { diff --git a/omega/omega-transport/omega-transport-servicecomb/src/main/java/org/apache/servicecomb/saga/omega/transport/servicecomb/SagaProviderHandler.java b/omega/omega-transport/omega-transport-servicecomb/src/main/java/org/apache/servicecomb/saga/omega/transport/servicecomb/SagaProviderHandler.java index d639db5..73a7394 100644 --- a/omega/omega-transport/omega-transport-servicecomb/src/main/java/org/apache/servicecomb/saga/omega/transport/servicecomb/SagaProviderHandler.java +++ b/omega/omega-transport/omega-transport-servicecomb/src/main/java/org/apache/servicecomb/saga/omega/transport/servicecomb/SagaProviderHandler.java @@ -27,9 +27,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import io.servicecomb.core.Handler; -import io.servicecomb.core.Invocation; -import io.servicecomb.swagger.invocation.AsyncResponse; +import org.apache.servicecomb.core.Handler; +import org.apache.servicecomb.core.Invocation; +import org.apache.servicecomb.swagger.invocation.AsyncResponse; public class SagaProviderHandler implements Handler { diff --git a/omega/omega-transport/omega-transport-servicecomb/src/test/java/org/apache/servicecomb/saga/omega/transport/servicecomb/SagaConsumerHandlerTest.java b/omega/omega-transport/omega-transport-servicecomb/src/test/java/org/apache/servicecomb/saga/omega/transport/servicecomb/SagaConsumerHandlerTest.java index d23ad2b..edf2c79 100644 --- a/omega/omega-transport/omega-transport-servicecomb/src/test/java/org/apache/servicecomb/saga/omega/transport/servicecomb/SagaConsumerHandlerTest.java +++ b/omega/omega-transport/omega-transport-servicecomb/src/test/java/org/apache/servicecomb/saga/omega/transport/servicecomb/SagaConsumerHandlerTest.java @@ -31,8 +31,8 @@ import org.apache.servicecomb.saga.omega.context.OmegaContext; import org.junit.Before; import org.junit.Test; -import io.servicecomb.core.Invocation; -import io.servicecomb.swagger.invocation.AsyncResponse; +import org.apache.servicecomb.core.Invocation; +import org.apache.servicecomb.swagger.invocation.AsyncResponse; public class SagaConsumerHandlerTest { diff --git a/omega/omega-transport/omega-transport-servicecomb/src/test/java/org/apache/servicecomb/saga/omega/transport/servicecomb/SagaProviderHandlerTest.java b/omega/omega-transport/omega-transport
[incubator-servicecomb-saga] branch master updated: SCB-480 Update to add the timeout in the GrpcTxEvent
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git The following commit(s) were added to refs/heads/master by this push: new 3458114 SCB-480 Update to add the timeout in the GrpcTxEvent 3458114 is described below commit 3458114206ae271c1242647c79e26651381d9723 Author: Zheng Feng AuthorDate: Thu Apr 12 17:10:19 2018 +0800 SCB-480 Update to add the timeout in the GrpcTxEvent --- .../servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java | 1 + 1 file changed, 1 insertion(+) diff --git a/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java b/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java index 4af0773..5712f57 100644 --- a/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java +++ b/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java @@ -101,6 +101,7 @@ public class GrpcClientMessageSender implements MessageSender { .setLocalTxId(event.localTxId()) .setParentTxId(event.parentTxId() == null ? "" : event.parentTxId()) .setType(event.type().name()) +.setTimeout(event.timeout()) .setCompensationMethod(event.compensationMethod()) .setPayloads(payloads); -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] branch master updated: [SCB-300] Update to add the timeout scenario feature in the acceptance-tests
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git The following commit(s) were added to refs/heads/master by this push: new f2f8a25 [SCB-300] Update to add the timeout scenario feature in the acceptance-tests f2f8a25 is described below commit f2f8a2580a562b63e80948b954e7ad5253668458 Author: Zheng Feng AuthorDate: Thu Apr 12 17:02:03 2018 +0800 [SCB-300] Update to add the timeout scenario feature in the acceptance-tests --- .../org/apache/servicecomb/saga/PackStepdefs.java | 28 +++-- .../src/test/resources/booking_timeout.btm | 13 ++ .../test/resources/pack_timeout_scenario.feature | 47 ++ .../saga/demo/pack/booking/BookingController.java | 9 - 4 files changed, 92 insertions(+), 5 deletions(-) diff --git a/acceptance-tests/acceptance-pack/src/test/java/org/apache/servicecomb/saga/PackStepdefs.java b/acceptance-tests/acceptance-pack/src/test/java/org/apache/servicecomb/saga/PackStepdefs.java index e256be9..857bb9f 100644 --- a/acceptance-tests/acceptance-pack/src/test/java/org/apache/servicecomb/saga/PackStepdefs.java +++ b/acceptance-tests/acceptance-pack/src/test/java/org/apache/servicecomb/saga/PackStepdefs.java @@ -26,6 +26,7 @@ import static org.hamcrest.core.Is.is; import java.lang.invoke.MethodHandles; import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.function.Consumer; @@ -51,6 +52,8 @@ public class PackStepdefs implements En { private static final Consumer[]> NO_OP_CONSUMER = (dataMap) -> { }; + private static final Map submits = new HashMap<>(); + public PackStepdefs() { Given("^Car Service is up and running$", () -> { probe(System.getProperty(CAR_SERVICE_ADDRESS)); @@ -69,12 +72,10 @@ public class PackStepdefs implements En { }); Given("^Install the byteman script ([A-Za-z0-9_\\.]+) to ([A-Za-z]+) Service$", (String script, String service) -> { - String address = System.getProperty("byteman.address"); - String port = System.getProperty(service.toLowerCase() + ".byteman.port"); - log.info("Install the byteman script {} to {} service with {}:{}", script, service, address, port); - Submit bm = new Submit(address, Integer.parseInt(port)); + log.info("Install the byteman script {} to {} service", script, service); List rules = new ArrayList<>(); rules.add("target/test-classes/" + script); + Submit bm = getBytemanSubmit(service); bm.addRulesFromFiles(rules); }); @@ -123,6 +124,14 @@ public class PackStepdefs implements En { .delete(System.getProperty(ALPHA_REST_ADDRESS) + "/events") .then() .statusCode(is(200)); + +for (Submit bm : submits.values()) { + try { +bm.deleteAllRules(); + } catch (Exception e) { +log.warn("Fail to delete the byteman rules " + e); + } +} } @SuppressWarnings("unchecked") @@ -178,4 +187,15 @@ public class PackStepdefs implements En { .statusCode(is(200)); } + private Submit getBytemanSubmit(String service) { +if (submits.containsKey(service)) { + return submits.get(service); +} else { + String address = System.getProperty("byteman.address"); + String port = System.getProperty(service.toLowerCase() + ".byteman.port"); + Submit bm = new Submit(address, Integer.parseInt(port)); + submits.put(service, bm); + return bm; +} + } } diff --git a/acceptance-tests/acceptance-pack/src/test/resources/booking_timeout.btm b/acceptance-tests/acceptance-pack/src/test/resources/booking_timeout.btm new file mode 100644 index 000..efc6902 --- /dev/null +++ b/acceptance-tests/acceptance-pack/src/test/resources/booking_timeout.btm @@ -0,0 +1,13 @@ +## +# rules to timeout the booking after invoking the services +# +### + +RULE sleep when postBooking until timeout happens +CLASS org.apache.servicecomb.saga.demo.pack.booking.BookingController +METHOD postBooking +AT ENTRY +IF TRUE +DO debug("delay 10s until the booking timeout"), + Thread.sleep(1) +ENDRULE diff --git a/acceptance-tests/acceptance-pack/src/test/resources/pack_timeout_scenario.feature b/acceptance-tests/acceptance-pack/src/test/resources/pack_timeout_scenario.feature new file mode 100644 index 000..2a3e59d --- /dev/null +++ b/acceptance-tests/acceptance-pack/src/test/resources/pack_timeout_scenario.feature @@ -0,0 +1,47 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor
[incubator-servicecomb-saga] branch master updated: SCB-300 Added the license header for the booking_timeout.btm file.
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git The following commit(s) were added to refs/heads/master by this push: new 73af349 SCB-300 Added the license header for the booking_timeout.btm file. 73af349 is described below commit 73af3490c799036d74a22e01bba904af64c2a302 Author: Willem Jiang AuthorDate: Fri Apr 13 09:11:08 2018 +0800 SCB-300 Added the license header for the booking_timeout.btm file. --- .../src/test/resources/booking_timeout.btm| 15 +++ 1 file changed, 15 insertions(+) diff --git a/acceptance-tests/acceptance-pack/src/test/resources/booking_timeout.btm b/acceptance-tests/acceptance-pack/src/test/resources/booking_timeout.btm index efc6902..a41bf98 100644 --- a/acceptance-tests/acceptance-pack/src/test/resources/booking_timeout.btm +++ b/acceptance-tests/acceptance-pack/src/test/resources/booking_timeout.btm @@ -1,3 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + ## # rules to timeout the booking after invoking the services # -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch master updated: add how to deploy service center in cluster mode (#60)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/master by this push: new 7034419 add how to deploy service center in cluster mode (#60) 7034419 is described below commit 7034419c385e59aa01bb9c2c3b85fb1d0439a4f9 Author: zhengyangyong AuthorDate: Fri Apr 13 16:10:05 2018 +0800 add how to deploy service center in cluster mode (#60) * add how to deploy service center in cluster mode Signed-off-by: zhengyangyong * fix style Signed-off-by: zhengyangyong * add some content about etcd cluster Signed-off-by: zhengyangyong --- _users/cn/setup-environment.md | 130 +++- _users/setup-environment.md| 133 +++-- 2 files changed, 255 insertions(+), 8 deletions(-) diff --git a/_users/cn/setup-environment.md b/_users/cn/setup-environment.md index 11d9edb..749f5a5 100644 --- a/_users/cn/setup-environment.md +++ b/_users/cn/setup-environment.md @@ -4,7 +4,7 @@ lang: cn ref: setup-environment permalink: /cn/users/setup-environment/ excerpt: "环境配置" -last_modified_at: 2017-09-03T10:01:43-04:00 +last_modified_at: 2018-04-13T10:01:43-04:00 --- {% include toc %} @@ -19,8 +19,9 @@ last_modified_at: 2017-09-03T10:01:43-04:00 * 安装IntelliJ Idea IDE,详情可参考[IntelliJ安装教程](https://www.jetbrains.com/help/idea/installing-and-launching.html){:target="_blank"}。 -## 运行*Service Center* -运行Service Center有以下两种方式: +## 运行 Service Center +### 运行 Stand-alone Service Center +运行Stand-alone Service Center有以下两种方式: 1. 以可执行文件的方式运行 @@ -61,3 +62,126 @@ docker run -d -p 30100:30100 servicecomb/service-center:latest **注意事项:** 服务注册中心运行后绑定的IP为:*http://127.0.0.1:30100*。 如使用Docker Toolbox,可通过 `docker-machine ip` 获取服务绑定IP地址。 {: .notice--warning} + +### 运行 Service Center 集群 +Service Center是一个无状态的应用因此它很容易以集群的模式部署提供HA。 + +它依赖[etcd](https://github.com/coreos/etcd)存储微服务的信息,etcd既支持standalone模式运行也支持[集群模式](https://coreos.com/etcd/docs/latest/op-guide/clustering.html)运行。 + +提示:我们强烈推荐etcd以集群模式运行,这样才能从整体上保证Service Center的HA能力;另外在这篇[文档](https://coreos.com/etcd/docs/latest/op-guide/runtime-configuration.html)中我们可以了解到etcd需要部署至少三个节点才能够避免Majority Failure。 + + +部署了standalone或集群etcd后,你可以按下面的步骤部署Service Center集群,我们以在两台VM上各部署一个Service Center实例为例: + +| Name| Address | +| :-: | :-: | +| VM1 | 10.12.0.1 | +| VM2 | 10.12.0.2 | + +我们假定你的etcd运行在http://10.12.0.4:2379 上: + +# 第一步 +在所有的VM上从[ServiceComb官网](https://github.com/apache/incubator-servicecomb-service-center/releases)下载最新版本的Service Center并解压: + +```bash +tar -xvf service-center-X.X.X-linux-amd64.tar.gz +``` + +提示:请不要按stand-alone提示的方式执行start-service-center.sh,因为这样会启动内置的etcd。 + +# 第二步 +编辑ServcieComb的配置文件,修改ip/port以及etcd地址: +## VM1 +```bash +vi conf/app.conf +``` + +修改下面的配置 : +```text +httpaddr = 10.12.0.1 +manager_cluster = "10.12.0.4:2379" +``` + +然后启动Service Center : +```bash +./service-center +``` + +## VM2 +```bash +vi conf/app.conf +``` + +修改下面的配置 : +```text +httpaddr = 10.12.0.2 +manager_cluster = "10.12.0.4:2379" +``` + +然后启动Service Center : +```bash +./service-center +``` + +提示:在`manger_cluster`配置中你可以填写多个在etcd群集中的etcd实例地址: +``` +manager_cluster= "10.12.0.4:2379,10.12.0.X:2379,10.12.0.X:2379" +``` + +# 第三步 +验证你部署完毕的Service Center实例 : +```bash +curl http://10.12.0.1:30101/v4/default/registry/health +``` +将会返回下面的内容 : +```json +{ +"instances": [ +{ +"instanceId": "d6e9e976f9df11e7a72b286ed488ff9f", +"serviceId": "d6e99f4cf9df11e7a72b286ed488ff9f", +"endpoints": [ +"rest://10.12.0.1:30100" +], +"hostName": "service_center_10_12_0_1", +"status": "UP", +"healthCheck": { +"mode": "push", +"interval": 30, +"times": 3 +}, +"timestamp": "1516012543", +"modTimestamp": "1516012543" +}, +{ +"instanceId": "16d4cb35f9e011e7a58a286ed488ff9f", +"serviceId": "d6e99f4cf9df11e7a72b286ed488ff9f", +"endpoints": [ +"rest://10.12.0.2:30100" +], +"hostName": "service_center_10_12_0_2", +"status": "UP", +"healthCheck": { +"mode": "push", +"interval": 30, +"times": 3 +}, +
[incubator-servicecomb-website] branch asf-site updated (02d3895 -> 09d02d3)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from 02d3895 Push the website add 7034419 add how to deploy service center in cluster mode (#60) new ce2246e Merge branch 'master' into asf-site new 09d02d3 Publish the website The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: _users/cn/setup-environment.md| 130 +- _users/setup-environment.md | 133 ++- content/cn/users/setup-environment/index.html | 148 - content/feed.xml | 2 +- content/sitemap.xml | 4 +- content/users/setup-environment/index.html| 151 +- 6 files changed, 548 insertions(+), 20 deletions(-) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 02/02: Publish the website
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 09d02d3c60d54292e1510b4c6cabfaa55cc53490 Author: Willem Jiang AuthorDate: Fri Apr 13 16:12:09 2018 +0800 Publish the website --- content/cn/users/setup-environment/index.html | 148 - content/feed.xml | 2 +- content/sitemap.xml | 4 +- content/users/setup-environment/index.html| 151 +- 4 files changed, 293 insertions(+), 12 deletions(-) diff --git a/content/cn/users/setup-environment/index.html b/content/cn/users/setup-environment/index.html index 78d8859..d7db46f 100644 --- a/content/cn/users/setup-environment/index.html +++ b/content/cn/users/setup-environment/index.html @@ -608,7 +608,7 @@ - + @@ -627,7 +627,11 @@ 安装Java开发环境 - 运行Service Center + 运行 Service Center + 运行 Stand-alone Service Center + 运行 Service Center 集群 + + @@ -650,8 +654,9 @@ -运行Service Center -运行Service Center有以下两种方式: +运行 Service Center +运行 Stand-alone Service Center +运行Stand-alone Service Center有以下两种方式: @@ -702,6 +707,141 @@ docker run -d -p 30100:30100 servicecomb/service-center:latest 注意事项: 服务注册中心运行后绑定的IP为:http://127.0.0.1:30100。 如使用Docker Toolbox,可通过 docker-machine ip 获取服务绑定IP地址。 +运行 Service Center 集群 +Service Center是一个无状态的应用因此它很容易以集群的模式部署提供HA。 + +它依赖https://github.com/coreos/etcd";>etcd存储微服务的信息,etcd既支持standalone模式运行也支持https://coreos.com/etcd/docs/latest/op-guide/clustering.html";>集群模式运行。 + +提示:我们强烈推荐etcd以集群模式运行,这样才能从整体上保证Service Center的HA能力;另外在这篇https://coreos.com/etcd/docs/latest/op-guide/runtime-configuration.html";>文档中我们可以了解到etcd需要部署至少三个节点才能够避免Majority Failure。 + +部署了standalone或集群etcd后,你可以按下面的步骤部署Service Center集群,我们以在两台VM上各部署一个Service Center实例为例: + + + + + Name + Address + + + + + VM1 + 10.12.0.1 + + + VM2 + 10.12.0.2 + + + + +我们假定你的etcd运行在http://10.12.0.4:2379 上: + +第一步 +在所有的VM上从https://github.com/apache/incubator-servicecomb-service-center/releases";>ServiceComb官网下载最新版本的Service Center并解压: + +tar -xvf service-center-X.X.X-linux-amd64.tar.gz + + + +提示:请不要按stand-alone提示的方式执行start-service-center.sh,因为这样会启动内置的etcd。 + +第二步 +编辑ServcieComb的配置文件,修改ip/port以及etcd地址: +VM1 +vi conf/app.conf + + + +修改下面的配置 : +httpaddr = 10.12.0.1 +manager_cluster = "10.12.0.4:2379" + + + +然后启动Service Center : +./service-center + + + +VM2 +vi conf/app.conf + + + +修改下面的配置 : +httpaddr = 10.12.0.2 +manager_cluster = "10.12.0.4:2379" + + + +然后启动Service Center : +./service-center + + + +提示:在manger_cluster配置中你可以填写多个在etcd群集中的etcd实例地址: +manager_cluster= "10.12.0.4:2379,10.12.0.X:2379,10.12.0.X:2379" + + + +第三步 +验证你部署完毕的Service Center实例 : +curl http://10.12.0.1:30101/v4/default/registry/health + + +将会返回下面的内容 : +{ +"instances": [ +{ +"instanceId": "d6e9e976f9df11e7a72b286ed488ff9f", +"serviceId": "d6e99f4cf9df11e7a72b286ed488ff9f", +"endpoints": [ +"rest://10.12.0.1:30100" +], +"hostName": "service_center_10_12_0_1", +"status": "UP", +"healthCheck": { +"mode": "push", +"interval": 30, +"times": 3 +}, +"timestamp": "1516012543", +"modTimestamp": "1516012543" +}, +{ +"instanceId": "16d4cb35f9e011e7a58a286ed488ff9f", +"serviceId": "d6e99f4cf9df11e7a72b286ed488ff9f", +"endpoints": [ +"rest://10.12.0.2:30100" +], +"hostName": "service_center_10_12_0_2", +"status": "UP", +"healthCheck": { +"mode": "push", +"interval": 30, +"times": 3 +}, +"timestamp": "1516012650", +"modTimestamp": "1516012650" +} +] +} + + + +我们可以看到Service Center能够自动发现所有正在集群中运行的实例,https://github.com/apache/incubator-servicecomb-java-chassis";>Java-Chassis SDK将使用这个特性至少找到一个Service Center实例。 + +在你的microservice.yaml中你可以填写一个或多个Service Center实例,如果https://github.com/apache/incubator-servicecomb-java-chassis";>Java-Chassis SDK发现配置的第一个地址(实例)失败,它将会自动使用下一个地址(实例): +cse: + service: +registry: + address: "http://10.12.0.1:30100,http://10.12.0.2:
[incubator-servicecomb-website] 01/02: Merge branch 'master' into asf-site
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit ce2246eb87f4b6465a99e9b7d73d7116f4fb97c3 Merge: 02d3895 7034419 Author: Willem Jiang AuthorDate: Fri Apr 13 16:10:53 2018 +0800 Merge branch 'master' into asf-site _users/cn/setup-environment.md | 130 +++- _users/setup-environment.md| 133 +++-- 2 files changed, 255 insertions(+), 8 deletions(-) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-java-chassis] 02/02: SCB-457 demostrate how to run non spring boot application with gradle
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git commit b31dce3692db1f6b01fdbe98e3e65e7f9740ad14 Author: Eric Lee AuthorDate: Tue Apr 10 11:48:25 2018 +0800 SCB-457 demostrate how to run non spring boot application with gradle Signed-off-by: Eric Lee --- samples/codefirst-sample/README.md | 48 ++-- samples/codefirst-sample/build.gradle | 39 .../codefirst-consumer/build.gradle| 51 + .../codefirst-provider/build.gradle| 52 ++ samples/codefirst-sample/settings.gradle | 23 ++ 5 files changed, 200 insertions(+), 13 deletions(-) diff --git a/samples/codefirst-sample/README.md b/samples/codefirst-sample/README.md index f74ba64..dc9b0c6 100644 --- a/samples/codefirst-sample/README.md +++ b/samples/codefirst-sample/README.md @@ -24,30 +24,52 @@ For detail information please refer to [Doc](http://servicecomb.incubator.apache 2. Start the codefirst-provider service - - Start provider service by maven + - Start provider service via maven - Compile the source code at root directory of ServiceComb Java Chassis, which is `incubator-servicecomb-java-chassis/`, and use `mvn exec` to execute the main class `CodeFirstProviderMain`. + Compile the source code at root directory of ServiceComb Java Chassis, which is `incubator-servicecomb-java-chassis/`, and use `mvn exec` to execute the main class `CodeFirstProviderMain`. - ```bash - cd incubator-servicecomb-java-chassis/ - mvn clean install -Psamples -DskipTests #only need to install at first time. - cd samples/codefirst-sample/codefirst-provider/ - mvn exec:java -Dexec.mainClass="org.apache.servicecomb.samples.codefirst.provider.CodeFirstProviderMain" - ``` + ```bash + cd incubator-servicecomb-java-chassis/ + mvn clean install -Psamples -DskipTests #only need to install at first time. + cd samples/codefirst-sample/codefirst-provider/ + mvn exec:java -Dexec.mainClass="org.apache.servicecomb.samples.codefirst.provider.CodeFirstProviderMain" + ``` - - Start provider service by IDE + - Start provider service via gradle - Import the project by InteliJ IDEA or Eclipse, add sample module to pom.xml file in root module `incubator-servicecomb-java-chassis/pom.xml`, and add `samples` to `` block, Then find `main` function `CodeFirstProviderMain` of provider service and `RUN` it like any other Java program. + Compile the source code at root directory of ServiceComb Java Chassis, which is `incubator-servicecomb-java-chassis/`, and use `mvn exec` to execute the main class `CodeFirstProviderMain`. -3. Start the codefirst-consumer service + ```bash + cd incubator-servicecomb-java-chassis/ + mvn clean install -Psamples -DskipTests #only need to install at first time. + cd samples/codefirst-sample/codefirst-provider/ + gradle clean run + ``` + + - Start provider service via IDE - Just like how to start codefirst-provider service. But the main class of codefirst-consumer service is `CodeFirstConsumerMain`. + Import the project by InteliJ IDEA or Eclipse, add sample module to pom.xml file in root module `incubator-servicecomb-java-chassis/pom.xml`, and add `samples` to `` block, Then find `main` function `CodeFirstProviderMain` of provider service and `RUN` it like any other Java program. + +3. Start the codefirst-consumer service ```bash cd samples/codefirst-sample/codefirst-consumer/ - mvn exec:java -Dexec.mainClass="org.apache.servicecomb.samples.codefirst.consumer.CodeFirstConsumerMain" ``` + - Start consumer service via maven + + Just like how to start codefirst-provider service. But the main class of codefirst-consumer service is `CodeFirstConsumerMain`. + + ```bash + mvn exec:java -Dexec.mainClass="org.apache.servicecomb.samples.codefirst.consumer.CodeFirstConsumerMain" + ``` + + - Start consumer service via gradle + + ```bash + gradle clean run + ``` + 4. How to verify On the producer side, the output should contain the following stuffs if the producer starts up successfully: 1. *'swagger: 2.0 info: version: 1.0.0 ...'* means the producer generated swagger contracts diff --git a/samples/codefirst-sample/build.gradle b/samples/codefirst-sample/build.gradle new file mode 100644 index 000..cfff44a --- /dev/null +++ b/samples/codefirst-sample/build.gradle @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this w
[incubator-servicecomb-java-chassis] branch master updated (dfb7d35 -> b31dce3)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git. from dfb7d35 [SCB-477] sdk guava's version need to update to 19.0 new 98e49b1 SCB-457 demostrate how to run bmi with gradle new b31dce3 SCB-457 demostrate how to run non spring boot application with gradle The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .gitignore | 3 ++ samples/bmi/README.md | 31 + .../bmi/build.gradle | 50 - samples/bmi/calculator/build.gradle| 49 .../bmi/settings.gradle| 9 ++-- samples/bmi/webapp/build.gradle| 49 samples/codefirst-sample/README.md | 48 ++-- .../codefirst-sample/build.gradle | 29 +++- .../codefirst-consumer/build.gradle| 51 + .../codefirst-provider/build.gradle| 52 ++ .../codefirst-sample/settings.gradle | 13 +++--- 11 files changed, 319 insertions(+), 65 deletions(-) copy service-registry/src/test/java/org/apache/servicecomb/serviceregistry/version/TestVersionRule.java => samples/bmi/build.gradle (53%) create mode 100644 samples/bmi/calculator/build.gradle copy common/common-rest/src/main/java/org/apache/servicecomb/common/rest/definition/path/UrlParamWriter.java => samples/bmi/settings.gradle (80%) create mode 100644 samples/bmi/webapp/build.gradle copy handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/BeansHolder.java => samples/codefirst-sample/build.gradle (69%) create mode 100644 samples/codefirst-sample/codefirst-consumer/build.gradle create mode 100644 samples/codefirst-sample/codefirst-provider/build.gradle copy common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/AbstractWrapSchema.java => samples/codefirst-sample/settings.gradle (75%) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-java-chassis] 01/02: SCB-457 demostrate how to run bmi with gradle
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git commit 98e49b13d18360e36f1aca912d7ba340200137f3 Author: Eric Lee AuthorDate: Mon Apr 9 17:06:05 2018 +0800 SCB-457 demostrate how to run bmi with gradle Signed-off-by: Eric Lee --- .gitignore | 3 +++ samples/bmi/README.md | 31 +++-- samples/bmi/build.gradle| 54 + samples/bmi/calculator/build.gradle | 49 + samples/bmi/settings.gradle | 23 samples/bmi/webapp/build.gradle | 49 + 6 files changed, 201 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 044d558..67e5a7d 100644 --- a/.gitignore +++ b/.gitignore @@ -80,3 +80,6 @@ __pycache__/ # Mac .DS_Store + +# gradle +.gradle diff --git a/samples/bmi/README.md b/samples/bmi/README.md index e7a9c9e..3d37342 100644 --- a/samples/bmi/README.md +++ b/samples/bmi/README.md @@ -7,6 +7,7 @@ There are two microservices in this demo. ## Prerequisite 1. [Oracle JDK 1.8+](https://docs.oracle.com/javase/8/docs/technotes/guides/install/install_overview.html) 2. [Maven 3.x](https://maven.apache.org/install.html) +3. [Gradle 4.x](https://gradle.org/install/)(Optional) ## Quick Start(Linux) 1. Run the service center @@ -19,12 +20,26 @@ git clone https://github.com/apache/incubator-servicecomb-java-chassis.git cd incubator-servicecomb-java-chassis/samples ``` 3. Run microservices -* Run the **BMI calculator service** -```bash -(cd bmi/calculator; mvn spring-boot:run) -``` -* Run the **webapp service** -```bash -(cd bmi/webapp; mvn spring-boot:run) -``` +* via maven + * Run the **BMI calculator service** + ```bash + (cd bmi/calculator; mvn spring-boot:run) + ``` + * Run the **webapp service** + ```bash + (cd bmi/webapp; mvn spring-boot:run) + ``` +* via gradle + * Install ServiceComb Java Chassis + ```bash + mvn clean install -DskipTests + ``` + * Run the **BMI calculator service** + ```bash + (cd bmi/calculator; gradle bootRun) + ``` + * Run the **webapp service** + ```bash + (cd bmi/webapp; gradle bootRun) + ``` 4. Visit the services via **http://127.0.0.1:8889**. diff --git a/samples/bmi/build.gradle b/samples/bmi/build.gradle new file mode 100644 index 000..7109344 --- /dev/null +++ b/samples/bmi/build.gradle @@ -0,0 +1,54 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +allprojects { +apply plugin: 'maven' + +group = 'org.apache.servicecomb.samples' +version = '1.0.0-m2-SNAPSHOT' +} + +buildscript { +dependencies { + classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.5.RELEASE") +} +repositories { +mavenLocal() +mavenCentral() +} +} + +subprojects { +apply plugin: 'java' +apply plugin: 'org.springframework.boot' + +sourceCompatibility = 1.8 +targetCompatibility = 1.8 + +tasks.withType(JavaCompile) { +options.encoding = 'UTF-8' +} + +repositories { +mavenLocal() +mavenCentral() +} + +dependencies { +compile group: 'org.hibernate', name: 'hibernate-validator', version:'5.2.4.Final' +} +} diff --git a/samples/bmi/calculator/build.gradle b/samples/bmi/calculator/build.gradle new file mode 100644 index 000..16223d9 --- /dev/null +++ b/samples/bmi/calculator/build.gradle @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at
[incubator-servicecomb-website] branch master updated: SCB-457 show how to use gradle with java chassis (#61)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/master by this push: new bb6fc86 SCB-457 show how to use gradle with java chassis (#61) bb6fc86 is described below commit bb6fc86809fd0ef88bda2fdd03031d38a05e9d32 Author: Eric Lee AuthorDate: Fri Apr 13 17:55:35 2018 +0800 SCB-457 show how to use gradle with java chassis (#61) Signed-off-by: Eric Lee --- ...uild-java-chassis-microservices-using-gradle.md | 98 ++ 1 file changed, 98 insertions(+) diff --git a/_posts/cn/2018-04-13-build-java-chassis-microservices-using-gradle.md b/_posts/cn/2018-04-13-build-java-chassis-microservices-using-gradle.md new file mode 100644 index 000..90e1219 --- /dev/null +++ b/_posts/cn/2018-04-13-build-java-chassis-microservices-using-gradle.md @@ -0,0 +1,98 @@ +--- +title: "使用gradle构建基于Java Chassis开发的微服务" +lang: cn +ref: build-java-chassis-microservices-using-gradle +permalink: /cn/docs/build-java-chassis-microservices-using-gradle/ +excerpt: "" +last_modified_at: 2018-04-13T09:18:43+08:00 +author: Eric Lee +tags: [gradle] +redirect_from: + - /theme-setup/ +--- + +maven和gradle都是Java世界中常用的构建工具。在[Java Chassis](https://github.com/apache/incubator-servicecomb-java-chassis)项目中采用了maven作为其构建工具,并在maven中心仓库定期发布其最新稳定版。然而,鉴于gradle最新发布版(4.6.0)还不支持maven的统一版本管理(BOM)功能,则在使用gradle构建基于Java Chassis开发的微服务时,需要用到Spring的[依赖管理插件](https://github.com/spring-gradle-plugins/dependency-management-plugin)来引入Java Chassis的版本管理来统一依赖项的版本从而避免产生版本冲突。 + +在maven中,Java Chassis的依赖管理通过以下方式即可引入: + + ```xml + + + + org.apache.servicecomb + java-chassis-dependencies + 1.0.0-m1 + pom + import + + + + ``` + +在gradle中,则需要以下三步完成,具体可参考:[https://github.com/apache/incubator-servicecomb-java-chassis/pull/640/files#diff-8d0fdb4970d74d053b6585c3d5ae4cc2R36](https://github.com/apache/incubator-servicecomb-java-chassis/pull/640/files#diff-8d0fdb4970d74d053b6585c3d5ae4cc2R36)。 + +1. 声明使用maven仓库及依赖管理插件的依赖 + + ```gradle + buildscript { + repositories { + mavenLocal() + mavenCentral() + } + dependencies { + classpath('io.spring.gradle:dependency-management-plugin:1.0.4.RELEASE') + } + } + ``` + +2. 启用依赖管理插件 + + ```gradle + apply plugin: 'io.spring.dependency-management' + ``` + +3. 声明Java Chassis的统一依赖管理 + + ```gradle + dependencyManagement { + imports { + mavenBom 'org.apache.servicecomb:java-chassis-dependencies:1.0.0-m1' + } + } + ``` + +**注意:** 在每个子模块中都需要进行上述三步配置。 + +对统一版本管理配置完成后,可增加程序运行入口使得命令行下也能方便的通过gradle运行应用,以便快速验证。其中,可将应用分为Spring Boot应用和非Spring Boot应用来为其添加启动入口: + +1. Spring Boot应用 + + 1. 声明使用maven仓库及Spring Boot插件的依赖 + + ```gradle + buildscript { + dependencies { + classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.5.RELEASE") + } + repositories { + mavenLocal() + mavenCentral() + } + } + ``` + + 2. 启用Spring Boot插件 + + ```gradle + apply plugin: 'org.springframework.boot' + ``` + +2. 非Spring Boot应用 + + 非Spring Boot应用只需要在`build.gradle`文件中使用`application`插件并指明应用入口方法即可: + + ```gradle + apply plugin: 'application' + + mainClassName = 'org.packageName.XXXMain' + ``` -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch asf-site updated (09d02d3 -> 3465aac)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from 09d02d3 Publish the website add bb6fc86 SCB-457 show how to use gradle with java chassis (#61) new 354688b Updated the example URI new 4f5c628 Merge branch 'master' into asf-site new 3465aac Publish the website The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: ...uild-java-chassis-microservices-using-gradle.md | 98 + content/cn/docs/autoscale-on-company/index.html| 24 +- .../index.html | 184 +--- content/cn/docs/communication-btw-sc-ms/index.html | 24 +- content/cn/docs/company-on-kubernetes/index.html | 24 +- .../cn/docs/config_center_integration/index.html | 24 +- content/cn/docs/distributed_saga_1/index.html | 24 +- content/cn/docs/distributed_saga_2/index.html | 24 +- content/cn/docs/distributed_saga_3/index.html | 24 +- content/cn/docs/go-to-cloud/index.html | 24 +- .../docs/how-to-reform-a-legacy-system/index.html | 24 +- content/cn/docs/jira_beginner_guide/index.html | 24 +- content/cn/docs/join_the_community/index.html | 22 +- content/cn/docs/linuxcon-workshop-demo/index.html | 24 +- .../cn/docs/maven_dependency_management/index.html | 24 +- .../index.html | 24 +- content/cn/docs/saga_pack_design/index.html| 25 +- .../seckill-development-journey-part-I/index.html | 24 +- .../seckill-development-journey-part-II/index.html | 24 +- .../index.html | 24 +- .../index.html | 24 +- .../cn/docs/tracing-with-servicecomb/index.html| 24 +- content/cn/year-archive/index.html | 82 content/docs/autoscale-on-company/index.html | 24 +- content/docs/communication-btw-sc-ms/index.html| 24 +- content/docs/company-on-kubernetes/index.html | 24 +- content/docs/distributed_saga_1/index.html | 24 +- content/docs/distributed_saga_2/index.html | 24 +- content/docs/distributed_saga_3/index.html | 24 +- content/docs/go-to-cloud/index.html| 24 +- .../docs/how-to-reform-a-legacy-system/index.html | 24 +- content/docs/howto-upgrade-topzipkin2/index.html | 24 +- content/docs/linuxcon-workshop-demo/index.html | 24 +- .../seckill-development-journey-part-I/index.html | 24 +- .../seckill-development-journey-part-II/index.html | 24 +- .../index.html | 24 +- content/docs/service-center-ui/index.html | 24 +- .../service-registry-refactor-proposal/index.html | 24 +- .../index.html | 24 +- content/docs/tracing-with-servicecomb/index.html | 24 +- content/feed.xml | 481 + content/sitemap.xml| 4 + content/sitemap/index.html | 2 + 43 files changed, 854 insertions(+), 884 deletions(-) create mode 100644 _posts/cn/2018-04-13-build-java-chassis-microservices-using-gradle.md copy content/cn/docs/{communication-btw-sc-ms => build-java-chassis-microservices-using-gradle}/index.html (67%) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 01/03: Updated the example URI
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 354688bd98c0d27cdb930396d9b19b280816e529 Author: Willem Jiang AuthorDate: Fri Apr 13 18:03:22 2018 +0800 Updated the example URI --- .../2018-04-13-build-java-chassis-microservices-using-gradle.md | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_posts/cn/2018-04-13-build-java-chassis-microservices-using-gradle.md b/_posts/cn/2018-04-13-build-java-chassis-microservices-using-gradle.md index 90e1219..95cc4f3 100644 --- a/_posts/cn/2018-04-13-build-java-chassis-microservices-using-gradle.md +++ b/_posts/cn/2018-04-13-build-java-chassis-microservices-using-gradle.md @@ -29,7 +29,7 @@ maven和gradle都是Java世界中常用的构建工具。在[Java Chassis](https ``` -在gradle中,则需要以下三步完成,具体可参考:[https://github.com/apache/incubator-servicecomb-java-chassis/pull/640/files#diff-8d0fdb4970d74d053b6585c3d5ae4cc2R36](https://github.com/apache/incubator-servicecomb-java-chassis/pull/640/files#diff-8d0fdb4970d74d053b6585c3d5ae4cc2R36)。 +在gradle中,则需要以下三步完成,具体可参考 :[Java Chassis的PR-640](https://github.com/apache/incubator-servicecomb-java-chassis/pull/640/files#diff-8d0fdb4970d74d053b6585c3d5ae4cc2R36)。 1. 声明使用maven仓库及依赖管理插件的依赖 @@ -61,7 +61,7 @@ maven和gradle都是Java世界中常用的构建工具。在[Java Chassis](https } ``` -**注意:** 在每个子模块中都需要进行上述三步配置。 +**注意:** 在每个子模块中都需要进行上述三步配置。 对统一版本管理配置完成后,可增加程序运行入口使得命令行下也能方便的通过gradle运行应用,以便快速验证。其中,可将应用分为Spring Boot应用和非Spring Boot应用来为其添加启动入口: @@ -90,9 +90,9 @@ maven和gradle都是Java世界中常用的构建工具。在[Java Chassis](https 2. 非Spring Boot应用 非Spring Boot应用只需要在`build.gradle`文件中使用`application`插件并指明应用入口方法即可: - + ```gradle apply plugin: 'application' - + mainClassName = 'org.packageName.XXXMain' ``` -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 02/03: Merge branch 'master' into asf-site
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 4f5c628f7991fa40114b39b56629c101656e93bb Merge: 09d02d3 354688b Author: Willem Jiang AuthorDate: Fri Apr 13 18:04:05 2018 +0800 Merge branch 'master' into asf-site ...uild-java-chassis-microservices-using-gradle.md | 98 ++ 1 file changed, 98 insertions(+) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] branch master updated: SCB-300 update to modify the timeout value in the byteman rule
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git The following commit(s) were added to refs/heads/master by this push: new be37cfe SCB-300 update to modify the timeout value in the byteman rule be37cfe is described below commit be37cfe5e9a6ccad8fcd52c43d75e69c079f492b Author: Zheng Feng AuthorDate: Fri Apr 13 23:11:05 2018 +0800 SCB-300 update to modify the timeout value in the byteman rule --- .../acceptance-pack/src/test/resources/booking_timeout.btm| 8 .../servicecomb/saga/demo/pack/booking/BookingController.java | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/acceptance-tests/acceptance-pack/src/test/resources/booking_timeout.btm b/acceptance-tests/acceptance-pack/src/test/resources/booking_timeout.btm index a41bf98..2deab51 100644 --- a/acceptance-tests/acceptance-pack/src/test/resources/booking_timeout.btm +++ b/acceptance-tests/acceptance-pack/src/test/resources/booking_timeout.btm @@ -18,6 +18,14 @@ # ### +RULE set the saga timeout to 5s +INTERFACE org.apache.servicecomb.saga.omega.context.annotations.SagaStart +METHOD timeout +AT EXIT +IF TRUE +DO RETURN 5 +ENDRULE + RULE sleep when postBooking until timeout happens CLASS org.apache.servicecomb.saga.demo.pack.booking.BookingController METHOD postBooking diff --git a/saga-demo/booking/booking/src/main/java/org/apache/servicecomb/saga/demo/pack/booking/BookingController.java b/saga-demo/booking/booking/src/main/java/org/apache/servicecomb/saga/demo/pack/booking/BookingController.java index 3d6c2ce..c194811 100644 --- a/saga-demo/booking/booking/src/main/java/org/apache/servicecomb/saga/demo/pack/booking/BookingController.java +++ b/saga-demo/booking/booking/src/main/java/org/apache/servicecomb/saga/demo/pack/booking/BookingController.java @@ -37,7 +37,7 @@ public class BookingController { @Autowired private RestTemplate template; - @SagaStart(timeout = 5) + @SagaStart @PostMapping("/booking/{name}/{rooms}/{cars}") public String order(@PathVariable String name, @PathVariable Integer rooms, @PathVariable Integer cars) { template.postForEntity( -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] branch master updated: SCB-497 Fix the Omega test log issue
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git The following commit(s) were added to refs/heads/master by this push: new 54ed83e SCB-497 Fix the Omega test log issue 54ed83e is described below commit 54ed83e0bf90a7aa364b7b5fdb32e64f3a402550 Author: Willem Jiang AuthorDate: Tue Apr 17 11:47:52 2018 +0800 SCB-497 Fix the Omega test log issue --- omega/omega-spring-tx/pom.xml | 7 ++- omega/omega-transport/omega-transport-resttemplate/pom.xml | 6 +- omega/omega-transport/omega-transport-servicecomb/pom.xml | 8 +++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/omega/omega-spring-tx/pom.xml b/omega/omega-spring-tx/pom.xml index 9be4774..76f9538 100644 --- a/omega/omega-spring-tx/pom.xml +++ b/omega/omega-spring-tx/pom.xml @@ -109,7 +109,12 @@ scalatest_2.12 test - + + org.slf4j + slf4j-simple + test + + diff --git a/omega/omega-transport/omega-transport-resttemplate/pom.xml b/omega/omega-transport/omega-transport-resttemplate/pom.xml index 279205b..73d8c18 100644 --- a/omega/omega-transport/omega-transport-resttemplate/pom.xml +++ b/omega/omega-transport/omega-transport-resttemplate/pom.xml @@ -47,11 +47,15 @@ javax.servlet javax.servlet-api - org.springframework spring-test + + org.slf4j + slf4j-simple + test + diff --git a/omega/omega-transport/omega-transport-servicecomb/pom.xml b/omega/omega-transport/omega-transport-servicecomb/pom.xml index 18b9b51..c9cc84d 100644 --- a/omega/omega-transport/omega-transport-servicecomb/pom.xml +++ b/omega/omega-transport/omega-transport-servicecomb/pom.xml @@ -36,6 +36,12 @@ ${java.chassis.version} provided + + + org.slf4j + slf4j-simple + test + - \ No newline at end of file + -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch master updated: Fixed the quick start document issue.
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/master by this push: new e9c6d1b Fixed the quick start document issue. e9c6d1b is described below commit e9c6d1be49a366d00cbf611060937eb82aa8b7fd Author: Willem Jiang AuthorDate: Tue Apr 17 17:39:46 2018 +0800 Fixed the quick start document issue. --- _docs/quick-start.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_docs/quick-start.md b/_docs/quick-start.md index 92a3023..9d7d291 100644 --- a/_docs/quick-start.md +++ b/_docs/quick-start.md @@ -20,7 +20,7 @@ last_modified_at: 2017-09-06T00:50:43-55:00 ```bash git clone https://github.com/apache/incubator-servicecomb-java-chassis.git - cd ServiceComb-Java-Chassis + cd incubator-servicecomb-java-chassis mvn clean install -DskipTests ``` -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch master updated: Fix the quick start issue.
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/master by this push: new c2eff00 Fix the quick start issue. c2eff00 is described below commit c2eff007eb055bfb023dbbb262706139a6a8fb3d Author: Willem Jiang AuthorDate: Tue Apr 17 17:40:44 2018 +0800 Fix the quick start issue. --- _docs/cn/quick-start.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_docs/cn/quick-start.md b/_docs/cn/quick-start.md index 0a2f23d..f008044 100644 --- a/_docs/cn/quick-start.md +++ b/_docs/cn/quick-start.md @@ -20,7 +20,7 @@ last_modified_at: 2017-09-03T10:01:43-04:00 ```bash git clone https://github.com/apache/incubator-servicecomb-java-chassis.git - cd ServiceComb-Java-Chassis + cd incubator-servicecomb-java-chassis mvn clean install -DskipTests ``` -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch master updated: Updated the example URI
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/master by this push: new b1431cd Updated the example URI b1431cd is described below commit b1431cd83275abd54fd93bf2b5daf275f78794dd Author: Willem Jiang AuthorDate: Fri Apr 13 18:03:22 2018 +0800 Updated the example URI --- .../2018-04-13-build-java-chassis-microservices-using-gradle.md | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_posts/cn/2018-04-13-build-java-chassis-microservices-using-gradle.md b/_posts/cn/2018-04-13-build-java-chassis-microservices-using-gradle.md index 90e1219..95cc4f3 100644 --- a/_posts/cn/2018-04-13-build-java-chassis-microservices-using-gradle.md +++ b/_posts/cn/2018-04-13-build-java-chassis-microservices-using-gradle.md @@ -29,7 +29,7 @@ maven和gradle都是Java世界中常用的构建工具。在[Java Chassis](https ``` -在gradle中,则需要以下三步完成,具体可参考:[https://github.com/apache/incubator-servicecomb-java-chassis/pull/640/files#diff-8d0fdb4970d74d053b6585c3d5ae4cc2R36](https://github.com/apache/incubator-servicecomb-java-chassis/pull/640/files#diff-8d0fdb4970d74d053b6585c3d5ae4cc2R36)。 +在gradle中,则需要以下三步完成,具体可参考 :[Java Chassis的PR-640](https://github.com/apache/incubator-servicecomb-java-chassis/pull/640/files#diff-8d0fdb4970d74d053b6585c3d5ae4cc2R36)。 1. 声明使用maven仓库及依赖管理插件的依赖 @@ -61,7 +61,7 @@ maven和gradle都是Java世界中常用的构建工具。在[Java Chassis](https } ``` -**注意:** 在每个子模块中都需要进行上述三步配置。 +**注意:** 在每个子模块中都需要进行上述三步配置。 对统一版本管理配置完成后,可增加程序运行入口使得命令行下也能方便的通过gradle运行应用,以便快速验证。其中,可将应用分为Spring Boot应用和非Spring Boot应用来为其添加启动入口: @@ -90,9 +90,9 @@ maven和gradle都是Java世界中常用的构建工具。在[Java Chassis](https 2. 非Spring Boot应用 非Spring Boot应用只需要在`build.gradle`文件中使用`application`插件并指明应用入口方法即可: - + ```gradle apply plugin: 'application' - + mainClassName = 'org.packageName.XXXMain' ``` -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch asf-site updated (3465aac -> 71a3bb9)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from 3465aac Publish the website add e9c6d1b Fixed the quick start document issue. add c2eff00 Fix the quick start issue. add b1431cd Updated the example URI new 5fc130a Merge branch 'master' into asf-site new 71a3bb9 Publish the website The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: _docs/cn/quick-start.md| 2 +- _docs/quick-start.md | 2 +- content/cn/docs/quick-start/index.html | 2 +- content/docs/quick-start/index.html| 2 +- content/feed.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 01/02: Merge branch 'master' into asf-site
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 5fc130a96c4ab8935501f05da43a20299936c765 Merge: 3465aac b1431cd Author: Willem Jiang AuthorDate: Tue Apr 17 17:41:54 2018 +0800 Merge branch 'master' into asf-site _docs/cn/quick-start.md | 2 +- _docs/quick-start.md| 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 02/02: Publish the website
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 71a3bb9d825942eaad78912bb4d606eecbe36ca5 Author: Willem Jiang AuthorDate: Tue Apr 17 17:43:07 2018 +0800 Publish the website --- content/cn/docs/quick-start/index.html | 2 +- content/docs/quick-start/index.html| 2 +- content/feed.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/cn/docs/quick-start/index.html b/content/cn/docs/quick-start/index.html index 5ae34d4..77aeb40 100644 --- a/content/cn/docs/quick-start/index.html +++ b/content/cn/docs/quick-start/index.html @@ -393,7 +393,7 @@ 安装 ServiceComb Java Chassis(SDK),执行以下指令: git clone https://github.com/apache/incubator-servicecomb-java-chassis.git - cd ServiceComb-Java-Chassis + cd incubator-servicecomb-java-chassis mvn clean install -DskipTests diff --git a/content/docs/quick-start/index.html b/content/docs/quick-start/index.html index bad72c6..d6e074c 100644 --- a/content/docs/quick-start/index.html +++ b/content/docs/quick-start/index.html @@ -392,7 +392,7 @@ Install ServiceComb Java Chassis(SDK) by executing the following commands. git clone https://github.com/apache/incubator-servicecomb-java-chassis.git - cd ServiceComb-Java-Chassis + cd incubator-servicecomb-java-chassis mvn clean install -DskipTests diff --git a/content/feed.xml b/content/feed.xml index 3d6d28f..a7aac57 100644 --- a/content/feed.xml +++ b/content/feed.xml @@ -1,4 +1,4 @@ -http://www.w3.org/2005/Atom"; >https://jekyllrb.com/"; version="3.4.3">Jekyll2018-04-13T18:04:25+08:00/Apache ServiceComb (incubating)The homepage of ServiceComb{"name"=>nil, "avatar"=> [...] +http://www.w3.org/2005/Atom"; >https://jekyllrb.com/"; version="3.4.3">Jekyll2018-04-17T17:42:19+08:00/Apache ServiceComb (incubating)The homepage of ServiceComb{"name"=>nil, "avatar"=> [...] <p>在maven中,Java Chassis的依赖管理通过以下方式即可引入:</p> -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] 02/02: Add alpha-server as prerequisite to run saga demo
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git commit 87949e488ea1ec51f26cd284fe90b6bc35891c8b Author: crystaldust AuthorDate: Tue Apr 17 05:43:20 2018 + Add alpha-server as prerequisite to run saga demo --- saga-demo/booking/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/saga-demo/booking/README.md b/saga-demo/booking/README.md index 4c642b3..1540e29 100644 --- a/saga-demo/booking/README.md +++ b/saga-demo/booking/README.md @@ -10,11 +10,13 @@ You will need: 2. [Maven 3.x][maven] 3. [Docker][docker] 4. [Docker compose][docker_compose] +5. [alpha server][alpha_server] [jdk]: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html [maven]: https://maven.apache.org/install.html [docker]: https://www.docker.com/get-docker [docker_compose]: https://docs.docker.com/compose/install/ +[alpha_server]: https://github.com/apache/incubator-servicecomb-saga/tree/master/alpha ## Running Demo You can run the demo using either docker compose or executable files. -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] branch master updated (54ed83e -> 87949e4)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git. from 54ed83e SCB-497 Fix the Omega test log issue new 9fb9f03 Add README.md file for alpha-server. Describe how to 'build and run' alpha-server. new 87949e4 Add alpha-server as prerequisite to run saga demo The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: alpha/README.md | 33 + saga-demo/booking/README.md | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 alpha/README.md -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] 01/02: Add README.md file for alpha-server. Describe how to 'build and run' alpha-server.
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git commit 9fb9f036ce9edb86568d143cf96ebd5273c704c3 Author: crystaldust AuthorDate: Tue Apr 17 05:42:44 2018 + Add README.md file for alpha-server. Describe how to 'build and run' alpha-server. --- alpha/README.md | 33 + 1 file changed, 33 insertions(+) diff --git a/alpha/README.md b/alpha/README.md new file mode 100644 index 000..a1d21a6 --- /dev/null +++ b/alpha/README.md @@ -0,0 +1,33 @@ +# alpha-server + +The alpha-server works as the pack leader to keep the consistency of transactions. +For more information, see [saga pack design](https://github.com/apache/incubator-servicecomb-saga/blob/master/docs/design.md) + +## Build and Run + +### Via docker image +Build the executable files and docker image: +``` +mvn clean package -DskipTests -Pdocker -Pdemo +``` + +Then play `alpha-server` image with docker, docker-compose or any other container based environment. + +You can override the configurations by `JAVA_OPTS` environment variable: +``` +docker run -d -p 8080:8080 -p 8090:8090 \ +-e "JAVA_OPTS=-Dspring.profiles.active=prd -Dspring.datasource.url=jdbc:postgresql://${host_address}:5432/saga?useSSL=false" alpha-server:${saga_version} +``` + + +### Via executable file + +Build the executable files: +```bash +mvn clean package -DskipTests -Pdemo +``` + +And run: +``` +java -Dspring.profiles.active=prd -D"spring.datasource.url=jdbc:postgresql://${host_address}:5432/saga?useSSL=false" -jar alpha-server-${saga_version}-exec.jar +``` -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] branch master updated: SCB-505 Update to throw exception when the transaction timeout
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git The following commit(s) were added to refs/heads/master by this push: new aff2719 SCB-505 Update to throw exception when the transaction timeout aff2719 is described below commit aff2719e0322c452dc52c0e90f9150ac0fb123e6 Author: Zheng Feng AuthorDate: Wed Apr 18 23:04:33 2018 +0800 SCB-505 Update to throw exception when the transaction timeout --- .../org/apache/servicecomb/saga/PackStepdefs.java| 10 -- .../resources/pack_compensation_scenario.feature | 2 +- .../src/test/resources/pack_success_scenario.feature | 2 +- .../src/test/resources/pack_timeout_scenario.feature | 4 ++-- .../saga/alpha/core/TxConsistentService.java | 20 ++-- .../apache/servicecomb/saga/alpha/core/TxEvent.java | 2 +- .../transaction/SagaStartAnnotationProcessor.java| 5 - pom.xml | 7 +++ 8 files changed, 42 insertions(+), 10 deletions(-) diff --git a/acceptance-tests/acceptance-pack/src/test/java/org/apache/servicecomb/saga/PackStepdefs.java b/acceptance-tests/acceptance-pack/src/test/java/org/apache/servicecomb/saga/PackStepdefs.java index 857bb9f..4f2f729 100644 --- a/acceptance-tests/acceptance-pack/src/test/java/org/apache/servicecomb/saga/PackStepdefs.java +++ b/acceptance-tests/acceptance-pack/src/test/java/org/apache/servicecomb/saga/PackStepdefs.java @@ -35,6 +35,7 @@ import org.jboss.byteman.agent.submit.Submit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import io.restassured.response.Response; import cucumber.api.DataTable; import cucumber.api.java.After; import cucumber.api.java8.En; @@ -79,15 +80,20 @@ public class PackStepdefs implements En { bm.addRulesFromFiles(rules); }); -When("^User ([A-Za-z]+) requests to book ([0-9]+) cars and ([0-9]+) rooms$", (username, cars, rooms) -> { +When("^User ([A-Za-z]+) requests to book ([0-9]+) cars and ([0-9]+) rooms (success|fail)$", (username, cars, rooms, result) -> { log.info("Received request from user {} to book {} cars and {} rooms", username, cars, rooms); - given() + Response resp = given() .pathParam("name", username) .pathParam("rooms", rooms) .pathParam("cars", cars) .when() .post(System.getProperty("booking.service.address") + "/booking/{name}/{rooms}/{cars}"); + if (result.equals("success")) { +resp.then().statusCode(is(200)); + } else if (result.equals("fail")) { +resp.then().statusCode(is(500)); + } }); Then("^Alpha records the following events$", (DataTable dataTable) -> { diff --git a/acceptance-tests/acceptance-pack/src/test/resources/pack_compensation_scenario.feature b/acceptance-tests/acceptance-pack/src/test/resources/pack_compensation_scenario.feature index fffcde2..64c5812 100644 --- a/acceptance-tests/acceptance-pack/src/test/resources/pack_compensation_scenario.feature +++ b/acceptance-tests/acceptance-pack/src/test/resources/pack_compensation_scenario.feature @@ -21,7 +21,7 @@ Feature: Alpha records transaction events And Booking Service is up and running And Alpha is up and running -When User Sean requests to book 5 cars and 3 rooms +When User Sean requests to book 5 cars and 3 rooms fail Then Alpha records the following events | serviceName | type | diff --git a/acceptance-tests/acceptance-pack/src/test/resources/pack_success_scenario.feature b/acceptance-tests/acceptance-pack/src/test/resources/pack_success_scenario.feature index cba7f5d..7132cbb 100644 --- a/acceptance-tests/acceptance-pack/src/test/resources/pack_success_scenario.feature +++ b/acceptance-tests/acceptance-pack/src/test/resources/pack_success_scenario.feature @@ -21,7 +21,7 @@ Feature: Alpha records transaction events And Booking Service is up and running And Alpha is up and running -When User Sean requests to book 2 cars and 1 rooms +When User Sean requests to book 2 cars and 1 rooms success Then Alpha records the following events | serviceName | type | diff --git a/acceptance-tests/acceptance-pack/src/test/resources/pack_timeout_scenario.feature b/acceptance-tests/acceptance-pack/src/test/resources/pack_timeout_scenario.feature index 2a3e59d..a49d340 100644 --- a/acceptance-tests/acceptance-pack/src/test/resources/pack_timeout_scenario.feature +++ b/acceptance-tests/acceptance-pack/src/test/resources/pack_timeout_scenario.feature @@ -23,7 +23,7 @@ Feature: Alpha records transaction events Given Install the byteman script booking_timeout.btm to Booking Service -When
[incubator-servicecomb-website] branch master updated: Update producer develop docs (#63)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/master by this push: new fc525b6 Update producer develop docs (#63) fc525b6 is described below commit fc525b6cf2bec59ad2d8a52901ba19db6382fcba Author: zhengyangyong AuthorDate: Sun Apr 22 06:46:36 2018 +0800 Update producer develop docs (#63) * update producer develop docs Signed-off-by: zhengyangyong * fix style Signed-off-by: zhengyangyong * add main class step Signed-off-by: zhengyangyong * fix pr comment Signed-off-by: zhengyangyong --- _users/cn/develop-with-jax-rs.md | 68 +++-- _users/cn/develop-with-rpc.md | 39 +++ _users/cn/develop-with-springmvc.md | 69 -- _users/cn/develop-with-transparent-rpc.md | 80 -- _users/develop-with-jax-rs.md | 65 +++- _users/develop-with-rpc.md| 40 +++ _users/develop-with-springmvc.md | 66 - _users/develop-with-transparent-rpc.md| 82 --- 8 files changed, 418 insertions(+), 91 deletions(-) diff --git a/_users/cn/develop-with-jax-rs.md b/_users/cn/develop-with-jax-rs.md index 648713c..9314031 100644 --- a/_users/cn/develop-with-jax-rs.md +++ b/_users/cn/develop-with-jax-rs.md @@ -16,21 +16,43 @@ redirect_from: ServiceComb支持开发者使用JAX-RS注解,使用JAX-RS模式开发服务。 ## 开发示例 +* **步骤 1** 添加依赖。 -* **步骤 1** 定义服务接口。 + 在Maven的pom.xml中添加所需的依赖: - 根据开发之前定义好的契约,编写Java业务接口,代码如下: - - ```java - public interface Hello { - String sayHi(String name); - String sayHello(Person person); - } + ```xml + + + + org.apache.servicecomb + java-chassis-dependencies + 1.0.0-m1 + pom + import + + + + + + +org.apache.servicecomb +transport-rest-vertx + + +org.apache.servicecomb +transport-highway + + +org.apache.servicecomb +provider-jaxrs + + +org.slf4j +slf4j-log4j12 + + ``` - > **说明**: - 该接口的位置需要与契约中x-java-interface所指定的路径一致。 - * **步骤 2** 实现服务。 使用JAX-RS注解开发业务代码,Hello的服务实现如下: @@ -40,22 +62,19 @@ ServiceComb支持开发者使用JAX-RS注解,使用JAX-RS模式开发服务。 import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; - import org.apache.servicecomb.samples.common.schema.Hello; import org.apache.servicecomb.samples.common.schema.models.Person; @Path("/jaxrshello") @Produces(MediaType.APPLICATION_JSON) - public class JaxrsHelloImpl implements Hello { + public class JaxrsHelloImpl { @Path("/sayhi") @POST - @Override public String sayHi(String name) { return "Hello " + name; } @Path("/sayhello") @POST - @Override public String sayHello(Person person) { return "Hello person " + person.getName(); } @@ -89,6 +108,25 @@ ServiceComb支持开发者使用JAX-RS注解,使用JAX-RS模式开发服务。 ``` +* **步骤 4** 添加服务定义。 + + 在resources目录中添加[microservice.yaml](http://servicecomb.incubator.apache.org/cn/users/service-definition/)。 + +* **步骤 5** 添加Main启动类 + + ```java + import org.apache.servicecomb.foundation.common.utils.BeanUtils; + import org.apache.servicecomb.foundation.common.utils.Log4jUtils; + + public class Application { + public static void main(String[] args) throws Exception { +//初始化日志, 加载Bean(包括它们的参数), 以及注册Service, 更多信息可以参见文档 : http://servicecomb.incubator.apache.org/cn/users/application-boot-process/ +Log4jUtils.init(); +BeanUtils.init(); + } + } + ``` + ## 涉及API JAX-RS开发模式当前支持如下注解,所有注解的使用方法参考[JAX-RS官方文档](https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/index.html)。 diff --git a/_users/cn/develop-with-rpc.md b/_users/cn/develop-with-rpc.md index 7507cfd..ee7b89b 100644 --- a/_users/cn/develop-with-rpc.md +++ b/_users/cn/develop-with-rpc.md @@ -48,3 +48,42 @@ public class CodeFirstConsumerMain { ``` 在以上代码中,服务消费者已经取得了服务提供者的服务接口`Hello`,并在代码中声明一个`Hello`类型的成员。通过在`hello`上使用`@RPCReference`注解指明微服务名称和schemaId,ServiceComb框架可以在程序启动时从服务中心获取到对应的服务提供者实例信息,并且生成一个代理注入到hello中,用户可以像调用本地类一样调用远程服务。 + +### 调用方式的补充说明 +上面示例代码中,为了能在main函数中直接使用hello变量,我们将它标记为`static`。作为CodeFirstConsumerMain这个Bean的本地变量,我们更推荐下面两种做法: + 方式1:通过cse:rpc-reference定义 +在你的bean.xml中添加cse:rpc-reference的配置项: + +```xml + +``` + +然后就可以使用`BeanUtils.getBean`直接获取服务提供者的服务接口`Hello`: + +```java +Hello hello = BeanUtils.getBean("hello"); +``` + + 方式2:获取Bean,再获取接口 +先使用`BeanUtils.getBean`获取到CodeFirstConsumerMain这个Bean: + +```java +//Spring Bean
[incubator-servicecomb-website] branch master updated: fix mistakes (#65)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/master by this push: new d4e7cac fix mistakes (#65) d4e7cac is described below commit d4e7cac8e904729fedd3f128b8ba95337a9207ba Author: zhengyangyong AuthorDate: Sun Apr 22 06:49:58 2018 +0800 fix mistakes (#65) Signed-off-by: zhengyangyong --- _faqs/cn/faq.md | 84 +++-- 1 file changed, 40 insertions(+), 44 deletions(-) diff --git a/_faqs/cn/faq.md b/_faqs/cn/faq.md index c12ee09..fd58c36 100755 --- a/_faqs/cn/faq.md +++ b/_faqs/cn/faq.md @@ -10,12 +10,12 @@ redirect_from: --- * **Q: ServiceComb和SpringCloud是什么关系,具体的应用场景是什么?** - + A: ServiceComb是华为基于内部多个大型IT系统实践提炼出来的一套微服务开发框架,在开发态基于最佳实践封装了一套微服务运行模型,这些能力对用户完全透明,可以通过配置引入功能和对其进行调整。在运维阶段充分考虑了微服务运维,提供了丰富的监控指标和动态治理能力。 B: ServiceComb的这套能力可以作为一个单独的开发框架,在需要轻量级微服务解决方案的的场景中单独使用,也可以建立在SpringCloud上,与SpringCloud提供的其他组件一起工作,在重量级场景中和SpringCloud一起产生 “1+1大于2”的效果。 * **Q: 用IntelliJ的免费版开发,有什么问题?** - + A: 没有问题,使用IntelliJ 开发,可参考 [Setup Developer Environment](/cn/developers/setup-develop-environment/) 进行相应的环境配置。 * **Q: 使用Java-Chassis这个框架时有什么需要注意的地方?** @@ -120,17 +120,17 @@ redirect_from: A: * ServiceComb的consumer、transport、handler、producer之间是解耦的,各功能之间通过契约定义联合在一起工作的,即: consumer使用透明rpc,还是springmvc开发与使用highway,还是RESTful在网络上传输没有关系与producer是使用透明rpc,还是jaxrs,或者是springmvc开发,也没有关系handler也不感知,业务开发方式以及传输方式 - + * consumer访问producer,在运行时的transport选择上,总规则为: consumer的transport与producer的endpoint取交集,如果交集后,还有多个transport可选择,则轮流使用 - + 分解开来,存在以下场景: - + * 当一个微服务producer同时开放了highway以及RESTful的endpoint * consumer进程中只部署了highway transport jar,则只会访问producer的highway endpoint * consumer进程中只部署了RESTful transport jar,则只会访问producer的RESTful endpoint * consumer进程中,同时部署了highway和RESTful transport jar,则会轮流访问producer的highway、RESTful endpoint - + 如果,此时consumer想固定使用某个transport访问producer,可以在consumer进程的microservice.yaml中配置,指定transport的名称: ```yaml @@ -139,12 +139,12 @@ redirect_from: : transport: highway ``` - + * 当一个微服务producer只开放了highway的endpoint * consumer进程只部署了highway transport jar,则正常使用highway访问 * consumer进程只部署了RESTful transport jar,则无法访问 * consumer进程同时部署了highway和RESTful transport jar,则正常使用highway访问 - + * 当一个微服务producer只开放了RESTful的endpoint * consumer进程只部署了highway transport jar,则无法访问 * consumer进程只部署了RESTful transport jar,则正常使用RESTful访问 @@ -153,9 +153,9 @@ redirect_from: * **Q: swagger body参数类型定义错误,导致服务中心注册的内容没有类型信息** **现象描述:** - + 定义如下接口,将参数放到body传递 - + ```yaml /testInherate: post: @@ -171,9 +171,9 @@ redirect_from: schema: $ref: "#/definitions/ResponseImpl" ``` - + 采用上面方式定义接口。在服务注册以后,从服务中心查询下来的接口type: string 丢失,变成了: - + ```yaml /testInherate: post: @@ -188,15 +188,15 @@ redirect_from: schema: $ref: "#/definitions/ResponseImpl" ``` - + 如果客户端没有放置swagger,还会报告如下异常: - + ```text Caused by: java.lang.ClassFormatError: Method "testInherate" in class ? has illegal signature " ``` - + A:定义body参数的类型的时候,需要使用schema,不能直接使用type。 - + ```yaml /testInherate: post: @@ -217,7 +217,7 @@ redirect_from: * **Q: ServiceComb微服务框架服务调用是否使用长连接?** A: http使用的是长连接(有超时时间),highway方式使用的是长连接(一直保持)。 - + * **Q: 服务断连服务中心注册信息是否自动删除** A: 服务中心心跳检测到服务实例不可用,只会移除服务实例信息,服务的静态数据不会移除。 @@ -234,21 +234,21 @@ redirect_from: @path(/{context}/xxx) class ServiceA ``` - + * **Q: ServiceComb微服务框架如何实现数据多个微服务间透传** A: 透传数据塞入: - + ```java CseHttpEntity httpEntity = new CseHttpEntity<>(xxx); //透传内容 httpEntity.addContext("contextKey","contextValue"); ResponseEntity responseEntity = RestTemplateBuilder.create().exchange("cse://springmvc/springmvchello/sayhello",HttpMethod.POST,httpEntity,String.class); ``` - + 透传数据获取: - + ```java @Override @RequestMapping(path="/sayhello",method = RequestMethod.POST) @@ -272,15 +272,15 @@ redirect_from: return "Hello person "+person.getName(); } ``` - + * **Q: ServiceComb body Model部分暴露** A: 一个接口对应的body对象中,可能有一些属性是内部的,不想开放出去,生成schema的时候不要带出去,使用: - + ```java @ApiModelProperty(hidden = true) ``` - + * **Q: ServiceComb框架获取远端consumer的地址** A: 如果使用http rest方式(使用transport-rest-vertx依赖)可以用下面这种方式获取: @@ -292,9 +292,9 @@ redirect_from: System.out.println(req.getRemoteHost()); } ``` - + 实际场景是拿最外层的地址,所以应该是LB传入到edgeservice,edgeService再放到context外下传递。 - + * **Q: ServiceComb不支持泛型
[incubator-servicecomb-website] branch master updated: Add slide for 0421 vivo Spring Cloud community salon (#66)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/master by this push: new a4ffaf8 Add slide for 0421 vivo Spring Cloud community salon (#66) a4ffaf8 is described below commit a4ffaf8f71a06ad2f4968dab8fd7076d77cab974 Author: Yang, Bo AuthorDate: Mon Apr 23 10:30:47 2018 +0800 Add slide for 0421 vivo Spring Cloud community salon (#66) --- _pages/about-slides.md | 3 +++ assets/slides/20180421/Introduction_to_ServiceComb.pdf | Bin 0 -> 684862 bytes 2 files changed, 3 insertions(+) diff --git a/_pages/about-slides.md b/_pages/about-slides.md index 18d4b81..8306587 100644 --- a/_pages/about-slides.md +++ b/_pages/about-slides.md @@ -46,3 +46,6 @@ date: 2017-06-20T11:02:20+08:00 ## [ServiceComb live streaming phase X](http://www.itdks.com/liveevent/detail/10301), 20180315 * [Monitor Apache ServiceComb(incubating) using Apache SkyWalking(incubating) APM]({{ site.url }}{{ site.baseurl }}/assets/slides/20180315/Monitor_Apache_ServiceComb_using_Apache_Skywalking_APM.pdf) + +## Spring Cloud 2018 Chinese Community Salon (Shenzhen) + * [Introduction to ServiceComb]({{ site.url }}{{ site.baseurl }}/assets/slides/20180421/Introduction_to_ServiceComb.pdf) diff --git a/assets/slides/20180421/Introduction_to_ServiceComb.pdf b/assets/slides/20180421/Introduction_to_ServiceComb.pdf new file mode 100644 index 000..a2e2e3e Binary files /dev/null and b/assets/slides/20180421/Introduction_to_ServiceComb.pdf differ -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch master updated: Updated the slides
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/master by this push: new 608a2d7 Updated the slides 608a2d7 is described below commit 608a2d7f52e7ad4cbe932bb2861dc72e0ca16b00 Author: Willem Jiang AuthorDate: Mon Apr 23 10:39:03 2018 +0800 Updated the slides --- _pages/about-slides.md | 12 +--- assets/slides/20180322/ServiceComb-OSCAR.pdf| Bin 0 -> 4192319 bytes assets/slides/20180422/QConBeijing2018-Saga.pdf | Bin 0 -> 2912841 bytes 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/_pages/about-slides.md b/_pages/about-slides.md index 8306587..9c2dcd3 100644 --- a/_pages/about-slides.md +++ b/_pages/about-slides.md @@ -10,10 +10,10 @@ date: 2017-06-20T11:02:20+08:00 * [design principles and ecosystem of microservice]({{ site.url }}{{ site.baseurl }}/assets/slides/20170619/MSAPrinciple&EcoSystem.pdf) * [ServiceComb RoadMap]({{ site.url }}{{ site.baseurl }}/assets/slides/20170619/ServiceCombRoadMap.pdf) * [ServiceComb Workshop]({{ site.url }}{{ site.baseurl }}/assets/slides/20170619/LinuxCon-Workshop-company.pdf) - + ## Arch Submit, 20171209, Beijing * [Practice Of Service Mesh on Huawei Public Cloud]({{ site.url }}{{ site.baseurl }}/assets/slides/20171209/PracticeOfServiceMeshOnHuaweiPublicCloud.pdf) - + ## Microservice Meetup, 20180127, Shenzhen * [ServiceComb Overview]({{ site.url }}{{ site.baseurl }}/assets/slides/20180127/ServiceComb_Overview.pdf) @@ -46,6 +46,12 @@ date: 2017-06-20T11:02:20+08:00 ## [ServiceComb live streaming phase X](http://www.itdks.com/liveevent/detail/10301), 20180315 * [Monitor Apache ServiceComb(incubating) using Apache SkyWalking(incubating) APM]({{ site.url }}{{ site.baseurl }}/assets/slides/20180315/Monitor_Apache_ServiceComb_using_Apache_Skywalking_APM.pdf) - + +## OSCA Cloud Summit 2018 + * [The RoadMap of ServiceComb]({{ site.url }}{{ site.baseurl }}/assets/slides/20180322/ServiceComb-OSCAR.pdf) + ## Spring Cloud 2018 Chinese Community Salon (Shenzhen) * [Introduction to ServiceComb]({{ site.url }}{{ site.baseurl }}/assets/slides/20180421/Introduction_to_ServiceComb.pdf) + +## QConBeijing 2018 + * [Distributed Transaction Management with Saga]({{ site.url }}{{ site.baseurl }}/assets/slides/20180322/QConBeijing2018-Saga.pdf) diff --git a/assets/slides/20180322/ServiceComb-OSCAR.pdf b/assets/slides/20180322/ServiceComb-OSCAR.pdf new file mode 100644 index 000..23d18d4 Binary files /dev/null and b/assets/slides/20180322/ServiceComb-OSCAR.pdf differ diff --git a/assets/slides/20180422/QConBeijing2018-Saga.pdf b/assets/slides/20180422/QConBeijing2018-Saga.pdf new file mode 100644 index 000..a8fb189 Binary files /dev/null and b/assets/slides/20180422/QConBeijing2018-Saga.pdf differ -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 02/02: Fixed the url issue of slides
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit ffe6336cf57abc8374e6954db24c95a928e578d7 Author: Willem Jiang AuthorDate: Mon Apr 23 10:49:47 2018 +0800 Fixed the url issue of slides --- _pages/about-slides.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_pages/about-slides.md b/_pages/about-slides.md index 9c2dcd3..33e4559 100644 --- a/_pages/about-slides.md +++ b/_pages/about-slides.md @@ -54,4 +54,4 @@ date: 2017-06-20T11:02:20+08:00 * [Introduction to ServiceComb]({{ site.url }}{{ site.baseurl }}/assets/slides/20180421/Introduction_to_ServiceComb.pdf) ## QConBeijing 2018 - * [Distributed Transaction Management with Saga]({{ site.url }}{{ site.baseurl }}/assets/slides/20180322/QConBeijing2018-Saga.pdf) + * [Distributed Transaction Management with Saga]({{ site.url }}{{ site.baseurl }}/assets/slides/20180422/QConBeijing2018-Saga.pdf) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch asf-site updated (8651606 -> ffe6336)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from 8651606 Publish the website add a4ffaf8 Add slide for 0421 vivo Spring Cloud community salon (#66) add 608a2d7 Updated the slides new 39ec220 Merge branch 'master' into asf-site new ffe6336 Fixed the url issue of slides The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: _pages/about-slides.md| 13 +++-- assets/slides/20180322/ServiceComb-OSCAR.pdf | Bin 0 -> 4192319 bytes .../slides/20180421/Introduction_to_ServiceComb.pdf | Bin 0 -> 684862 bytes assets/slides/20180422/QConBeijing2018-Saga.pdf | Bin 0 -> 2912841 bytes 4 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 assets/slides/20180322/ServiceComb-OSCAR.pdf create mode 100644 assets/slides/20180421/Introduction_to_ServiceComb.pdf create mode 100644 assets/slides/20180422/QConBeijing2018-Saga.pdf -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 01/02: Merge branch 'master' into asf-site
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 39ec220eff1b05d2e1e6b1ddb1d7d5928ca3d81c Merge: 8651606 608a2d7 Author: Willem Jiang AuthorDate: Mon Apr 23 10:39:54 2018 +0800 Merge branch 'master' into asf-site _pages/about-slides.md| 13 +++-- assets/slides/20180322/ServiceComb-OSCAR.pdf | Bin 0 -> 4192319 bytes .../slides/20180421/Introduction_to_ServiceComb.pdf | Bin 0 -> 684862 bytes assets/slides/20180422/QConBeijing2018-Saga.pdf | Bin 0 -> 2912841 bytes 4 files changed, 11 insertions(+), 2 deletions(-) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch asf-site updated: Publish the website
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/asf-site by this push: new f6f834d Publish the website f6f834d is described below commit f6f834d0f565c4e2dfa6290ac6e6868f438591d0 Author: Willem Jiang AuthorDate: Mon Apr 23 11:57:16 2018 +0800 Publish the website --- content/assets/slides/20180322/ServiceComb-OSCAR.pdf | Bin 0 -> 4192319 bytes .../slides/20180421/Introduction_to_ServiceComb.pdf | Bin 0 -> 684862 bytes .../assets/slides/20180422/QConBeijing2018-Saga.pdf | Bin 0 -> 2912841 bytes content/feed.xml | 2 +- content/sitemap.xml | 12 content/slides/index.html | 15 +++ 6 files changed, 28 insertions(+), 1 deletion(-) diff --git a/content/assets/slides/20180322/ServiceComb-OSCAR.pdf b/content/assets/slides/20180322/ServiceComb-OSCAR.pdf new file mode 100644 index 000..23d18d4 Binary files /dev/null and b/content/assets/slides/20180322/ServiceComb-OSCAR.pdf differ diff --git a/content/assets/slides/20180421/Introduction_to_ServiceComb.pdf b/content/assets/slides/20180421/Introduction_to_ServiceComb.pdf new file mode 100644 index 000..a2e2e3e Binary files /dev/null and b/content/assets/slides/20180421/Introduction_to_ServiceComb.pdf differ diff --git a/content/assets/slides/20180422/QConBeijing2018-Saga.pdf b/content/assets/slides/20180422/QConBeijing2018-Saga.pdf new file mode 100644 index 000..a8fb189 Binary files /dev/null and b/content/assets/slides/20180422/QConBeijing2018-Saga.pdf differ diff --git a/content/feed.xml b/content/feed.xml index 99e5588..83df308 100644 --- a/content/feed.xml +++ b/content/feed.xml @@ -1,4 +1,4 @@ -http://www.w3.org/2005/Atom"; >https://jekyllrb.com/"; version="3.4.3">Jekyll2018-04-22T09:07:39+08:00/Apache ServiceComb (incubating)The homepage of ServiceComb{"name"=>nil, "avatar"=> [...] +http://www.w3.org/2005/Atom"; >https://jekyllrb.com/"; version="3.4.3">Jekyll2018-04-23T10:50:20+08:00/Apache ServiceComb (incubating)The homepage of ServiceComb{"name"=>nil, "avatar"=> [...] <p>在maven中,Java Chassis的依赖管理通过以下方式即可引入:</p> diff --git a/content/sitemap.xml b/content/sitemap.xml index 4e9466c..c7bf99f 100644 --- a/content/sitemap.xml +++ b/content/sitemap.xml @@ -681,4 +681,16 @@ /assets/slides/20180315/Monitor_Apache_ServiceComb_using_Apache_Skywalking_APM.pdf 2018-03-28T11:29:18+08:00 + +/assets/slides/20180322/ServiceComb-OSCAR.pdf +2018-04-23T10:39:54+08:00 + + +/assets/slides/20180421/Introduction_to_ServiceComb.pdf +2018-04-23T10:39:54+08:00 + + +/assets/slides/20180422/QConBeijing2018-Saga.pdf +2018-04-23T10:39:55+08:00 + diff --git a/content/slides/index.html b/content/slides/index.html index 152626a..7b5349c 100644 --- a/content/slides/index.html +++ b/content/slides/index.html @@ -350,6 +350,21 @@ Monitor Apache ServiceComb(incubating) using Apache SkyWalking(incubating) APM +OSCA Cloud Summit 2018 + + The RoadMap of ServiceComb + + +Spring Cloud 2018 Chinese Community Salon (Shenzhen) + + Introduction to ServiceComb + + +QConBeijing 2018 + + Distributed Transaction Management with Saga + + -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch master updated (608a2d7 -> 7a11a2e)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from 608a2d7 Updated the slides new fc683ad Fixed the url issue of slides new 7a11a2e Updated the slide chinese page The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: _pages/about-slides.md| 2 +- _pages/cn/about-slides.md | 11 ++- 2 files changed, 11 insertions(+), 2 deletions(-) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 02/02: Updated the slide chinese page
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 7a11a2e0278ad74f35390e4de495099d9106c61f Author: Willem Jiang AuthorDate: Tue Apr 24 11:24:00 2018 +0800 Updated the slide chinese page --- _pages/cn/about-slides.md | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/_pages/cn/about-slides.md b/_pages/cn/about-slides.md index 2027610..f081a45 100644 --- a/_pages/cn/about-slides.md +++ b/_pages/cn/about-slides.md @@ -13,7 +13,7 @@ date: 2017-06-20T11:02:20+08:00 ## Arch Submit, 20171209, 北京 * [Service Mesh在华为公有云的实践]({{ site.url }}{{ site.baseurl }}/assets/slides/20171209/PracticeOfServiceMeshOnHuaweiPublicCloud.pdf) - + ## 微服务实践技术沙龙, 20180127, 深圳 * [微服务框架ServiceComb]({{ site.url }}{{ site.baseurl }}/assets/slides/20180127/ServiceComb_Overview.pdf) @@ -46,3 +46,12 @@ date: 2017-06-20T11:02:20+08:00 ## [ServiceComb 直播第十期](http://www.itdks.com/liveevent/detail/10301), 20180315 * [使用Apache SkyWalking(incubating) APM监控Apache ServiceComb(incubating)]({{ site.url }}{{ site.baseurl }}/assets/slides/20180315/Monitor_Apache_ServiceComb_using_Apache_Skywalking_APM.pdf) + +## OSCA Cloud Summit 2018 + * [ServiceComb雄关漫道]({{ site.url }}{{ site.baseurl }}/assets/slides/20180322/ServiceComb-OSCAR.pdf) + +## Spring Cloud 2018 中国社区沙龙 (深圳) + * [介绍ServiceComb]({{ site.url }}{{ site.baseurl }}/assets/slides/20180421/Introduction_to_ServiceComb.pdf) + +## QConBeijing 2018 + * [分布式事务一致性Saga设计与实现]({{ site.url }}{{ site.baseurl }}/assets/slides/20180422/QConBeijing2018-Saga.pdf) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 01/02: Fixed the url issue of slides
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit fc683add6fbc8d90c7a83669460e752a54590d3c Author: Willem Jiang AuthorDate: Mon Apr 23 10:49:47 2018 +0800 Fixed the url issue of slides --- _pages/about-slides.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_pages/about-slides.md b/_pages/about-slides.md index 9c2dcd3..33e4559 100644 --- a/_pages/about-slides.md +++ b/_pages/about-slides.md @@ -54,4 +54,4 @@ date: 2017-06-20T11:02:20+08:00 * [Introduction to ServiceComb]({{ site.url }}{{ site.baseurl }}/assets/slides/20180421/Introduction_to_ServiceComb.pdf) ## QConBeijing 2018 - * [Distributed Transaction Management with Saga]({{ site.url }}{{ site.baseurl }}/assets/slides/20180322/QConBeijing2018-Saga.pdf) + * [Distributed Transaction Management with Saga]({{ site.url }}{{ site.baseurl }}/assets/slides/20180422/QConBeijing2018-Saga.pdf) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch asf-site updated (f6f834d -> 5065ec4)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from f6f834d Publish the website add fc683ad Fixed the url issue of slides add 7a11a2e Updated the slide chinese page new 1140e8d Merge branch 'master' into asf-site new 5065ec4 Publish the website The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: _pages/cn/about-slides.md| 11 ++- content/cn/slides/index.html | 15 +++ content/feed.xml | 2 +- 3 files changed, 26 insertions(+), 2 deletions(-) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 02/02: Publish the website
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 5065ec4efbc8fc33f7bfe8432b5097870537c24b Author: Willem Jiang AuthorDate: Tue Apr 24 11:29:14 2018 +0800 Publish the website --- content/cn/slides/index.html | 15 +++ content/feed.xml | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/content/cn/slides/index.html b/content/cn/slides/index.html index 6a24e00..116fdae 100644 --- a/content/cn/slides/index.html +++ b/content/cn/slides/index.html @@ -351,6 +351,21 @@ 使用Apache SkyWalking(incubating) APM监控Apache ServiceComb(incubating) +OSCA Cloud Summit 2018 + + ServiceComb雄关漫道 + + +Spring Cloud 2018 中国社区沙龙 (深圳) + + 介绍ServiceComb + + +QConBeijing 2018 + + 分布式事务一致性Saga设计与实现 + + diff --git a/content/feed.xml b/content/feed.xml index 83df308..76c869d 100644 --- a/content/feed.xml +++ b/content/feed.xml @@ -1,4 +1,4 @@ -http://www.w3.org/2005/Atom"; >https://jekyllrb.com/"; version="3.4.3">Jekyll2018-04-23T10:50:20+08:00/Apache ServiceComb (incubating)The homepage of ServiceComb{"name"=>nil, "avatar"=> [...] +http://www.w3.org/2005/Atom"; >https://jekyllrb.com/"; version="3.4.3">Jekyll2018-04-24T11:28:21+08:00/Apache ServiceComb (incubating)The homepage of ServiceComb{"name"=>nil, "avatar"=> [...] <p>在maven中,Java Chassis的依赖管理通过以下方式即可引入:</p> -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 01/02: Merge branch 'master' into asf-site
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 1140e8ddee60004c6ea38588ed3fef4ad86509ac Merge: f6f834d 7a11a2e Author: Willem Jiang AuthorDate: Tue Apr 24 11:28:03 2018 +0800 Merge branch 'master' into asf-site _pages/cn/about-slides.md | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch master updated: add Q&A about @ApiOperation (#68)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/master by this push: new 395674b add Q&A about @ApiOperation (#68) 395674b is described below commit 395674b8f9a8d2b63b4499922b5b9c0b68ba2834 Author: zhengyangyong AuthorDate: Tue Apr 24 17:27:16 2018 +0800 add Q&A about @ApiOperation (#68) Signed-off-by: zhengyangyong --- _faqs/cn/faq.md | 4 1 file changed, 4 insertions(+) diff --git a/_faqs/cn/faq.md b/_faqs/cn/faq.md index 13062f6..43533c4 100755 --- a/_faqs/cn/faq.md +++ b/_faqs/cn/faq.md @@ -25,6 +25,10 @@ redirect_from: (2) 所用到的HTTP请求方法一样时,如GET,则方法名不能重载。这是由于生成契约时方法名会作为其Operation ID,所以要保证其唯一性。 (3) 方法和类必须是public的。 +* **Q: 契约生成会报错Caused by: java.lang.Error: OperationId must be unique,不支持函数重载?** + + A: 我们是支持函数重载的, 加上`@ApiOperation`标签即可,demo-pojo中有示例。每个接口必须有唯一的operation id。 + * **Q: 使用*spring-boot-starter-provider*这个依赖时,在*application.yml*文件中声明的`spring.main.web-application`属性并没有生效?** A: 使用*starter-provider*这个依赖时,如果用到了servlet这种方式时,需要在*application.properties*这个文件引入`spring.main.web-application=true`这样的属性或者在*application.yml*文件中声明,但是此时需要新建一个*application.properties*的文件,其内容可以为空。 -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch asf-site updated: add service center m1 fix method (#69)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/asf-site by this push: new 8abac13 add service center m1 fix method (#69) 8abac13 is described below commit 8abac13bdb58abe9f7c2aabe1737cb90a314bb3f Author: zhengyangyong AuthorDate: Tue Apr 24 17:26:45 2018 +0800 add service center m1 fix method (#69) Signed-off-by: zhengyangyong --- _users/cn/setup-environment.md | 4 _users/setup-environment.md| 4 2 files changed, 8 insertions(+) diff --git a/_users/cn/setup-environment.md b/_users/cn/setup-environment.md index 749f5a5..08f04ef 100644 --- a/_users/cn/setup-environment.md +++ b/_users/cn/setup-environment.md @@ -46,6 +46,10 @@ last_modified_at: 2018-04-13T10:01:43-04:00 ```bash bash apache-servicecomb-incubating-service-center-1.0.0-m1-linux-amd64/start-service-center.sh ``` + + 注意:前端(frontend)在Linux环境下默认会绑定ipv6地址,导致浏览器报错,修复办法为:先修改conf/app.conf中的httpaddr为外部可达网卡ip,之后修改app/appList/apiList.js中`ip : 'http://127.0.0.1'`为对应ip,最后重启ServiceCenter即可。 +{: .notice--warning} + diff --git a/_users/setup-environment.md b/_users/setup-environment.md index fdc8316..fe3779c 100644 --- a/_users/setup-environment.md +++ b/_users/setup-environment.md @@ -46,6 +46,10 @@ There are two ways to start a stand-alone service center service: ```bash bash apache-servicecomb-incubating-service-center-1.0.0-m1-linux-amd64/start-service-center.sh ``` + + NOTE:Frontend will bind ipv6 address under Linux, so browser may report error, fix method:Modify httpaddr in conf/app.conf with a reachable ip, then modify `ip : 'http://127.0.0.1'` in app/appList/apiList.js with same ip, final restart ServiceCenter. + {: .notice--warning} + -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch asf-site updated: add subscribe mail-list guide (#70)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/asf-site by this push: new 17f45a3 add subscribe mail-list guide (#70) 17f45a3 is described below commit 17f45a30aec928e62ef6d2b9f0f69cf1bc65761e Author: Wang Qilin AuthorDate: Tue Apr 24 17:28:00 2018 +0800 add subscribe mail-list guide (#70) Signed-off-by: Wang Kirin --- _data/navigation.yml| 2 + _developers/cn/developer-guide.md | 2 +- _developers/cn/subscribe-mail-list.md | 67 assets/images/subscribe-mail-list-step1.png | Bin 0 -> 8831 bytes assets/images/subscribe-mail-list-step2.png | Bin 0 -> 65335 bytes assets/images/subscribe-mail-list-step3.png | Bin 0 -> 48503 bytes assets/images/subscribe-mail-list-step4.png | Bin 0 -> 57022 bytes 7 files changed, 70 insertions(+), 1 deletion(-) diff --git a/_data/navigation.yml b/_data/navigation.yml index e33cc6a..8ec0d17 100755 --- a/_data/navigation.yml +++ b/_data/navigation.yml @@ -284,6 +284,8 @@ t: url: /cn/developers/setup-develop-environment/ - title: "代码提交指南" url: /cn/developers/submit-codes/ + - title: "邮件列表订阅指南" +url: /cn/developers/subscribe-mail-list/ - title: "JIRA使用方法" url: /cn/developers/use-jira/ - title: "设置代码仓库写权限" diff --git a/_developers/cn/developer-guide.md b/_developers/cn/developer-guide.md old mode 100644 new mode 100755 index bd79818..17af31c --- a/_developers/cn/developer-guide.md +++ b/_developers/cn/developer-guide.md @@ -21,4 +21,4 @@ last_modified_at: 2017-06-24T19:18:43+08:00 * [开发环境准备](/cn/developers/setup-develop-environment/):主要介绍git,JDK,Maven以及IDE的安装及配置。 * [代码提交指南](/cn/developers/submit-codes/):主要介绍功能特性需求及现有bug的获取途径,提交代码前的测试事宜,如何提交PR以及如何解决冲突等。 -同时,也欢迎您订阅[ServiceComb邮件列表](mailto:dev-subscr...@servicecomb.incubator.apache.org)了解 ServiceComb 项目的开发动态以及进行话题讨论。 +同时,也欢迎您订阅[ServiceComb邮件列表](mailto:dev-subscr...@servicecomb.incubator.apache.org)了解 ServiceComb 项目的开发动态以及进行话题讨论。订阅的方法可参阅[邮件列表订阅指南](/cn/developers/subscribe-mail-list/)。 diff --git a/_developers/cn/subscribe-mail-list.md b/_developers/cn/subscribe-mail-list.md new file mode 100755 index 000..967f1de --- /dev/null +++ b/_developers/cn/subscribe-mail-list.md @@ -0,0 +1,67 @@ +--- +title: "如何订阅Apache ServiceComb (incubating) 的邮件列表" +lang: cn +ref: subscribe-mail-list +permalink: /cn/developers/subscribe-mail-list/ +excerpt: "如何订阅Apache ServiceComb (incubating) 的邮件列表" +last_modified_at: 2017-09-08T20:26:43-20:46 +--- + +{% include toc %} + + +## 0 前言 + + 邮件列表(Mail List)是一个成熟开源社区的“枢纽”。通常来说,开源社区的提问与解答、技术讨论、事务决策等都通过邮件列表来承载。邮件列表异步、广播的特性,也非常适合开源社区的沟通交流。那么,如何订阅Apache ServiceComb (incubating)的邮件列表呢? + + + +## STEP 1:发送订阅邮件 + +打开自己的邮箱,新建邮件,向`dev-subscr...@servicecomb.apache.org`发送一封邮件(邮件主题和内容任意) + + +> ![step1](/assets/images/subscribe-mail-list-step1.png){: .align-center} + + + +## STEP 2:接收来自dev-h...@servicecomb.apache.org的确认邮件 + + 执行完第一步之后,您将收到一封来自`dev-h...@servicecomb.apache.org`的确认邮件,邮件内容如下图所示。(**如果长时间未能收到,请确认该邮件是否已被拦截,或已经被自动归入“订阅邮件”、“垃圾邮件”、“推广邮件”等文件夹**) + + +> ![step2](/assets/images/subscribe-mail-list-step2.png){: .align-center} + + + +## STEP 3: 回复确认邮件 + +针对上一步接收到的邮件, + +**a.直接回复该邮件** + +***或*** + +**b. 新建一封`收件人`为上一步中的`回复地址`的邮件** + +均可,内容主题不限 + +> ![step3](/assets/images/subscribe-mail-list-step3.png){: .align-center} + + + +## STEP 4:接收欢迎邮件 + + 完成第三步之后,将会受到一封标题为**WELCOME to d...@servicecomb.apache.org**的欢迎邮件。至此,订阅邮件列表的工作已经完成了,社区的动态都会通过邮件的方式通知您。 + + + +> ![step4](/assets/images/subscribe-mail-list-step4.png){: .align-center} + + + + + +## STEP 5: 发起邮件讨论(可选) + + 成功订阅邮件列表后,若想发起讨论,直接往`d...@servicecomb.apache.org`发送邮件即可。所有订阅了邮件列表的人都会收到邮件。 \ No newline at end of file diff --git a/assets/images/subscribe-mail-list-step1.png b/assets/images/subscribe-mail-list-step1.png new file mode 100755 index 000..766d663 Binary files /dev/null and b/assets/images/subscribe-mail-list-step1.png differ diff --git a/assets/images/subscribe-mail-list-step2.png b/assets/images/subscribe-mail-list-step2.png new file mode 100755 index 000..4130d19 Binary files /dev/null and b/assets/images/subscribe-mail-list-step2.png differ diff --git a/assets/images/subscribe-mail-list-step3.png b/assets/images/subscribe-mail-list-step3.png new file mode 100755 index 000..5634537 Binary files /dev/null and b/assets/images/subscribe-mail-list-step3.png differ diff --git a/assets/images/subscribe-mail-list-step4.png b/assets/images/subscribe-mail-list-step4.png new file mode 100755 index 000..eb9a645 Binary files /dev/null and b/assets/images/subscribe-mail-list-step4.png differ -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch master updated: Split General Development/Use ServiceComb in Spring Boot document (#67)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/master by this push: new d878253 Split General Development/Use ServiceComb in Spring Boot document (#67) d878253 is described below commit d878253f3a99613981d78c7b3d0f5bd8994ee647 Author: zhengyangyong AuthorDate: Tue Apr 24 17:30:01 2018 +0800 Split General Development/Use ServiceComb in Spring Boot document (#67) * In the "General Development/Use ServiceComb in Spring Boot" document,it is include two topics: 1.Using the Service Center and Governance Center to Manage the Spring Cloud Application 2.How to develop Microservice with Spring Boot Starter So I had split it into two document: 1.Open Service Capabilities/Using the Service Center and Governance Center to Manage the Spring Cloud Application (Spring zuul also here) 2.Develop Service Provider/Develop Microservice with Spring Boot Starter Signed-off-by: zhengyangyong * fix style Signed-off-by: zhengyangyong --- _data/navigation.yml | 14 +- _users/cn/develop-with-springboot-starter.md | 147 + ...age_springcloud_application_using_sc_and_gs.md} | 106 ++- _users/develop-with-jax-rs.md | 4 +- ...ngmvc.md => develop-with-springboot-starter.md} | 92 ++--- _users/develop-with-springmvc.md | 4 +- _users/develop-with-transparent-rpc.md | 4 +- ...age_springcloud_application_using_sc_and_gs.md} | 100 ++ 8 files changed, 226 insertions(+), 245 deletions(-) diff --git a/_data/navigation.yml b/_data/navigation.yml index 7ad9b42..e72eeaa 100755 --- a/_data/navigation.yml +++ b/_data/navigation.yml @@ -54,6 +54,8 @@ t: url: /users/develop-with-jax-rs/ - title: Develop Microservice with Transparent RPC url: /users/develop-with-transparent-rpc/ + - title: Develop Microservice with Spring Boot Starter +url: /users/develop-with-spring-boot-starter/ - title: Service Interface Constraints url: /users/service-interface-constraints/ - title: Service Configurations @@ -80,8 +82,6 @@ t: children: - title: Develop and Test in Local Environment url: /users/local-develop-test/ - - title: Use ServiceComb in Spring Boot -url: /users/use-servicecomb-in-spring-boot/ - title: Distributed Tracing url: /users/distributed-tracing/ - title: Customized Tracing @@ -90,7 +90,7 @@ t: - title: Dynamic Configurations url: /users/dynamic-config/ - - title: Edging Service + - title: Open Service Capabilities children: - title: Confd and Nginx Edge Service url: /users/edging-service/nginx/ @@ -98,6 +98,8 @@ t: url: /users/edging-service/zuul/ - title: ServiceComb Java Chassis Edge Service url: /users/edge-in-1.0.0-m1/ + - title: Using the Service Center and Governance Center to Manage the Spring Cloud Application +url: /users/manage_springcloud_application_using_sc_and_gs/ - title: Monitor children: @@ -211,6 +213,8 @@ t: url: /cn/users/develop-with-jax-rs/ - title: 用透明RPC开发微服务 url: /cn/users/develop-with-transparent-rpc/ + - title: 用Spring Boot Starter开发微服务 +url: /cn/users/develop-with-spring-boot-starter/ - title: 服务接口约束 url: /cn/users/service-interface-constraints/ - title: 服务配置 @@ -237,8 +241,6 @@ t: children: - title: 本地开发与测试 url: /cn/users/local-develop-test/ - - title: 在Spring Boot中使用ServiceComb -url: /cn/users/use-servicecomb-in-spring-boot/ - title: 分布式调用链追踪 url: /cn/users/distributed-tracing/ - title: 自定义调用链打点 @@ -255,6 +257,8 @@ t: url: /cn/users/edging-service/zuul/ - title: 使用内置Edge模块实现边缘服务 url: /cn/users/edge-in-1.0.0-m1/ + - title: 使用Service Center和治理中心管理Spring Cloud应用 +url: /cn/users/manage_springcloud_application_using_sc_and_gs/ - title: 监控 children: diff --git a/_users/cn/develop-with-springboot-starter.md b/_users/cn/develop-with-springboot-starter.md new file mode 100644 index 000..b4d33e1 --- /dev/null +++ b/_users/cn/develop-with-springboot-starter.md @@ -0,0 +1,147 @@ +--- +title: "用Spring Boot Starter开发微服务" +lang: cn +ref: develop-with-spring-boot-starter +permalink: /cn/users/develop-with-spring-boot-starter/ +excerpt: "用Spring Boot Starter开发微服务" +last_modified_at: 2018-04-23T15:01:43-04:00
[incubator-servicecomb-website] 01/02: Merge branch 'master' into asf-site
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 925965e59211c44b1c33d8f3ebd00825f0cb4e7f Merge: 17f45a3 676ae04 Author: Willem Jiang AuthorDate: Tue Apr 24 17:33:16 2018 +0800 Merge branch 'master' into asf-site _data/navigation.yml | 14 +- _faqs/cn/faq.md| 4 + _users/cn/develop-with-springboot-starter.md | 147 + ...age_springcloud_application_using_sc_and_gs.md} | 106 ++- _users/develop-with-jax-rs.md | 4 +- ...ngmvc.md => develop-with-springboot-starter.md} | 92 ++--- _users/develop-with-springmvc.md | 4 +- _users/develop-with-transparent-rpc.md | 4 +- ...age_springcloud_application_using_sc_and_gs.md} | 100 ++ 9 files changed, 230 insertions(+), 245 deletions(-) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch asf-site updated (17f45a3 -> fad336e)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from 17f45a3 add subscribe mail-list guide (#70) add 395674b add Q&A about @ApiOperation (#68) add d878253 Split General Development/Use ServiceComb in Spring Boot document (#67) add 9449db6 add service center m1 fix method (#69) add 676ae04 add subscribe mail-list guide (#70) new 925965e Merge branch 'master' into asf-site new fad336e Publish the website The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: _data/navigation.yml | 14 +- _faqs/cn/faq.md| 4 + ...ngmvc.md => develop-with-springboot-starter.md} | 96 ++-- ...age_springcloud_application_using_sc_and_gs.md} | 106 ++--- _users/develop-with-jax-rs.md | 4 +- ...ngmvc.md => develop-with-springboot-starter.md} | 92 ++-- _users/develop-with-springmvc.md | 4 +- _users/develop-with-transparent-rpc.md | 4 +- ...age_springcloud_application_using_sc_and_gs.md} | 100 + .../assets}/images/subscribe-mail-list-step1.png | Bin .../assets}/images/subscribe-mail-list-step2.png | Bin .../assets}/images/subscribe-mail-list-step3.png | Bin .../assets}/images/subscribe-mail-list-step4.png | Bin content/cn/developers/index.html | 13 +- .../developers/setup-committer-rights/index.html | 11 ++ .../setup-develop-environment/index.html | 11 ++ content/cn/developers/submit-codes/index.html | 11 ++ .../index.html | 111 +++--- content/cn/developers/use-jira/index.html | 11 ++ content/cn/faqs/index.html | 5 + .../cn/users/application-boot-process/index.html | 24 ++- content/cn/users/communicate-protocol/index.html | 24 ++- content/cn/users/customized-tracing/index.html | 24 ++- content/cn/users/develop-with-jax-rs/index.html| 24 ++- .../cn/users/develop-with-rest-template/index.html | 24 ++- content/cn/users/develop-with-rpc/index.html | 24 ++- .../index.html | 147 ++ content/cn/users/develop-with-springmvc/index.html | 24 ++- .../users/develop-with-transparent-rpc/index.html | 24 ++- content/cn/users/distributed-tracing/index.html| 24 ++- content/cn/users/dynamic-config/index.html | 24 ++- content/cn/users/edge-in-1.0.0-m1/index.html | 24 ++- content/cn/users/edging-service/nginx/index.html | 24 ++- content/cn/users/edging-service/zuul/index.html| 24 ++- content/cn/users/index.html| 24 ++- content/cn/users/invoke-control/index.html | 24 ++- content/cn/users/local-develop-test/index.html | 24 ++- .../index.html | 166 + content/cn/users/metrics-in-0.5.0/index.html | 24 ++- content/cn/users/metrics-in-1.0.0-m1/index.html| 24 ++- .../index.html | 24 ++- .../index.html | 24 ++- content/cn/users/run-mode/index.html | 24 ++- content/cn/users/service-configurations/index.html | 24 ++- content/cn/users/service-contract/index.html | 24 ++- content/cn/users/service-definition/index.html | 24 ++- content/cn/users/service-heartbeat/index.html | 24 ++- .../users/service-interface-constraints/index.html | 24 ++- content/cn/users/setup-environment/index.html | 27 +++- content/cn/users/use-service-contract/index.html | 24 ++- content/cn/users/use-tls/index.html| 24 ++- content/feed.xml | 2 +- content/sitemap.xml| 146 +- content/users/application-boot-process/index.html | 26 ++-- content/users/communicate-protocol/index.html | 26 ++-- content/users/customized-tracing/index.html| 26 ++-- content/users/develop-with-jax-rs/index.html | 44 +++--- .../users/develop-with-rest-template/index.html| 26 ++-- content/users/develop-with-rpc/index.html | 26 ++-- .../index.html | 151 +++ content/users/develop-with-springmvc/index.html| 44 +++--- .../users/develop-with-transparent-rpc/index.html | 44 +++--- content/users/distributed-tracing/index.html | 26 ++-- content/users/dynamic-config/index.html| 26 ++-- content/users/edge-in-1.0.0-m1
[incubator-servicecomb-website] branch master updated (d878253 -> 676ae04)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from d878253 Split General Development/Use ServiceComb in Spring Boot document (#67) add 9449db6 add service center m1 fix method (#69) add 676ae04 add subscribe mail-list guide (#70) No new revisions were added by this update. Summary of changes: _data/navigation.yml| 2 + _developers/cn/developer-guide.md | 2 +- _developers/cn/subscribe-mail-list.md | 67 _users/cn/setup-environment.md | 4 ++ _users/setup-environment.md | 4 ++ assets/images/subscribe-mail-list-step1.png | Bin 0 -> 8831 bytes assets/images/subscribe-mail-list-step2.png | Bin 0 -> 65335 bytes assets/images/subscribe-mail-list-step3.png | Bin 0 -> 48503 bytes assets/images/subscribe-mail-list-step4.png | Bin 0 -> 57022 bytes 9 files changed, 78 insertions(+), 1 deletion(-) mode change 100644 => 100755 _developers/cn/developer-guide.md create mode 100755 _developers/cn/subscribe-mail-list.md create mode 100755 assets/images/subscribe-mail-list-step1.png create mode 100755 assets/images/subscribe-mail-list-step2.png create mode 100755 assets/images/subscribe-mail-list-step3.png create mode 100755 assets/images/subscribe-mail-list-step4.png -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch asf-site updated: add blog to descripe open design of ServiceComb (#71)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/asf-site by this push: new b7a4755 add blog to descripe open design of ServiceComb (#71) b7a4755 is described below commit b7a47554fba6dd260fb67bed82901d17684d9018 Author: Zen Lin AuthorDate: Thu Apr 26 15:14:33 2018 +0800 add blog to descripe open design of ServiceComb (#71) * add blog to descripe open design of ServiceComb Signed-off-by: linzhinan * correct code format in the blog Signed-off-by: linzhinan --- _posts/cn/2018-04-25-open-design.md| 319 + ...n-design-integrate-with-running-environment.png | Bin 0 -> 45070 bytes assets/images/open-design-running-arch.png | Bin 0 -> 66533 bytes assets/images/open-design-third-party-plugin.png | Bin 0 -> 45406 bytes 4 files changed, 319 insertions(+) diff --git a/_posts/cn/2018-04-25-open-design.md b/_posts/cn/2018-04-25-open-design.md new file mode 100644 index 000..23b8ef3 --- /dev/null +++ b/_posts/cn/2018-04-25-open-design.md @@ -0,0 +1,319 @@ +--- +title: "如何设计一个优质的微服务框架:Apache ServiceComb 的开放性设计" +lang: cn +ref: open-design +permalink: /cn/docs/open-design/ +excerpt: "本文讲述了整个 开源微服务框架 Apache ServiceComb 设计形成的前因后果,尝试从理念、思想和实践结合的维度剖析一个优质的微服务框架应该具备哪些要素,包括但不限于 对开发者友好、高性能、内外部扩展性>等。" +author: Zen Lin, Bao Liu +tags: [设计, 开放,扩展] +redirect_from: + - /theme-setup/ +--- + +【摘要】 一个优质的微服务框架需要考虑的要素众多,在满足微服务设计理念的前提下,也是一个不断实践优化的过程。 +本文讲述了整个 开源微服务框架 Apache ServiceComb 设计形成的前因后果,尝试从理念、思想和实践结合的维度剖析一个优质的微服务框架应该具备哪些要素,包括但不限于 对开发者友好、高性能、内外部扩展性等。 +阅读本文有利于加深对微服务理念和框架的理解,给予微服务用户或开发者以帮助,这也是 Apache ServiceComb 的前身华为云微服务引擎的智慧结晶,从细节处承载了华为云自身多年云化转型的经验。 + + + +## 写在前面 + +[开源微服务框架 Apache ServiceComb](http://servicecomb.incubator.apache.org/cn/) 的前身为华为云的 [微服务引擎 CSE (Cloud Service Engine) 云服务](https://support.huaweicloud.com/usermanual-servicestage/zh-cn_topic_0053812706.html), ServiceComb 的早期版本和多数第一批做微服务或分布式框架先贤一样,为了追求高性能,做过非常多如 改善编码效率 和改进通信协议等尝试。然而,随着业务规模的递增,需求也逐渐呈现多样化,单方面通过传统手段追求高性能导致在面对多样化需求时遇到了各种挑战,遗留系统的通信、接入各种不同的终端、协议健壮性、防攻击等各种挑战迎面而来。 + +Apache ServiceComb,愿景是帮助企业快速构建云原生应用,通过一系列解决方案帮助用户快速开发微服务应用的同时实现对这些微服务应用的高效运维管理,保持中立性以避免厂商LockIn成为了关键任务。对于此, Apache ServiceComb 需要有友好的机制能够对接各微服务主流技术栈技术 或 开发框架。 + +在系列挑战的驱动下, Aapche ServiceComb 设计团队逐步形成了 “全面开放,使用标准协议,架构易于拆分和扩展,对开发人员友好,可以与业界其他主流框架互通集成” 的共识, 本文将着重分享这些共识是如何体现在Apache ServiceComb 的设计中的。 + +## 开放和标准 + +开放和标准应用到设计的不同的层面。一方面是连接组织和开发人员,一方面是连接异构系统。组织和开发人员的复杂性来源于技能的多样性,大家使用不同的开发语言,同一种开发语言存在多样的开发习惯;系统的多样性来源于系统之间的通信协议,为了实现与异构系统的通信,必须具备良好的适配不同通信协议的能力。 + +### 连接组织和开发人员 + + 编程风格 + +每位技术人员都或多或少拥有自己的 Coding 习惯或爱好的技术, 使用个人熟练的方式从事技术工作往往更加高效和舒适。 + +[开源微服务框架 Apache ServiceComb](http://servicecomb.incubator.apache.org/cn/) 的早期版本实现了 gRPC 协议,然而在项目演进过程中我们发现大量技术人员并不熟悉书写 IDL , 对 IDL 具体支持哪些特性也不清楚。 大多数情况下,用户每碰到一个场景就需要翻开协议规范看一遍, 而 IDL 缺少配套的编辑或语法检查等工具也导致了开发效率的降低。 + +于是 Apache ServiceComb 设计团队开始思考是否有方法能够在确保保持用户开发习惯的前提下支持 gRPC 。 + +设计团队结合自己的 Java 编程史,分析当下主流框架,并听取社区用户的反馈找到了一些共性: + +- 使用 RPC 方式描述对外接口。gRPC 、Corba 、WebService 等技术人员谙于此道。 +- 使用 JAX-RS 或 Spring MVC 风格开发 REST 接口。REST 风格开发随着微服务架构兴起,JAX-RS 和 Spring MVC 已然成为 Java REST 的开发事实标准, Spring 的拥抱者都比较熟悉。 + +Apache ServiceComb 很快在社区设计层面达成了一致,通过缺省支持以上共性来拥抱90%的开发者, 让大多数的 Java 开发者们能够快速开始工作。 + +除以上共识外,Apache ServiceComb 还额外做了进一步的优化,以保证不同编程风格的兼容性,使用户或开发者倍感灵活及舒适。 + +在下面的例子中,展示了 Provider和Consumer 代码的各种实现,在同一个微服务中,这些编程方式可以同时出现;同一段 Consumer 代码中可以访问各种不同的编程风格的 Provider 实现。 + +**RPC 方式的 Provider** + +```java +@RpcSchema(schemaId="hello") +public class HelloImpl implements Hello{ + @Override + public String sayHi(String name){ +return"Hello"+name; + } + + @Override + public String sayHello(Person person){ +return"Helloperson"+person.getName(); + } +} +``` + +**JAX-RS 方式的 Provider** + +*代码片段来自于 [Apache ServiceComb JAX-RS sample](https://github.com/apache/incubator-servicecomb-java-chassis/tree/master/samples/jaxrs-sample)* + +```java +@RestSchema(schemaId="jaxrsHello") +@Path("/jaxrshello") +@Produces(MediaType.APPLICATION_JSON) +public class JaxrsHelloImpl implements Hello{ + + @Path("/sayhi") + @POST + @Override + public String sayHi(String name){ +return"Hello"+name; + } + + @Path("/sayhello") + @POST + @Override + public String sayHello(Person person){ +return"Helloperson"+person.getName(); + } +} +``` + +**Spring MVC 方式的 Provider** + +*代码片段来自于 [Apache ServiceComb Spring MVC sample](https://github.com/apache/incubator-servicecomb-java-chassis/tree/master/samples/springmvc-sample)* + +```java +@RestSchema(schemaId="springmvcHello") +@RequestMapping(path="/springmvchello",produces=MediaType.APPLICATION_JSON) +public class SpringmvcHelloImp
[incubator-servicecomb-website] branch master updated: add blog to descripe open design of ServiceComb (#71)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/master by this push: new 60d4e15 add blog to descripe open design of ServiceComb (#71) 60d4e15 is described below commit 60d4e15dadebd74158c0d0d186760e0de2585d22 Author: Zen Lin AuthorDate: Thu Apr 26 15:14:33 2018 +0800 add blog to descripe open design of ServiceComb (#71) * add blog to descripe open design of ServiceComb Signed-off-by: linzhinan * correct code format in the blog Signed-off-by: linzhinan --- _posts/cn/2018-04-25-open-design.md| 319 + ...n-design-integrate-with-running-environment.png | Bin 0 -> 45070 bytes assets/images/open-design-running-arch.png | Bin 0 -> 66533 bytes assets/images/open-design-third-party-plugin.png | Bin 0 -> 45406 bytes 4 files changed, 319 insertions(+) diff --git a/_posts/cn/2018-04-25-open-design.md b/_posts/cn/2018-04-25-open-design.md new file mode 100644 index 000..23b8ef3 --- /dev/null +++ b/_posts/cn/2018-04-25-open-design.md @@ -0,0 +1,319 @@ +--- +title: "如何设计一个优质的微服务框架:Apache ServiceComb 的开放性设计" +lang: cn +ref: open-design +permalink: /cn/docs/open-design/ +excerpt: "本文讲述了整个 开源微服务框架 Apache ServiceComb 设计形成的前因后果,尝试从理念、思想和实践结合的维度剖析一个优质的微服务框架应该具备哪些要素,包括但不限于 对开发者友好、高性能、内外部扩展性>等。" +author: Zen Lin, Bao Liu +tags: [设计, 开放,扩展] +redirect_from: + - /theme-setup/ +--- + +【摘要】 一个优质的微服务框架需要考虑的要素众多,在满足微服务设计理念的前提下,也是一个不断实践优化的过程。 +本文讲述了整个 开源微服务框架 Apache ServiceComb 设计形成的前因后果,尝试从理念、思想和实践结合的维度剖析一个优质的微服务框架应该具备哪些要素,包括但不限于 对开发者友好、高性能、内外部扩展性等。 +阅读本文有利于加深对微服务理念和框架的理解,给予微服务用户或开发者以帮助,这也是 Apache ServiceComb 的前身华为云微服务引擎的智慧结晶,从细节处承载了华为云自身多年云化转型的经验。 + + + +## 写在前面 + +[开源微服务框架 Apache ServiceComb](http://servicecomb.incubator.apache.org/cn/) 的前身为华为云的 [微服务引擎 CSE (Cloud Service Engine) 云服务](https://support.huaweicloud.com/usermanual-servicestage/zh-cn_topic_0053812706.html), ServiceComb 的早期版本和多数第一批做微服务或分布式框架先贤一样,为了追求高性能,做过非常多如 改善编码效率 和改进通信协议等尝试。然而,随着业务规模的递增,需求也逐渐呈现多样化,单方面通过传统手段追求高性能导致在面对多样化需求时遇到了各种挑战,遗留系统的通信、接入各种不同的终端、协议健壮性、防攻击等各种挑战迎面而来。 + +Apache ServiceComb,愿景是帮助企业快速构建云原生应用,通过一系列解决方案帮助用户快速开发微服务应用的同时实现对这些微服务应用的高效运维管理,保持中立性以避免厂商LockIn成为了关键任务。对于此, Apache ServiceComb 需要有友好的机制能够对接各微服务主流技术栈技术 或 开发框架。 + +在系列挑战的驱动下, Aapche ServiceComb 设计团队逐步形成了 “全面开放,使用标准协议,架构易于拆分和扩展,对开发人员友好,可以与业界其他主流框架互通集成” 的共识, 本文将着重分享这些共识是如何体现在Apache ServiceComb 的设计中的。 + +## 开放和标准 + +开放和标准应用到设计的不同的层面。一方面是连接组织和开发人员,一方面是连接异构系统。组织和开发人员的复杂性来源于技能的多样性,大家使用不同的开发语言,同一种开发语言存在多样的开发习惯;系统的多样性来源于系统之间的通信协议,为了实现与异构系统的通信,必须具备良好的适配不同通信协议的能力。 + +### 连接组织和开发人员 + + 编程风格 + +每位技术人员都或多或少拥有自己的 Coding 习惯或爱好的技术, 使用个人熟练的方式从事技术工作往往更加高效和舒适。 + +[开源微服务框架 Apache ServiceComb](http://servicecomb.incubator.apache.org/cn/) 的早期版本实现了 gRPC 协议,然而在项目演进过程中我们发现大量技术人员并不熟悉书写 IDL , 对 IDL 具体支持哪些特性也不清楚。 大多数情况下,用户每碰到一个场景就需要翻开协议规范看一遍, 而 IDL 缺少配套的编辑或语法检查等工具也导致了开发效率的降低。 + +于是 Apache ServiceComb 设计团队开始思考是否有方法能够在确保保持用户开发习惯的前提下支持 gRPC 。 + +设计团队结合自己的 Java 编程史,分析当下主流框架,并听取社区用户的反馈找到了一些共性: + +- 使用 RPC 方式描述对外接口。gRPC 、Corba 、WebService 等技术人员谙于此道。 +- 使用 JAX-RS 或 Spring MVC 风格开发 REST 接口。REST 风格开发随着微服务架构兴起,JAX-RS 和 Spring MVC 已然成为 Java REST 的开发事实标准, Spring 的拥抱者都比较熟悉。 + +Apache ServiceComb 很快在社区设计层面达成了一致,通过缺省支持以上共性来拥抱90%的开发者, 让大多数的 Java 开发者们能够快速开始工作。 + +除以上共识外,Apache ServiceComb 还额外做了进一步的优化,以保证不同编程风格的兼容性,使用户或开发者倍感灵活及舒适。 + +在下面的例子中,展示了 Provider和Consumer 代码的各种实现,在同一个微服务中,这些编程方式可以同时出现;同一段 Consumer 代码中可以访问各种不同的编程风格的 Provider 实现。 + +**RPC 方式的 Provider** + +```java +@RpcSchema(schemaId="hello") +public class HelloImpl implements Hello{ + @Override + public String sayHi(String name){ +return"Hello"+name; + } + + @Override + public String sayHello(Person person){ +return"Helloperson"+person.getName(); + } +} +``` + +**JAX-RS 方式的 Provider** + +*代码片段来自于 [Apache ServiceComb JAX-RS sample](https://github.com/apache/incubator-servicecomb-java-chassis/tree/master/samples/jaxrs-sample)* + +```java +@RestSchema(schemaId="jaxrsHello") +@Path("/jaxrshello") +@Produces(MediaType.APPLICATION_JSON) +public class JaxrsHelloImpl implements Hello{ + + @Path("/sayhi") + @POST + @Override + public String sayHi(String name){ +return"Hello"+name; + } + + @Path("/sayhello") + @POST + @Override + public String sayHello(Person person){ +return"Helloperson"+person.getName(); + } +} +``` + +**Spring MVC 方式的 Provider** + +*代码片段来自于 [Apache ServiceComb Spring MVC sample](https://github.com/apache/incubator-servicecomb-java-chassis/tree/master/samples/springmvc-sample)* + +```java +@RestSchema(schemaId="springmvcHello") +@RequestMapping(path="/springmvchello",produces=MediaType.APPLICATION_JSON) +public class SpringmvcHelloImp
[incubator-servicecomb-website] branch master updated (60d4e15 -> e65e4f5)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from 60d4e15 add blog to descripe open design of ServiceComb (#71) add e65e4f5 Added Saga QCon presentation No new revisions were added by this update. Summary of changes: .../cn/2018-04-26-distributed-transactions-saga.md | 195 + assets/images/saga/Saga.001.jpeg | Bin 0 -> 319155 bytes assets/images/saga/Saga.002.jpeg | Bin 0 -> 675865 bytes assets/images/saga/Saga.003.jpeg | Bin 0 -> 246642 bytes assets/images/saga/Saga.004.jpeg | Bin 0 -> 326993 bytes assets/images/saga/Saga.005.jpeg | Bin 0 -> 293862 bytes assets/images/saga/Saga.006.jpeg | Bin 0 -> 465302 bytes assets/images/saga/Saga.007.jpeg | Bin 0 -> 409611 bytes assets/images/saga/Saga.008.jpeg | Bin 0 -> 380229 bytes assets/images/saga/Saga.009.jpeg | Bin 0 -> 352629 bytes assets/images/saga/Saga.010.jpeg | Bin 0 -> 597661 bytes assets/images/saga/Saga.011.jpeg | Bin 0 -> 326110 bytes assets/images/saga/Saga.012.jpeg | Bin 0 -> 444034 bytes assets/images/saga/Saga.013.jpeg | Bin 0 -> 616205 bytes assets/images/saga/Saga.014.jpeg | Bin 0 -> 498739 bytes assets/images/saga/Saga.015.jpeg | Bin 0 -> 427262 bytes assets/images/saga/Saga.016.jpeg | Bin 0 -> 190895 bytes assets/images/saga/Saga.017.jpeg | Bin 0 -> 350239 bytes assets/images/saga/Saga.018.jpeg | Bin 0 -> 361280 bytes assets/images/saga/Saga.019.jpeg | Bin 0 -> 521182 bytes assets/images/saga/Saga.020.jpeg | Bin 0 -> 442858 bytes assets/images/saga/Saga.021.jpeg | Bin 0 -> 388123 bytes assets/images/saga/Saga.022.1.jpeg | Bin 0 -> 846565 bytes assets/images/saga/Saga.022.2.jpeg | Bin 0 -> 928172 bytes assets/images/saga/Saga.023.jpeg | Bin 0 -> 557129 bytes assets/images/saga/Saga.024.jpeg | Bin 0 -> 382396 bytes assets/images/saga/Saga.025.jpeg | Bin 0 -> 439982 bytes assets/images/saga/Saga.026.jpeg | Bin 0 -> 402878 bytes assets/images/saga/Saga.027.jpeg | Bin 0 -> 604510 bytes assets/images/saga/Saga.028.jpeg | Bin 0 -> 539536 bytes assets/images/saga/Saga.029.jpeg | Bin 0 -> 382007 bytes assets/images/saga/Saga.030.jpeg | Bin 0 -> 369148 bytes assets/images/saga/Saga.031.jpeg | Bin 0 -> 367758 bytes assets/images/saga/Saga.032.jpeg | Bin 0 -> 426635 bytes assets/images/saga/Saga.033.jpeg | Bin 0 -> 386171 bytes assets/images/saga/Saga.034.jpeg | Bin 0 -> 489305 bytes assets/images/saga/Saga.035.jpeg | Bin 0 -> 504637 bytes assets/images/saga/Saga.036.jpeg | Bin 0 -> 705870 bytes assets/images/saga/Saga.037.jpeg | Bin 0 -> 239481 bytes assets/images/saga/Saga.038.jpeg | Bin 0 -> 424147 bytes assets/images/saga/Saga.039.jpeg | Bin 0 -> 358646 bytes 41 files changed, 195 insertions(+) create mode 100644 _posts/cn/2018-04-26-distributed-transactions-saga.md create mode 100644 assets/images/saga/Saga.001.jpeg create mode 100644 assets/images/saga/Saga.002.jpeg create mode 100644 assets/images/saga/Saga.003.jpeg create mode 100644 assets/images/saga/Saga.004.jpeg create mode 100644 assets/images/saga/Saga.005.jpeg create mode 100644 assets/images/saga/Saga.006.jpeg create mode 100644 assets/images/saga/Saga.007.jpeg create mode 100644 assets/images/saga/Saga.008.jpeg create mode 100644 assets/images/saga/Saga.009.jpeg create mode 100644 assets/images/saga/Saga.010.jpeg create mode 100644 assets/images/saga/Saga.011.jpeg create mode 100644 assets/images/saga/Saga.012.jpeg create mode 100644 assets/images/saga/Saga.013.jpeg create mode 100644 assets/images/saga/Saga.014.jpeg create mode 100644 assets/images/saga/Saga.015.jpeg create mode 100644 assets/images/saga/Saga.016.jpeg create mode 100644 assets/images/saga/Saga.017.jpeg create mode 100644 assets/images/saga/Saga.018.jpeg create mode 100644 assets/images/saga/Saga.019.jpeg create mode 100644 assets/images/saga/Saga.020.jpeg create mode 100644 assets/images/saga/Saga.021.jpeg create mode 100644 assets/images/saga/Saga.022.1.jpeg create mode 100644 assets/images/saga/Saga.022.2.jpeg create mode 100644 assets/images/saga
[incubator-servicecomb-website] branch master updated (e65e4f5 -> 9abf76b)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from e65e4f5 Added Saga QCon presentation add 9abf76b Update the chinese verion of release guide No new revisions were added by this update. Summary of changes: _developers/cn/release_guide.md | 31 --- 1 file changed, 16 insertions(+), 15 deletions(-) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch asf-site updated: correct chapter 'How to run the site locally' of REAME.md (#72)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/asf-site by this push: new fbec20d correct chapter 'How to run the site locally' of REAME.md (#72) fbec20d is described below commit fbec20d3146e752738872e90242c83db072750ff Author: Zen Lin AuthorDate: Fri Apr 27 11:09:53 2018 +0800 correct chapter 'How to run the site locally' of REAME.md (#72) Signed-off-by: linzhinan --- README.md | 28 ++-- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 0bea954..0cf7617 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,37 @@ # ServiceComb Website The Web Site of ServiceComb is based on [Minimal Mistakes Jekyll Theme](https://mmistakes.github.io/minimal-mistakes/). -# How to run the site locally -* Install [Ruby](https://www.ruby-lang.org/en/downloads/) and [Gem](https://rubygems.org/) - -* Install Jekyll and Bundler - - `gem install jekyll bundler` +# How to run the site locally +* Change to non-root user + +* Install [Ruby](https://www.ruby-lang.org/en/downloads/) and [Gem](https://rubygems.org/) + +* Install Jekyll and Bundler + + `sudo gem install jekyll bundler` * Clone the site files - `git clone g...@github.com:ServiceComb/ServiceComb.github.io.git` + `git clone https://github.com/apache/incubator-servicecomb-website.git` * cd ServiceComb.github.io.git * Install the gems with bundle - `bundle install` + `sudo bundle install` * Start the jekyll server - `bundle exec jekyll server` + `sudo bundle exec jekyll server` * Start web browser to access `http://localhost:4000` - + +**Note that tested versions of the tools covered in this section are as following,** + +* Ruby 2.3 +* Gem 2.7.6 +* Bundler 2.3 + # Multiple language support The website supports English now and English is used as the default language. -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch master updated (9abf76b -> d2101ce)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from 9abf76b Update the chinese verion of release guide new 192a18e correct chapter 'How to run the site locally' of REAME.md (#72) new d2101ce SCB-519 Updated the README file The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: README.md | 39 ++- 1 file changed, 26 insertions(+), 13 deletions(-) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 01/02: correct chapter 'How to run the site locally' of REAME.md (#72)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 192a18ec01ff7b586e94dc3d074e17671e8ac3c3 Author: Zen Lin AuthorDate: Fri Apr 27 11:09:53 2018 +0800 correct chapter 'How to run the site locally' of REAME.md (#72) Signed-off-by: linzhinan --- README.md | 28 ++-- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 0bea954..0cf7617 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,37 @@ # ServiceComb Website The Web Site of ServiceComb is based on [Minimal Mistakes Jekyll Theme](https://mmistakes.github.io/minimal-mistakes/). -# How to run the site locally -* Install [Ruby](https://www.ruby-lang.org/en/downloads/) and [Gem](https://rubygems.org/) - -* Install Jekyll and Bundler - - `gem install jekyll bundler` +# How to run the site locally +* Change to non-root user + +* Install [Ruby](https://www.ruby-lang.org/en/downloads/) and [Gem](https://rubygems.org/) + +* Install Jekyll and Bundler + + `sudo gem install jekyll bundler` * Clone the site files - `git clone g...@github.com:ServiceComb/ServiceComb.github.io.git` + `git clone https://github.com/apache/incubator-servicecomb-website.git` * cd ServiceComb.github.io.git * Install the gems with bundle - `bundle install` + `sudo bundle install` * Start the jekyll server - `bundle exec jekyll server` + `sudo bundle exec jekyll server` * Start web browser to access `http://localhost:4000` - + +**Note that tested versions of the tools covered in this section are as following,** + +* Ruby 2.3 +* Gem 2.7.6 +* Bundler 2.3 + # Multiple language support The website supports English now and English is used as the default language. -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 02/02: SCB-519 Updated the README file
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit d2101ce1fdb31d0ca3da5edd2cfa5453791d33af Author: Willem Jiang AuthorDate: Fri Apr 27 11:25:21 2018 +0800 SCB-519 Updated the README file --- README.md | 29 + 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 0cf7617..cd08f74 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,25 @@ # ServiceComb Website -The Web Site of ServiceComb is based on [Minimal Mistakes Jekyll Theme](https://mmistakes.github.io/minimal-mistakes/). +The Web Site of ServiceComb is based on [Minimal Mistakes Jekyll Theme](https://mmistakes.github.io/minimal-mistakes/). + +# NOTE for PR +As this website is using the [gitpubsub](https://www.apache.org/dev/project-site.html) and we use Jekyll to generate the site. +We choose master branch to hold all the site source change and asf-site for apache gitpubsub. +Please sent your PR to the master branch instead of asf-site. # How to run the site locally * Change to non-root user - + * Install [Ruby](https://www.ruby-lang.org/en/downloads/) and [Gem](https://rubygems.org/) - + * Install Jekyll and Bundler - + `sudo gem install jekyll bundler` * Clone the site files `git clone https://github.com/apache/incubator-servicecomb-website.git` -* cd ServiceComb.github.io.git +* cd incubator-servicecomb-website * Install the gems with bundle @@ -25,15 +30,15 @@ The Web Site of ServiceComb is based on [Minimal Mistakes Jekyll Theme](https:// `sudo bundle exec jekyll server` * Start web browser to access `http://localhost:4000` - + **Note that tested versions of the tools covered in this section are as following,** - + * Ruby 2.3 * Gem 2.7.6 * Bundler 2.3 - + # Multiple language support -The website supports English now and English is used as the default language. +The website supports English now and English is used as the default language. Things to be **cautious**: @@ -44,8 +49,8 @@ There are two language labels: *en* and *cn*. lang: cn ref: unique_post_ref_just_like_the_url ``` - And remember to add the prefix **/cn** to your permalink, e.g. - before: + And remember to add the prefix **/cn** to your permalink, e.g. + before: ```yml permalink: /about/me/ ``` @@ -53,7 +58,7 @@ There are two language labels: *en* and *cn*. ```yml permalink: /cn/about/me/ ``` - Besides, if contents of your post contains links to the Chinese version of pages, remember to add the + Besides, if contents of your post contains links to the Chinese version of pages, remember to add the prefix **/cn** before the link. e.g. */about/community/* becomes */cn/about/community/* *Notes*: English Posts do not need to add any prefixes as it's the default language. 2. When you add items in *_data/navigation.yml* file, remember to add both English and Chinese version of that links. -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch asf-site updated: SCB-519 Updated the README file
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/asf-site by this push: new cca8786 SCB-519 Updated the README file cca8786 is described below commit cca8786d580e8bee89e24af45d65f0ecb7d37b69 Author: Willem Jiang AuthorDate: Fri Apr 27 11:25:21 2018 +0800 SCB-519 Updated the README file --- README.md | 29 + 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 0cf7617..cd08f74 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,25 @@ # ServiceComb Website -The Web Site of ServiceComb is based on [Minimal Mistakes Jekyll Theme](https://mmistakes.github.io/minimal-mistakes/). +The Web Site of ServiceComb is based on [Minimal Mistakes Jekyll Theme](https://mmistakes.github.io/minimal-mistakes/). + +# NOTE for PR +As this website is using the [gitpubsub](https://www.apache.org/dev/project-site.html) and we use Jekyll to generate the site. +We choose master branch to hold all the site source change and asf-site for apache gitpubsub. +Please sent your PR to the master branch instead of asf-site. # How to run the site locally * Change to non-root user - + * Install [Ruby](https://www.ruby-lang.org/en/downloads/) and [Gem](https://rubygems.org/) - + * Install Jekyll and Bundler - + `sudo gem install jekyll bundler` * Clone the site files `git clone https://github.com/apache/incubator-servicecomb-website.git` -* cd ServiceComb.github.io.git +* cd incubator-servicecomb-website * Install the gems with bundle @@ -25,15 +30,15 @@ The Web Site of ServiceComb is based on [Minimal Mistakes Jekyll Theme](https:// `sudo bundle exec jekyll server` * Start web browser to access `http://localhost:4000` - + **Note that tested versions of the tools covered in this section are as following,** - + * Ruby 2.3 * Gem 2.7.6 * Bundler 2.3 - + # Multiple language support -The website supports English now and English is used as the default language. +The website supports English now and English is used as the default language. Things to be **cautious**: @@ -44,8 +49,8 @@ There are two language labels: *en* and *cn*. lang: cn ref: unique_post_ref_just_like_the_url ``` - And remember to add the prefix **/cn** to your permalink, e.g. - before: + And remember to add the prefix **/cn** to your permalink, e.g. + before: ```yml permalink: /about/me/ ``` @@ -53,7 +58,7 @@ There are two language labels: *en* and *cn*. ```yml permalink: /cn/about/me/ ``` - Besides, if contents of your post contains links to the Chinese version of pages, remember to add the + Besides, if contents of your post contains links to the Chinese version of pages, remember to add the prefix **/cn** before the link. e.g. */about/community/* becomes */cn/about/community/* *Notes*: English Posts do not need to add any prefixes as it's the default language. 2. When you add items in *_data/navigation.yml* file, remember to add both English and Chinese version of that links. -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch master updated: blog for how to use cucumber in saga (#73)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/master by this push: new 740d977 blog for how to use cucumber in saga (#73) 740d977 is described below commit 740d977bff061f85a4407a62f5de19444b3cf067 Author: lijasonvip AuthorDate: Fri Apr 27 11:47:49 2018 +0800 blog for how to use cucumber in saga (#73) --- _posts/cn/2018-04-28-saga_with_cucumber.md | 326 + assets/images/cucumber.jpg | Bin 0 -> 12965 bytes 2 files changed, 326 insertions(+) diff --git a/_posts/cn/2018-04-28-saga_with_cucumber.md b/_posts/cn/2018-04-28-saga_with_cucumber.md new file mode 100644 index 000..71d88cd --- /dev/null +++ b/_posts/cn/2018-04-28-saga_with_cucumber.md @@ -0,0 +1,326 @@ +--- +title: "ServiceComb Saga使用Cucumber做验收测试源码分析" +lang: cn +ref: saga_with_cucumber +permalink: /cn/docs/saga_with_cucumber/ +excerpt: "ServiceComb Saga使用Cucumber做验收测试源码分析" +last_modified_at: 2018-04-27T19:05:00+08:00 +author: Li Bo +tags: [Saga Cucumber] +redirect_from: + - /theme-setup/ +--- + + +### ServiceComb Saga使用Cucumber做验收测试源码分析 + + Cucumber 简介 + +Cucumber 是一个能够理解用普通语言描述的测试用例的自动化测试工具,可以让人们用近似自然的语言去描述特性Feature和场景Scenario,根据Feature驱动开发,用作软件技术人员和非技术之间验收测试的桥梁。它是一个命令行工具,运行后会执行features中的内容,feature中的step会调用step definitions 可以用标签来组织场景支持40多种语言包括 Java, Ruby 等。 + +![](/assets/images/cucumber.jpg) + +Cucumber开发过程: + +* 创建feature文件,feature文件中描述了测试用例集(Features),测试用例(Scenarios),创建测试所需环境(Given),触发被测试事件(When)和结果验证(Then) +* 创建step_definitions,此代码根据上面创建的feature文件,映射feature中的Gherkin Step为按步骤执行的代码,类似胶水的作用。 +* 执行cucumber执行指令,格式化输出 + +更多关于Cucumber的介绍请参考[官网文档[2]](https://cucumber.io/)。 + + Saga 使用 Cucumber + +Saga项目对其下行程预定demo做了验收测试,我们对照Cucumber的开发过程分别分析成功执行完所有事务和出现异常时的自动化测试开发,在行程预定的demo中,全局事务`booking`有两个子事务分别是预定酒店服务`Hotel`和包车服务`Car`,只有酒店服务和包车服务全部成功行程预定服务才算成功,否则全部失败并回滚补偿。demo中假定了房源紧张,每个用户最多只能预定2间,关于此行程规划demo细节请参考[文档[3]](https://github.com/apache/incubator-servicecomb-saga/tree/master/saga-demo/booking)。 + +* 成功完成所有事务 + + 1. 创建feature文件`pack_success_scenario.feature`,定义Feature,并在feature中定义step + + ```shell + Feature: Alpha records transaction events + + Scenario: Everything is normal + Given Car Service is up and running + And Hotel Service is up and running + And Booking Service is up and running + And Alpha is up and running + + When User Sean requests to book 2 cars and 1 rooms + + Then Alpha records the following events + | serviceName | type | + | pack-booking | SagaStartedEvent | + | pack-car | TxStartedEvent | + | pack-car | TxEndedEvent | + | pack-hotel | TxStartedEvent | + | pack-hotel | TxEndedEvent | + | pack-booking | SagaEndedEvent | + + And Car Service contains the following booking orders + | name | amount | confirmed | cancelled | + | Sean | 2 | true | false | + + And Hotel Service contains the following booking orders + | name | amount | confirmed | cancelled | + | Sean | 1 | true | false | + ``` + + `Given` 定义了测试用例`Everything is normal`所需的4个条件分别是4个服务运行正常,`When`定义了触发用户`Sean`发起预定2辆车和1间房子的被测事件。`Then`中则指定了验证结果是`Alpha`记录的各子事务及子事务发生顺序,`Car`服务和`Hotel`服务则记录预定结果。 + + 2. 创建step_definitions `PackStepdefs.java` + + 在step_definition中使用正则的方式对应feature中定义的的测试条件,触发测试并验证结果。如: + + ```java + Given("^Car Service is up and running$", () -> { + probe(System.getProperty(CAR_SERVICE_ADDRESS)); + }); + ``` + + 上面代码对应feature中第一个测试前提条件`Given car service is up and running`,`probe`函数式方位`Car`服务的一个Rest接口验证返回状态码来判断`Car`是否正常启动运行。接下来四个`Given`与此类似。 + + ```java + When("^User ([A-Za-z]+) requests to book ([0-9]+) cars and ([0-9]+) rooms$", (username, cars, rooms) -> { + log.info("Received request from user {} to book {} cars and {} rooms", username, cars, rooms); + + given() + .pathParam("name", username) + .pathParam("rooms", rooms) + .pathParam("cars", cars) + .when() + .post(System.getProperty("booking.service.address") + "/booking/{name}/{rooms}/{cars}"); + }); + ``` + + 此段代码解析feature中定义的`When User Sean requests to book 2 cars and 1 rooms`事件,解析出用户、预定车辆和房间数量参数并向`Booking`服务发出`POST`方法的请求,然后在下面代码的`Then`中验证结果: + + ```java + Then("^Alpha records the following events$", (DataTable dataTable) -> { + Consumer[]> columnStrippingConsumer = dataMap -> { + for (Map map : dataMap) + map.keySet().retainAll(dataTable.topCells())
[incubator-servicecomb-website] branch asf-site updated: [SCB-524] Replace images in the blog to originals (#75)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/asf-site by this push: new 0e06089 [SCB-524] Replace images in the blog to originals (#75) 0e06089 is described below commit 0e0608986e9f7892c915039378ddd9006c56ee53 Author: Zen Lin AuthorDate: Fri Apr 27 15:00:13 2018 +0800 [SCB-524] Replace images in the blog to originals (#75) Signed-off-by: linzhinan --- ...n-design-integrate-with-running-environment.png | Bin 45070 -> 63190 bytes assets/images/open-design-running-arch.png | Bin 66533 -> 124071 bytes assets/images/open-design-third-party-plugin.png | Bin 45406 -> 79598 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/images/open-design-integrate-with-running-environment.png b/assets/images/open-design-integrate-with-running-environment.png index 9105b8c..934e9a2 100644 Binary files a/assets/images/open-design-integrate-with-running-environment.png and b/assets/images/open-design-integrate-with-running-environment.png differ diff --git a/assets/images/open-design-running-arch.png b/assets/images/open-design-running-arch.png index c4783e1..b3cd22f 100644 Binary files a/assets/images/open-design-running-arch.png and b/assets/images/open-design-running-arch.png differ diff --git a/assets/images/open-design-third-party-plugin.png b/assets/images/open-design-third-party-plugin.png index 2337c5a..c314c4f 100644 Binary files a/assets/images/open-design-third-party-plugin.png and b/assets/images/open-design-third-party-plugin.png differ -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch asf-site updated: clarify how to subscribe maillist (#74)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/asf-site by this push: new c01f50e clarify how to subscribe maillist (#74) c01f50e is described below commit c01f50ee7df7545ca24fc540158bcd66a8667c01 Author: lijasonvip AuthorDate: Fri Apr 27 15:07:41 2018 +0800 clarify how to subscribe maillist (#74) --- _posts/cn/2018-04-04-join_the_community.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/cn/2018-04-04-join_the_community.md b/_posts/cn/2018-04-04-join_the_community.md index 627cfa7..a5c6a66 100644 --- a/_posts/cn/2018-04-04-join_the_community.md +++ b/_posts/cn/2018-04-04-join_the_community.md @@ -40,7 +40,7 @@ redirect_from: 订阅邮件方式: - 发送任意内容到`dev-subscr...@servicecomb.incubator.apache.org` -- 收到来自dev-help的邮件后,再回复任意内容来确认订阅邮件列表即可。 +- 收到来自`dev-h...@servicecomb.apache.org`的确认邮件后,再回复dev-help任意内容来确认订阅邮件列表即可。 邮件存档内容可通过https://www.mail-archive.com/搜索`ServiceComb`获取。 -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch master updated (740d977 -> 719dd0e)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from 740d977 blog for how to use cucumber in saga (#73) new 8a12c0d [SCB-524] Replace images in the blog to originals (#75) new 719dd0e clarify how to subscribe maillist (#74) The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: _posts/cn/2018-04-04-join_the_community.md | 2 +- ...n-design-integrate-with-running-environment.png | Bin 45070 -> 63190 bytes assets/images/open-design-running-arch.png | Bin 66533 -> 124071 bytes assets/images/open-design-third-party-plugin.png | Bin 45406 -> 79598 bytes 4 files changed, 1 insertion(+), 1 deletion(-) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 02/02: clarify how to subscribe maillist (#74)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 719dd0ed12f25f1d0bd5600b6e086c324f447cf4 Author: lijasonvip AuthorDate: Fri Apr 27 15:07:41 2018 +0800 clarify how to subscribe maillist (#74) --- _posts/cn/2018-04-04-join_the_community.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/cn/2018-04-04-join_the_community.md b/_posts/cn/2018-04-04-join_the_community.md index 627cfa7..a5c6a66 100644 --- a/_posts/cn/2018-04-04-join_the_community.md +++ b/_posts/cn/2018-04-04-join_the_community.md @@ -40,7 +40,7 @@ redirect_from: 订阅邮件方式: - 发送任意内容到`dev-subscr...@servicecomb.incubator.apache.org` -- 收到来自dev-help的邮件后,再回复任意内容来确认订阅邮件列表即可。 +- 收到来自`dev-h...@servicecomb.apache.org`的确认邮件后,再回复dev-help任意内容来确认订阅邮件列表即可。 邮件存档内容可通过https://www.mail-archive.com/搜索`ServiceComb`获取。 -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 01/02: [SCB-524] Replace images in the blog to originals (#75)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 8a12c0d887f468636a040be7ec62d7bd6a81a755 Author: Zen Lin AuthorDate: Fri Apr 27 15:00:13 2018 +0800 [SCB-524] Replace images in the blog to originals (#75) Signed-off-by: linzhinan --- ...n-design-integrate-with-running-environment.png | Bin 45070 -> 63190 bytes assets/images/open-design-running-arch.png | Bin 66533 -> 124071 bytes assets/images/open-design-third-party-plugin.png | Bin 45406 -> 79598 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/images/open-design-integrate-with-running-environment.png b/assets/images/open-design-integrate-with-running-environment.png index 9105b8c..934e9a2 100644 Binary files a/assets/images/open-design-integrate-with-running-environment.png and b/assets/images/open-design-integrate-with-running-environment.png differ diff --git a/assets/images/open-design-running-arch.png b/assets/images/open-design-running-arch.png index c4783e1..b3cd22f 100644 Binary files a/assets/images/open-design-running-arch.png and b/assets/images/open-design-running-arch.png differ diff --git a/assets/images/open-design-third-party-plugin.png b/assets/images/open-design-third-party-plugin.png index 2337c5a..c314c4f 100644 Binary files a/assets/images/open-design-third-party-plugin.png and b/assets/images/open-design-third-party-plugin.png differ -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch asf-site updated (c01f50e -> 7c9fec0)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from c01f50e clarify how to subscribe maillist (#74) add 192a18e correct chapter 'How to run the site locally' of REAME.md (#72) add d2101ce SCB-519 Updated the README file add 740d977 blog for how to use cucumber in saga (#73) add 8a12c0d [SCB-524] Replace images in the blog to originals (#75) add 719dd0e clarify how to subscribe maillist (#74) new 2684f5e Merge branch 'master' into asf-site new 7c9fec0 Publish the website The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: _posts/cn/2018-04-28-saga_with_cucumber.md | 326 + assets/images/cucumber.jpg | Bin 0 -> 12965 bytes content/assets/images/cucumber.jpg | Bin 0 -> 12965 bytes ...n-design-integrate-with-running-environment.png | Bin 45070 -> 63190 bytes content/assets/images/open-design-running-arch.png | Bin 66533 -> 124071 bytes .../images/open-design-third-party-plugin.png | Bin 45406 -> 79598 bytes content/cn/docs/join_the_community/index.html | 2 +- content/feed.xml | 4 +- 8 files changed, 329 insertions(+), 3 deletions(-) create mode 100644 _posts/cn/2018-04-28-saga_with_cucumber.md create mode 100644 assets/images/cucumber.jpg create mode 100644 content/assets/images/cucumber.jpg -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 01/02: Merge branch 'master' into asf-site
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 2684f5e0bbbc02a9cf7383b42d193e27ab6c2c2b Merge: c01f50e 719dd0e Author: Willem Jiang AuthorDate: Fri Apr 27 17:48:39 2018 +0800 Merge branch 'master' into asf-site _posts/cn/2018-04-28-saga_with_cucumber.md | 326 + assets/images/cucumber.jpg | Bin 0 -> 12965 bytes 2 files changed, 326 insertions(+) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 02/02: Publish the website
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 7c9fec0d04bd39a2f468dfa1f56ef2c8721fb5de Author: Willem Jiang AuthorDate: Fri Apr 27 17:49:40 2018 +0800 Publish the website --- content/assets/images/cucumber.jpg | Bin 0 -> 12965 bytes ...n-design-integrate-with-running-environment.png | Bin 45070 -> 63190 bytes content/assets/images/open-design-running-arch.png | Bin 66533 -> 124071 bytes .../images/open-design-third-party-plugin.png | Bin 45406 -> 79598 bytes content/cn/docs/join_the_community/index.html | 2 +- content/feed.xml | 4 ++-- 6 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/assets/images/cucumber.jpg b/content/assets/images/cucumber.jpg new file mode 100644 index 000..eab2885 Binary files /dev/null and b/content/assets/images/cucumber.jpg differ diff --git a/content/assets/images/open-design-integrate-with-running-environment.png b/content/assets/images/open-design-integrate-with-running-environment.png index 9105b8c..934e9a2 100644 Binary files a/content/assets/images/open-design-integrate-with-running-environment.png and b/content/assets/images/open-design-integrate-with-running-environment.png differ diff --git a/content/assets/images/open-design-running-arch.png b/content/assets/images/open-design-running-arch.png index c4783e1..b3cd22f 100644 Binary files a/content/assets/images/open-design-running-arch.png and b/content/assets/images/open-design-running-arch.png differ diff --git a/content/assets/images/open-design-third-party-plugin.png b/content/assets/images/open-design-third-party-plugin.png index 2337c5a..c314c4f 100644 Binary files a/content/assets/images/open-design-third-party-plugin.png and b/content/assets/images/open-design-third-party-plugin.png differ diff --git a/content/cn/docs/join_the_community/index.html b/content/cn/docs/join_the_community/index.html index a9744eb..1ad4700 100644 --- a/content/cn/docs/join_the_community/index.html +++ b/content/cn/docs/join_the_community/index.html @@ -395,7 +395,7 @@ 发送任意内容到dev-subscr...@servicecomb.incubator.apache.org - 收到来自dev-help的邮件后,再回复任意内容来确认订阅邮件列表即可。 + 收到来自dev-h...@servicecomb.apache.org的确认邮件后,再回复dev-help任意内容来确认订阅邮件列表即可。 邮件存档内容可通过https://www.mail-archive.com/搜索ServiceComb获取。 diff --git a/content/feed.xml b/content/feed.xml index 41c0341..c75624b 100644 --- a/content/feed.xml +++ b/content/feed.xml @@ -1,4 +1,4 @@ -http://www.w3.org/2005/Atom"; >https://jekyllrb.com/"; version="3.4.3">Jekyll2018-04-27T10:44:38+08:00/Apache ServiceComb (incubating)The homepage of ServiceComb{"name"=>nil, "avatar"=> [...] +http://www.w3.org/2005/Atom"; >https://jekyllrb.com/"; version="3.4.3">Jekyll2018-04-27T17:49:04+08:00/Apache ServiceComb (incubating)The homepage of ServiceComb{"name"=>nil, "avatar"=> [...] <p><img src="/assets/images/saga/Saga.001.jpeg" alt="" /></p> @@ -770,7 +770,7 @@ <ul> <li>发送任意内容到<code class="highlighter-rouge">dev-subscr...@servicecomb.incubator.apache.org</code></li> - <li>收到来自dev-help的邮件后,再回复任意内容来确认订阅邮件列表即可。</li> + <li>收到来自<code class="highlighter-rouge">dev-h...@servicecomb.apache.org</code>的确认邮件后,再回复dev-help任意内容来确认订阅邮件列表即可。</li> </ul> <p>邮件存档内容可通过https://www.mail-archive.com/搜索<code class="highlighter-rouge">ServiceComb</code>获取。</p> -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] 01/07: SCB-224: alpha support retries
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git commit bd5ed773cf5fcb63c2b52f59de2189c2bdb01424 Author: zhang2014 AuthorDate: Wed Jan 17 23:01:55 2018 +0800 SCB-224: alpha support retries --- .../saga/alpha/core/CompositeOmegaCallback.java| 21 + .../servicecomb/saga/alpha/core/OmegaCallback.java | 2 + .../saga/alpha/core/PushBackOmegaCallback.java | 10 .../saga/alpha/core/TxConsistentService.java | 55 -- .../servicecomb/saga/alpha/core/TxEvent.java | 13 + .../saga/alpha/server/GrpcOmegaCallback.java | 12 + .../src/main/proto/GrpcTxEvent.proto | 2 + 7 files changed, 110 insertions(+), 5 deletions(-) diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallback.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallback.java index 32e5102..bce8f4b 100644 --- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallback.java +++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallback.java @@ -29,6 +29,27 @@ public class CompositeOmegaCallback implements OmegaCallback { } @Override + public void retries(TxEvent event) { +Map serviceCallbacks = callbacks.getOrDefault(event.serviceName(), emptyMap()); + +if (serviceCallbacks.isEmpty()) { + throw new AlphaException("No such omega callback found for service " + event.serviceName()); +} + +OmegaCallback omegaCallback = serviceCallbacks.get(event.instanceId()); +if (omegaCallback == null) { + omegaCallback = serviceCallbacks.values().iterator().next(); +} + +try { + omegaCallback.compensate(event); +} catch (Exception e) { + serviceCallbacks.values().remove(omegaCallback); + throw e; +} + } + + @Override public void compensate(TxEvent event) { Map serviceCallbacks = callbacks.getOrDefault(event.serviceName(), emptyMap()); diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/OmegaCallback.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/OmegaCallback.java index f60a44d..d926ed0 100644 --- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/OmegaCallback.java +++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/OmegaCallback.java @@ -18,6 +18,8 @@ package org.apache.servicecomb.saga.alpha.core; public interface OmegaCallback { + void retries(TxEvent event); + void compensate(TxEvent event); default void disconnect() { diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/PushBackOmegaCallback.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/PushBackOmegaCallback.java index 3b27c14..290eb20 100644 --- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/PushBackOmegaCallback.java +++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/PushBackOmegaCallback.java @@ -35,6 +35,16 @@ public class PushBackOmegaCallback implements OmegaCallback { } @Override + public void retries(TxEvent event) { +try { + underlying.compensate(event); +} catch (Exception e) { + logError(event, e); + pendingCompensations.offer(() -> compensate(event)); +} + } + + @Override public void compensate(TxEvent event) { try { underlying.compensate(event); diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxConsistentService.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxConsistentService.java index 968e5b7..a9a3ed2 100644 --- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxConsistentService.java +++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxConsistentService.java @@ -17,17 +17,18 @@ package org.apache.servicecomb.saga.alpha.core; -import static org.apache.servicecomb.saga.common.EventType.SagaEndedEvent; -import static org.apache.servicecomb.saga.common.EventType.TxAbortedEvent; -import static org.apache.servicecomb.saga.common.EventType.TxStartedEvent; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.lang.invoke.MethodHandles; import java.util.Arrays; import java.util.Date; import java.util.List; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import static org.apache.servicecomb.saga.common.EventType.SagaEndedEvent; +import static org.apache.servicecomb.saga.common.EventType.TxAbortedEvent; +import static org.apache.servicecomb.saga.common.EventType.TxStartedEvent; + public class TxConsistentService { private static final Logger log = LoggerFact
[incubator-servicecomb-saga] 03/07: SCB-224 alpha support retries event
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git commit f75e0b9bff120d42b7c334302635b6ecb2b09da8 Author: zhang2014 AuthorDate: Sun Jan 14 13:31:39 2018 +0800 SCB-224 alpha support retries event --- .../saga/alpha/core/CompositeOmegaCallback.java| 50 +++--- .../servicecomb/saga/alpha/core/TxEvent.java | 5 +-- 2 files changed, 26 insertions(+), 29 deletions(-) diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallback.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallback.java index bce8f4b..b1c7e09 100644 --- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallback.java +++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallback.java @@ -17,9 +17,9 @@ package org.apache.servicecomb.saga.alpha.core; -import static java.util.Collections.emptyMap; - import java.util.Map; +import java.util.Objects; +import java.util.Optional; public class CompositeOmegaCallback implements OmegaCallback { private final Map> callbacks; @@ -30,43 +30,43 @@ public class CompositeOmegaCallback implements OmegaCallback { @Override public void retries(TxEvent event) { -Map serviceCallbacks = callbacks.getOrDefault(event.serviceName(), emptyMap()); - -if (serviceCallbacks.isEmpty()) { - throw new AlphaException("No such omega callback found for service " + event.serviceName()); -} - -OmegaCallback omegaCallback = serviceCallbacks.get(event.instanceId()); -if (omegaCallback == null) { - omegaCallback = serviceCallbacks.values().iterator().next(); -} +OmegaCallback omegaCallback = callbackFor(event); try { - omegaCallback.compensate(event); + omegaCallback.retries(event); } catch (Exception e) { - serviceCallbacks.values().remove(omegaCallback); + removeEventCallback(event, omegaCallback); throw e; } } @Override public void compensate(TxEvent event) { -Map serviceCallbacks = callbacks.getOrDefault(event.serviceName(), emptyMap()); - -if (serviceCallbacks.isEmpty()) { - throw new AlphaException("No such omega callback found for service " + event.serviceName()); -} - -OmegaCallback omegaCallback = serviceCallbacks.get(event.instanceId()); -if (omegaCallback == null) { - omegaCallback = serviceCallbacks.values().iterator().next(); -} +OmegaCallback omegaCallback = callbackFor(event); try { omegaCallback.compensate(event); } catch (Exception e) { - serviceCallbacks.values().remove(omegaCallback); + removeEventCallback(event, omegaCallback); throw e; } } + + private OmegaCallback callbackFor(String instanceId, Map serviceCallbacks) { +OmegaCallback omegaCallback = serviceCallbacks.get(instanceId); +if (Objects.isNull(omegaCallback)) { + return serviceCallbacks.values().iterator().next(); +} +return omegaCallback; + } + + private OmegaCallback callbackFor(TxEvent event) { +return Optional.ofNullable(callbacks.get(event.serviceName())).filter(callbacks -> !callbacks.isEmpty()) +.map(serviceCallbacks -> callbackFor(event.instanceId(), serviceCallbacks)) +.orElseThrow(() -> new AlphaException("No such omega callback found for service " + event.serviceName())); + } + + private void removeEventCallback(TxEvent event, OmegaCallback omegaCallback) { +callbacks.get(event.serviceName()).values().remove(omegaCallback); + } } diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxEvent.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxEvent.java index 5176ce0..5426e8b 100644 --- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxEvent.java +++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxEvent.java @@ -17,16 +17,12 @@ package org.apache.servicecomb.saga.alpha.core; -import static java.util.concurrent.TimeUnit.SECONDS; - import java.util.Date; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; -import javax.persistence.Table; -import javax.persistence.Transient; @Entity @Table(name = "TxEvent") @@ -209,6 +205,7 @@ public class TxEvent { ", expiryTime='" + expiryTime + '\'' + '}'; } + public int retries() { return retries; } -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] 05/07: SCB-224 alpha:support retries use command
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git commit 9d2a0b84166403690685e17f9f3ba176204fdfbe Author: zhang2014 AuthorDate: Tue Jan 23 23:42:35 2018 +0800 SCB-224 alpha:support retries use command --- .../servicecomb/saga/alpha/core/Command.java | 4 +- .../saga/alpha/core/CommandRepository.java | 2 +- .../servicecomb/saga/alpha/core/OmegaCallback.java | 3 +- .../saga/alpha/core/TxConsistentService.java | 54 ++-- .../saga/alpha/server/SpringCommandRepository.java | 14 .../saga/alpha/server/TxEventEnvelope.java | 96 -- .../alpha/server/TxEventEnvelopeRepository.java| 1 + .../src/main/resources/schema-postgresql.sql | 2 + .../saga/alpha/server/AlphaIntegrationTest.java| 49 +++ alpha/alpha-server/src/test/resources/schema.sql | 2 + .../saga/omega/context/CompensationContext.java| 15 ++-- .../saga/omega/context/OmegaContext.java | 2 - .../omega/transaction/CompensableInterceptor.java | 2 - 13 files changed, 83 insertions(+), 163 deletions(-) diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/Command.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/Command.java index 0f016d3..4edb928 100644 --- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/Command.java +++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/Command.java @@ -115,11 +115,11 @@ public class Command { return localTxId; } - String parentTxId() { + public String parentTxId() { return parentTxId; } - String compensationMethod() { + public String compensationMethod() { return compensationMethod; } diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CommandRepository.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CommandRepository.java index 2bbea77..25288ed 100644 --- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CommandRepository.java +++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CommandRepository.java @@ -21,7 +21,7 @@ import java.util.List; public interface CommandRepository { - void saveCompensationCommands(String globalTxId); + void saveCompensationCommands(TxEvent abortEvent); void markCommandAsDone(String globalTxId, String localTxId); diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/OmegaCallback.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/OmegaCallback.java index c7dfbbb..f60a44d 100644 --- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/OmegaCallback.java +++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/OmegaCallback.java @@ -20,5 +20,6 @@ package org.apache.servicecomb.saga.alpha.core; public interface OmegaCallback { void compensate(TxEvent event); - default void disconnect() {} + default void disconnect() { + } } diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxConsistentService.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxConsistentService.java index b519c1b..968e5b7 100644 --- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxConsistentService.java +++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxConsistentService.java @@ -17,17 +17,17 @@ package org.apache.servicecomb.saga.alpha.core; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import static org.apache.servicecomb.saga.common.EventType.SagaEndedEvent; +import static org.apache.servicecomb.saga.common.EventType.TxAbortedEvent; +import static org.apache.servicecomb.saga.common.EventType.TxStartedEvent; import java.lang.invoke.MethodHandles; import java.util.Arrays; import java.util.Date; import java.util.List; -import static org.apache.servicecomb.saga.common.EventType.SagaEndedEvent; -import static org.apache.servicecomb.saga.common.EventType.TxAbortedEvent; -import static org.apache.servicecomb.saga.common.EventType.TxStartedEvent; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class TxConsistentService { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); @@ -61,50 +61,6 @@ public class TxConsistentService { return true; } -// private void compensate(TxEvent event) { -//List events = eventRepository.findTransactionsToCompensate(event.globalTxId()); -// -//Optional startedEvent = events.stream().filter(e -> e.containChildren(event)).findFirst(); -// -//startedEvent.ifPresent(compensateEvent -> { -// Integer[] retiesAndTimes = eventsToRetries.c
[incubator-servicecomb-saga] branch master updated (aff2719 -> ce71ab7)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git. from aff2719 SCB-505 Update to throw exception when the transaction timeout new bd5ed77 SCB-224: alpha support retries new 0651b91 SCB-224: omega support retries new f75e0b9 SCB-224 alpha support retries event new 2357d13 SCB-224 omega support retries event new 9d2a0b8 SCB-224 alpha:support retries use command new 7e01a4f SCB-224 retry synchronously new ce71ab7 SCB-224 resolved rebase conflicts The 7 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../org/apache/servicecomb/saga/PackStepdefs.java | 16 +-- .../servicecomb/saga/alpha/core/Command.java | 6 +- .../servicecomb/saga/alpha/core/EventScanner.java | 22 ++-- .../saga/alpha/core/PushBackOmegaCallback.java | 9 +- .../saga/alpha/core/TxConsistentService.java | 16 +-- .../servicecomb/saga/alpha/core/TxEvent.java | 35 +- .../saga/alpha/core/TxEventRepository.java | 2 +- .../saga/alpha/core/TxConsistentServiceTest.java | 17 ++- .../saga/alpha/server/CommandEntityRepository.java | 15 ++- .../saga/alpha/server/GrpcOmegaCallback.java | 2 +- .../saga/alpha/server/GrpcTxEventEndpointImpl.java | 2 + .../saga/alpha/server/SpringCommandRepository.java | 9 +- .../saga/alpha/server/SpringTxEventRepository.java | 15 +-- .../alpha/server/SpringTxTimeoutRepository.java| 5 +- .../alpha/server/TxEventEnvelopeRepository.java| 48 +--- .../src/main/resources/schema-mysql.sql| 3 + .../src/main/resources/schema-postgresql.sql | 2 + .../saga/alpha/server/AlphaIntegrationTest.java| 80 ++ alpha/alpha-server/src/test/resources/schema.sql | 2 + .../pack/tests/CommandEnvelopeRepository.java | 8 +- .../integration/pack/tests/GreetingController.java | 8 ++ .../integration/pack/tests/GreetingService.java| 22 .../saga/integration/pack/tests/PackIT.java| 92 ++-- .../connector/grpc/GrpcClientMessageSender.java| 7 +- .../grpc/GrpcCompensateStreamObserver.java | 6 +- .../grpc/LoadBalancedClusterMessageSender.java | 8 +- .../connector/grpc/PushBackReconnectRunnable.java | 8 +- .../grpc/LoadBalancedClusterMessageSenderTest.java | 15 ++- .../connector/grpc/RetryableMessageSenderTest.java | 3 +- .../saga/omega/context/CompensationContext.java| 6 +- .../spring/CompensableAnnotationProcessor.java | 1 + .../spring/CompensableMethodCheckingCallback.java | 11 +- .../spring/TransactionAspectConfig.java| 5 +- .../spring/TransactionInterceptionTest.java| 102 ++--- .../spring/TransactionalUserService.java | 24 +++- .../saga/omega/transaction/spring/User.java| 2 +- .../omega/transaction/CompensableInterceptor.java | 10 +- .../transaction/CompensationMessageHandler.java| 6 +- ...TransactionAspect.java => DefaultRecovery.java} | 56 +- .../omega/transaction/EventAwareInterceptor.java | 6 +- .../saga/omega/transaction/ForwardRecovery.java| 76 + .../saga/omega/transaction/RecoveryPolicy.java}| 18 ++- ...phaResponse.java => RecoveryPolicyFactory.java} | 19 ++-- .../saga/omega/transaction/SagaEndedEvent.java | 5 +- .../transaction/SagaStartAnnotationProcessor.java | 3 +- .../saga/omega/transaction/SagaStartAspect.java| 2 +- .../saga/omega/transaction/SagaStartedEvent.java | 2 +- .../saga/omega/transaction/TransactionAspect.java | 33 +- .../saga/omega/transaction/TxAbortedEvent.java | 3 +- .../saga/omega/transaction/TxCompensatedEvent.java | 2 +- .../saga/omega/transaction/TxEndedEvent.java | 2 +- .../saga/omega/transaction/TxEvent.java| 23 +++- .../saga/omega/transaction/TxStartedEvent.java | 7 +- .../omega/transaction/annotations/Compensable.java | 8 +- .../transaction/CompensableInterceptorTest.java| 8 +- .../CompensationMessageHandlerTest.java| 12 +- ...ionAspectTest.java => DefaultRecoveryTest.java} | 115 --- ...ionAspectTest.java => ForwardRecoveryTest.java} | 122 - .../SagaStartAnnotationProcessorTest.java | 4 +- .../omega/transaction/TransactionAspectTest.java | 92 +--- .../src/main/proto/GrpcTxEvent.proto | 13 ++- 61 files changed, 898 insertions(+), 383 deletions(-) copy omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/UserRepository.java => integration-tests/pack-tests/s
[incubator-servicecomb-saga] 02/07: SCB-224: omega support retries
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git commit 0651b91725700b5c09d253d2374845acabf42b90 Author: zhang2014 AuthorDate: Wed Jan 17 23:06:04 2018 +0800 SCB-224: omega support retries --- .../connector/grpc/GrpcClientMessageSender.java| 5 - .../grpc/LoadBalancedClusterMessageSenderTest.java | 8 +--- .../connector/grpc/RetryableMessageSenderTest.java | 2 +- .../spring/CompensableMethodCheckingCallback.java | 1 + .../spring/TransactionInterceptionTest.java| 23 -- .../omega/transaction/CompensableInterceptor.java | 4 ++-- .../omega/transaction/EventAwareInterceptor.java | 4 ++-- .../transaction/SagaStartAnnotationProcessor.java | 4 ++-- .../saga/omega/transaction/SagaStartAspect.java| 2 +- .../omega/transaction/TimeAwareInterceptor.java| 0 .../saga/omega/transaction/TransactionAspect.java | 11 +++ .../saga/omega/transaction/TxEvent.java| 14 - .../saga/omega/transaction/TxStartedEvent.java | 4 ++-- .../omega/transaction/annotations/Compensable.java | 4 +++- .../transaction/CompensableInterceptorTest.java| 8 ++-- .../SagaStartAnnotationProcessorTest.java | 4 ++-- .../transaction/TimeAwareInterceptorTest.java | 0 17 files changed, 64 insertions(+), 34 deletions(-) diff --git a/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java b/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java index 5712f57..cf53a0c 100644 --- a/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java +++ b/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/saga/omega/connector/grpc/GrpcClientMessageSender.java @@ -65,7 +65,8 @@ public class GrpcClientMessageSender implements MessageSender { this.blockingEventService = TxEventServiceGrpc.newBlockingStub(channel); this.serializer = serializer; -this.compensateStreamObserver = new GrpcCompensateStreamObserver(handler, errorHandlerFactory.apply(this), deserializer); +this.compensateStreamObserver = +new GrpcCompensateStreamObserver(handler, errorHandlerFactory.apply(this), deserializer); this.serviceConfig = serviceConfig(serviceConfig.serviceName(), serviceConfig.instanceId()); } @@ -103,6 +104,8 @@ public class GrpcClientMessageSender implements MessageSender { .setType(event.type().name()) .setTimeout(event.timeout()) .setCompensationMethod(event.compensationMethod()) +.setRetries(event.retries()) +.setRetriesMethod(event.retriesMethod() == null ? "" : event.retriesMethod()) .setPayloads(payloads); return builder.build(); diff --git a/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/saga/omega/connector/grpc/LoadBalancedClusterMessageSenderTest.java b/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/saga/omega/connector/grpc/LoadBalancedClusterMessageSenderTest.java index 788cf96..d66b737 100644 --- a/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/saga/omega/connector/grpc/LoadBalancedClusterMessageSenderTest.java +++ b/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/saga/omega/connector/grpc/LoadBalancedClusterMessageSenderTest.java @@ -98,7 +98,7 @@ public class LoadBalancedClusterMessageSenderTest { private final String parentTxId = uniquify("parentTxId"); private final String compensationMethod = getClass().getCanonicalName(); private final TxEvent event = new TxEvent(EventType.TxStartedEvent, globalTxId, localTxId, parentTxId, - compensationMethod, 0, "blah"); + compensationMethod, 0, null, 0, "blah"); private final String serviceName = uniquify("serviceName"); private final String[] addresses = {"localhost:8080", "localhost:8090"}; @@ -189,7 +189,7 @@ public class LoadBalancedClusterMessageSenderTest { await().atMost(3, SECONDS).until(() -> compensated.contains(globalTxId)); } - @Test (timeout = 1000) + @Test(timeout = 1000) public void stopSendingOnInterruption() throws Exception { MessageSender underlying = Mockito.mock(MessageSender.class); doThrow(RuntimeException.class).when(underlying).send(event); @@ -300,7 +300,7 @@ public class LoadBalancedClusterMessageSenderTest { public void forwardSendResult() { assertThat(messageSender.send(event).aborted(), is(false)); -TxEvent rejectEvent = new TxStartedEvent(globalTxId, localTxId, parentTxId, "
[incubator-servicecomb-saga] 07/07: SCB-224 resolved rebase conflicts
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git commit ce71ab73ae80bc90ba59fe9b038f134fef9426b1 Author: Eric Lee AuthorDate: Tue Apr 24 16:17:39 2018 +0800 SCB-224 resolved rebase conflicts Signed-off-by: Eric Lee --- .../saga/alpha/core/TxConsistentService.java| 17 +++-- .../saga/alpha/core/TxConsistentServiceTest.java| 13 + .../saga/alpha/server/TxEventEnvelopeRepository.java| 2 +- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxConsistentService.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxConsistentService.java index 4382fd3..9a7f82b 100644 --- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxConsistentService.java +++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/TxConsistentService.java @@ -23,7 +23,6 @@ import static org.apache.servicecomb.saga.common.EventType.TxStartedEvent; import java.lang.invoke.MethodHandles; import java.util.Arrays; -import java.util.Date; import java.util.List; import org.slf4j.Logger; @@ -41,22 +40,12 @@ public class TxConsistentService { } public boolean handle(TxEvent event) { -if (TxStartedEvent.name().equals(event.type()) && isGlobalTxAborted(event)) { - LOG.info("Sub-transaction rejected, because its parent with globalTxId {} was already aborted", - event.globalTxId()); +if (types.contains(event.type()) && isGlobalTxAborted(event)) { + LOG.info("Transaction event {} rejected, because its parent with globalTxId {} was already aborted", + event.type(), event.globalTxId()); return false; } -if (SagaEndedEvent.name().equals(event.type()) && !event.expiryTime().equals(new Date(TxEvent.MAX_TIMESTAMP))) { - // if we get the SagaEndedEvent and the expiryTime is not MAX_TIME, we need to check if it is timeout - if (eventRepository.findTimeoutEvents().stream() - .filter(txEvent -> txEvent.globalTxId().equals(event.globalTxId())) - .count() == 1) { -LOG.warn("Transaction {} is timeout and will be handled by the event scanner", event.globalTxId()); -return false; - } -} - eventRepository.save(event); return true; diff --git a/alpha/alpha-core/src/test/java/org/apache/servicecomb/saga/alpha/core/TxConsistentServiceTest.java b/alpha/alpha-core/src/test/java/org/apache/servicecomb/saga/alpha/core/TxConsistentServiceTest.java index e80d5a8..8faf0e8 100644 --- a/alpha/alpha-core/src/test/java/org/apache/servicecomb/saga/alpha/core/TxConsistentServiceTest.java +++ b/alpha/alpha-core/src/test/java/org/apache/servicecomb/saga/alpha/core/TxConsistentServiceTest.java @@ -132,6 +132,19 @@ public class TxConsistentServiceTest { assertThat(events.size(), is(2)); } + @Test + public void skipSagaEndedEvent_IfGlobalTxAlreadyFailed() { +String localTxId1 = UUID.randomUUID().toString(); +events.add(eventOf(SagaStartedEvent, localTxId1)); +events.add(eventOf(TxAbortedEvent, localTxId1)); + +TxEvent event = eventOf(SagaEndedEvent, localTxId1); + +consistentService.handle(event); + +assertThat(events.size(), is(2)); + } + private TxEvent newEvent(EventType eventType) { return new TxEvent(serviceName, instanceId, globalTxId, localTxId, parentTxId, eventType.name(), compensationMethod, payloads); diff --git a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/TxEventEnvelopeRepository.java b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/TxEventEnvelopeRepository.java index 68e6233..6a8a263 100644 --- a/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/TxEventEnvelopeRepository.java +++ b/alpha/alpha-server/src/main/java/org/apache/servicecomb/saga/alpha/server/TxEventEnvelopeRepository.java @@ -72,7 +72,7 @@ interface TxEventEnvelopeRepository extends CrudRepository { + " AND ( SELECT MIN(t1.retries) FROM TxEvent t1 " + " WHERE t1.globalTxId = t.globalTxId " + "AND t1.localTxId = t.localTxId " - + "AND t1.type = 'TxStartedEvent' ) = 0 ") + + "AND t1.type IN ('TxStartedEvent', 'SagaStartedEvent') ) = 0 ") List findByEventGlobalTxIdAndEventType(String globalTxId, String type); @Query("SELECT t FROM TxEvent t " -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] 04/07: SCB-224 omega support retries event
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git commit 2357d138d00832df634c74f8d5b06f4045d89a1a Author: zhang2014 AuthorDate: Sun Jan 14 16:44:30 2018 +0800 SCB-224 omega support retries event --- .../saga/alpha/core/CompositeOmegaCallback.java| 43 +++--- .../servicecomb/saga/alpha/core/OmegaCallback.java | 5 +- .../saga/alpha/core/PushBackOmegaCallback.java | 10 --- .../saga/alpha/core/TxConsistentService.java | 1 - .../servicecomb/saga/alpha/core/TxEvent.java | 8 +- .../saga/alpha/server/GrpcOmegaCallback.java | 12 --- .../saga/alpha/server/GrpcTxEventEndpointImpl.java | 2 + .../saga/alpha/server/TxEventEnvelope.java | 96 ++ .../src/main/resources/schema-mysql.sql| 2 + .../saga/omega/context/CompensationContext.java| 16 ++-- .../saga/omega/context/OmegaContext.java | 2 + .../spring/TransactionAspectConfig.java| 4 +- .../omega/transaction/CompensableInterceptor.java | 10 ++- .../transaction/CompensationMessageHandler.java| 11 ++- .../CompensationMessageHandlerTest.java| 4 +- 15 files changed, 151 insertions(+), 75 deletions(-) diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallback.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallback.java index b1c7e09..32e5102 100644 --- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallback.java +++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallback.java @@ -17,9 +17,9 @@ package org.apache.servicecomb.saga.alpha.core; +import static java.util.Collections.emptyMap; + import java.util.Map; -import java.util.Objects; -import java.util.Optional; public class CompositeOmegaCallback implements OmegaCallback { private final Map> callbacks; @@ -29,44 +29,23 @@ public class CompositeOmegaCallback implements OmegaCallback { } @Override - public void retries(TxEvent event) { -OmegaCallback omegaCallback = callbackFor(event); + public void compensate(TxEvent event) { +Map serviceCallbacks = callbacks.getOrDefault(event.serviceName(), emptyMap()); -try { - omegaCallback.retries(event); -} catch (Exception e) { - removeEventCallback(event, omegaCallback); - throw e; +if (serviceCallbacks.isEmpty()) { + throw new AlphaException("No such omega callback found for service " + event.serviceName()); } - } - @Override - public void compensate(TxEvent event) { -OmegaCallback omegaCallback = callbackFor(event); +OmegaCallback omegaCallback = serviceCallbacks.get(event.instanceId()); +if (omegaCallback == null) { + omegaCallback = serviceCallbacks.values().iterator().next(); +} try { omegaCallback.compensate(event); } catch (Exception e) { - removeEventCallback(event, omegaCallback); + serviceCallbacks.values().remove(omegaCallback); throw e; } } - - private OmegaCallback callbackFor(String instanceId, Map serviceCallbacks) { -OmegaCallback omegaCallback = serviceCallbacks.get(instanceId); -if (Objects.isNull(omegaCallback)) { - return serviceCallbacks.values().iterator().next(); -} -return omegaCallback; - } - - private OmegaCallback callbackFor(TxEvent event) { -return Optional.ofNullable(callbacks.get(event.serviceName())).filter(callbacks -> !callbacks.isEmpty()) -.map(serviceCallbacks -> callbackFor(event.instanceId(), serviceCallbacks)) -.orElseThrow(() -> new AlphaException("No such omega callback found for service " + event.serviceName())); - } - - private void removeEventCallback(TxEvent event, OmegaCallback omegaCallback) { -callbacks.get(event.serviceName()).values().remove(omegaCallback); - } } diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/OmegaCallback.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/OmegaCallback.java index d926ed0..c7dfbbb 100644 --- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/OmegaCallback.java +++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/OmegaCallback.java @@ -18,10 +18,7 @@ package org.apache.servicecomb.saga.alpha.core; public interface OmegaCallback { - void retries(TxEvent event); - void compensate(TxEvent event); - default void disconnect() { - } + default void disconnect() {} } diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/PushBackOmegaCallback.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/PushBackOmegaCallback.java index 290eb20..3b27c14 100644
[incubator-servicecomb-website] branch asf-site updated (7c9fec0 -> 5483f30)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from 7c9fec0 Publish the website new 4a57c1d Fixed the post generate issue new 5483f30 Publish the website The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: _posts/cn/2018-04-28-saga_with_cucumber.md |4 +- content/cn/docs/autoscale-on-company/index.html| 24 +- .../index.html | 22 +- content/cn/docs/communication-btw-sc-ms/index.html | 24 +- content/cn/docs/company-on-kubernetes/index.html | 24 +- .../cn/docs/config_center_integration/index.html | 24 +- .../index.html | 23 +- content/cn/docs/distributed_saga_1/index.html | 24 +- content/cn/docs/distributed_saga_2/index.html | 24 +- content/cn/docs/distributed_saga_3/index.html | 24 +- content/cn/docs/go-to-cloud/index.html | 24 +- .../docs/how-to-reform-a-legacy-system/index.html | 24 +- content/cn/docs/jira_beginner_guide/index.html | 24 +- content/cn/docs/join_the_community/index.html | 24 +- content/cn/docs/linuxcon-workshop-demo/index.html | 24 +- .../cn/docs/maven_dependency_management/index.html | 24 +- content/cn/docs/open-design/index.html | 20 +- .../index.html | 24 +- content/cn/docs/saga_pack_design/index.html| 22 +- content/cn/docs/saga_with_cucumber/index.html | 1100 .../seckill-development-journey-part-I/index.html | 24 +- .../seckill-development-journey-part-II/index.html | 24 +- .../index.html | 24 +- .../index.html | 24 +- .../cn/docs/tracing-with-servicecomb/index.html| 24 +- content/cn/year-archive/index.html | 117 +++ content/docs/autoscale-on-company/index.html | 24 +- content/docs/communication-btw-sc-ms/index.html| 24 +- content/docs/company-on-kubernetes/index.html | 24 +- content/docs/distributed_saga_1/index.html | 24 +- content/docs/distributed_saga_2/index.html | 24 +- content/docs/distributed_saga_3/index.html | 24 +- content/docs/go-to-cloud/index.html| 24 +- .../docs/how-to-reform-a-legacy-system/index.html | 24 +- content/docs/howto-upgrade-topzipkin2/index.html | 24 +- content/docs/linuxcon-workshop-demo/index.html | 24 +- .../seckill-development-journey-part-I/index.html | 24 +- .../seckill-development-journey-part-II/index.html | 24 +- .../index.html | 24 +- content/docs/service-center-ui/index.html | 24 +- .../service-registry-refactor-proposal/index.html | 24 +- .../index.html | 24 +- content/docs/tracing-with-servicecomb/index.html | 24 +- content/feed.xml | 388 ++- content/sitemap.xml|4 + content/sitemap/index.html |2 + 46 files changed, 2042 insertions(+), 524 deletions(-) create mode 100644 content/cn/docs/saga_with_cucumber/index.html -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] branch master updated: Fixed the post generate issue
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git The following commit(s) were added to refs/heads/master by this push: new 4f63dc6 Fixed the post generate issue 4f63dc6 is described below commit 4f63dc6f8a742430f2a26102e53c5d025af5eca5 Author: Willem Jiang AuthorDate: Sat Apr 28 17:36:10 2018 +0800 Fixed the post generate issue --- _posts/cn/2018-04-28-saga_with_cucumber.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/cn/2018-04-28-saga_with_cucumber.md b/_posts/cn/2018-04-28-saga_with_cucumber.md index 71d88cd..755dbb6 100644 --- a/_posts/cn/2018-04-28-saga_with_cucumber.md +++ b/_posts/cn/2018-04-28-saga_with_cucumber.md @@ -6,7 +6,7 @@ permalink: /cn/docs/saga_with_cucumber/ excerpt: "ServiceComb Saga使用Cucumber做验收测试源码分析" last_modified_at: 2018-04-27T19:05:00+08:00 author: Li Bo -tags: [Saga Cucumber] +tags: [Saga, Cucumber] redirect_from: - /theme-setup/ --- @@ -323,4 +323,4 @@ Saga在Cucumber中集成了byteman注入一个超时异常,测试Saga对超时 [6] debug 分支 https://github.com/lijasonvip/incubator-servicecomb-saga/tree/debug-cucumber-byteman -[7] 加入ServiceComb 社区 http://servicecomb.incubator.apache.org/cn/docs/join_the_community/ \ No newline at end of file +[7] 加入ServiceComb 社区 http://servicecomb.incubator.apache.org/cn/docs/join_the_community/ -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-website] 01/02: Fixed the post generate issue
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit 4a57c1d83accb77d5694f03ef2e072ca1d06cdd7 Author: Willem Jiang AuthorDate: Sat Apr 28 17:36:10 2018 +0800 Fixed the post generate issue --- _posts/cn/2018-04-28-saga_with_cucumber.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/cn/2018-04-28-saga_with_cucumber.md b/_posts/cn/2018-04-28-saga_with_cucumber.md index 71d88cd..755dbb6 100644 --- a/_posts/cn/2018-04-28-saga_with_cucumber.md +++ b/_posts/cn/2018-04-28-saga_with_cucumber.md @@ -6,7 +6,7 @@ permalink: /cn/docs/saga_with_cucumber/ excerpt: "ServiceComb Saga使用Cucumber做验收测试源码分析" last_modified_at: 2018-04-27T19:05:00+08:00 author: Li Bo -tags: [Saga Cucumber] +tags: [Saga, Cucumber] redirect_from: - /theme-setup/ --- @@ -323,4 +323,4 @@ Saga在Cucumber中集成了byteman注入一个超时异常,测试Saga对超时 [6] debug 分支 https://github.com/lijasonvip/incubator-servicecomb-saga/tree/debug-cucumber-byteman -[7] 加入ServiceComb 社区 http://servicecomb.incubator.apache.org/cn/docs/join_the_community/ \ No newline at end of file +[7] 加入ServiceComb 社区 http://servicecomb.incubator.apache.org/cn/docs/join_the_community/ -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] branch SCB-20 updated: SCB-20 Fixed the Accept test error
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch SCB-20 in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git The following commit(s) were added to refs/heads/SCB-20 by this push: new aa307ac SCB-20 Fixed the Accept test error aa307ac is described below commit aa307ac302dbd857e318ac3811fb522c9f14f1c6 Author: Willem Jiang AuthorDate: Wed May 2 17:06:10 2018 +0800 SCB-20 Fixed the Accept test error --- acceptance-tests/acceptance-pack/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/acceptance-tests/acceptance-pack/pom.xml b/acceptance-tests/acceptance-pack/pom.xml index dd5d35a..f79213e 100644 --- a/acceptance-tests/acceptance-pack/pom.xml +++ b/acceptance-tests/acceptance-pack/pom.xml @@ -319,7 +319,7 @@ ${info.service.uri} - @jacoco.failsafe.argLine + ${jacoco.failsafe.argLine} -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] 01/02: SCB-20 Build ServiceComb-Saga with Java
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git commit 43e6da0502448ca97d60f568af00b16b93a2bd0a Author: Willem Jiang AuthorDate: Wed May 2 15:41:11 2018 +0800 SCB-20 Build ServiceComb-Saga with Java --- acceptance-tests/acceptance-pack/pom.xml | 34 +++- pom.xml | 2 ++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/acceptance-tests/acceptance-pack/pom.xml b/acceptance-tests/acceptance-pack/pom.xml index 7baba71..dd5d35a 100644 --- a/acceptance-tests/acceptance-pack/pom.xml +++ b/acceptance-tests/acceptance-pack/pom.xml @@ -49,6 +49,38 @@ + jdk9 + +9 + + + +--add-modules java.xml.bind + + + + javax.xml.bind + jaxb-api + ${jaxb.version} + + + com.sun.xml.bind + jaxb-impl + ${jaxb.version} + + + org.glassfish.jaxb + jaxb-runtime + ${jaxb.version} + + + javax.activation + activation + ${javax.activation.version} + + + + docker @@ -287,7 +319,7 @@ ${info.service.uri} - ${jacoco.failsafe.argLine} + @jacoco.failsafe.argLine diff --git a/pom.xml b/pom.xml index fe3da30..d99ce86 100644 --- a/pom.xml +++ b/pom.xml @@ -60,6 +60,8 @@ 2.7.1 2.9.0 4.0.1 +2.3.0 +1.1.1 3.0.2 -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] 02/02: SCB-20 Fixed the Accept test error
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git commit f91fdf3e33a8508035cf37439fb38119c522de9c Author: Willem Jiang AuthorDate: Wed May 2 17:06:10 2018 +0800 SCB-20 Fixed the Accept test error --- acceptance-tests/acceptance-pack/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/acceptance-tests/acceptance-pack/pom.xml b/acceptance-tests/acceptance-pack/pom.xml index dd5d35a..f79213e 100644 --- a/acceptance-tests/acceptance-pack/pom.xml +++ b/acceptance-tests/acceptance-pack/pom.xml @@ -319,7 +319,7 @@ ${info.service.uri} - @jacoco.failsafe.argLine + ${jacoco.failsafe.argLine} -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] branch master updated (ce71ab7 -> f91fdf3)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git. from ce71ab7 SCB-224 resolved rebase conflicts new 43e6da0 SCB-20 Build ServiceComb-Saga with Java new f91fdf3 SCB-20 Fixed the Accept test error The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: acceptance-tests/acceptance-pack/pom.xml | 32 pom.xml | 2 ++ 2 files changed, 34 insertions(+) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] branch master updated: [SCB-245] add dubbo support for omega, pass omega context from consumer… (#180)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git The following commit(s) were added to refs/heads/master by this push: new 13ff40d [SCB-245] add dubbo support for omega, pass omega context from consumer… (#180) 13ff40d is described below commit 13ff40d9d5d20cd9da83598aa5ffcc64f580141b Author: wuzunqian AuthorDate: Thu May 3 22:09:59 2018 +0800 [SCB-245] add dubbo support for omega, pass omega context from consumer… (#180) * SCB-245 add dubbo support for omega, pass omega context from consumer to provider * fix for WillemJiang's review --- .../omega-transport/omega-transport-dubbo/pom.xml | 40 ++ .../transport/dubbo/SagaDubboConsumerFilter.java | 62 .../transport/dubbo/SagaDubboProviderFilter.java | 61 .../META-INF/dubbo/com.alibaba.dubbo.rpc.Filter| 18 + .../src/test/java/SagaDubboConsumerFilterTest.java | 85 ++ .../src/test/java/SagaDubboProviderFilterTest.java | 81 + omega/omega-transport/pom.xml | 1 + 7 files changed, 348 insertions(+) diff --git a/omega/omega-transport/omega-transport-dubbo/pom.xml b/omega/omega-transport/omega-transport-dubbo/pom.xml new file mode 100644 index 000..48071cf --- /dev/null +++ b/omega/omega-transport/omega-transport-dubbo/pom.xml @@ -0,0 +1,40 @@ + + + +http://maven.apache.org/POM/4.0.0"; + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd";> + +omega-transport +org.apache.servicecomb.saga +0.2.0-SNAPSHOT + +4.0.0 + +omega-transport-dubbo + + +com.alibaba +dubbo +2.6.1 + + + + + \ No newline at end of file diff --git a/omega/omega-transport/omega-transport-dubbo/src/main/java/org/apache/servicecomb/saga/omega/transport/dubbo/SagaDubboConsumerFilter.java b/omega/omega-transport/omega-transport-dubbo/src/main/java/org/apache/servicecomb/saga/omega/transport/dubbo/SagaDubboConsumerFilter.java new file mode 100644 index 000..40605e8 --- /dev/null +++ b/omega/omega-transport/omega-transport-dubbo/src/main/java/org/apache/servicecomb/saga/omega/transport/dubbo/SagaDubboConsumerFilter.java @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.servicecomb.saga.omega.transport.dubbo; + +import com.alibaba.dubbo.common.Constants; +import com.alibaba.dubbo.common.extension.Activate; +import com.alibaba.dubbo.config.spring.extension.SpringExtensionFactory; +import com.alibaba.dubbo.rpc.Filter; +import com.alibaba.dubbo.rpc.Invocation; +import com.alibaba.dubbo.rpc.Invoker; +import com.alibaba.dubbo.rpc.Result; +import com.alibaba.dubbo.rpc.RpcException; + +import java.lang.invoke.MethodHandles; + +import org.apache.servicecomb.saga.omega.context.OmegaContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.apache.servicecomb.saga.omega.context.OmegaContext.GLOBAL_TX_ID_KEY; +import static org.apache.servicecomb.saga.omega.context.OmegaContext.LOCAL_TX_ID_KEY; + +/** + * add saga transaction id to dubbo invocation +* @date 03/05/2018 10:44 AM +*/ +@Activate(group = {Constants.CONSUMER}) +public class SagaDubboConsumerFilter implements Filter { +private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); + +public Result invoke(Invoker invoker, Invocation invocation) throws RpcException { +OmegaContext omegaContext = (OmegaContext) (new SpringExtensionFactory()).getExtension(OmegaContext.class, "omegaContext"); +if(omegaContext != null){ +invocation.getAttachments().put(GLOBAL_TX_ID_KEY, omegaContext.globalTxId()); +invocation.getAttachments().put(LOCAL_TX_ID_KEY, omegaContext.localTxId()); +} +if (omegaContext != null && omegaContext.globalTxId() != null) {
[incubator-servicecomb-saga] branch master updated: SCB-545 update the length of field serviceName from varchar(16) to varchar(36)(#182) (#184)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git The following commit(s) were added to refs/heads/master by this push: new 0bc45c9 SCB-545 update the length of field serviceName from varchar(16) to varchar(36)(#182) (#184) 0bc45c9 is described below commit 0bc45c93a0a7623061bc659cb4412b169d4c2663 Author: wenj91 <1541683...@qq.com> AuthorDate: Sat May 5 07:50:02 2018 +0800 SCB-545 update the length of field serviceName from varchar(16) to varchar(36)(#182) (#184) SCB-545 (#182 )update the length of field serviceName from varchar(16) to varchar(36) --- alpha/alpha-server/src/main/resources/schema-mysql.sql | 6 +++--- alpha/alpha-server/src/main/resources/schema-postgresql.sql | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/alpha/alpha-server/src/main/resources/schema-mysql.sql b/alpha/alpha-server/src/main/resources/schema-mysql.sql index 3806f6d..f0560cf 100644 --- a/alpha/alpha-server/src/main/resources/schema-mysql.sql +++ b/alpha/alpha-server/src/main/resources/schema-mysql.sql @@ -17,7 +17,7 @@ CREATE TABLE IF NOT EXISTS TxEvent ( surrogateId bigint NOT NULL AUTO_INCREMENT, - serviceName varchar(16) NOT NULL, + serviceName varchar(36) NOT NULL, instanceId varchar(36) NOT NULL, creationTime datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, globalTxId varchar(36) NOT NULL, @@ -35,7 +35,7 @@ CREATE TABLE IF NOT EXISTS TxEvent ( CREATE TABLE IF NOT EXISTS Command ( surrogateId bigint NOT NULL AUTO_INCREMENT, eventId bigint NOT NULL UNIQUE, - serviceName varchar(16) NOT NULL, + serviceName varchar(36) NOT NULL, instanceId varchar(36) NOT NULL, globalTxId varchar(36) NOT NULL, localTxId varchar(36) NOT NULL, @@ -55,7 +55,7 @@ CREATE TABLE IF NOT EXISTS Command ( CREATE TABLE IF NOT EXISTS TxTimeout ( surrogateId bigint NOT NULL AUTO_INCREMENT, eventId bigint NOT NULL UNIQUE, - serviceName varchar(16) NOT NULL, + serviceName varchar(36) NOT NULL, instanceId varchar(36) NOT NULL, globalTxId varchar(36) NOT NULL, localTxId varchar(36) NOT NULL, diff --git a/alpha/alpha-server/src/main/resources/schema-postgresql.sql b/alpha/alpha-server/src/main/resources/schema-postgresql.sql index 4ecb1b4..b3f7702 100644 --- a/alpha/alpha-server/src/main/resources/schema-postgresql.sql +++ b/alpha/alpha-server/src/main/resources/schema-postgresql.sql @@ -17,7 +17,7 @@ CREATE TABLE IF NOT EXISTS TxEvent ( surrogateId BIGSERIAL PRIMARY KEY, - serviceName varchar(16) NOT NULL, + serviceName varchar(36) NOT NULL, instanceId varchar(36) NOT NULL, creationTime timestamp(6) NOT NULL DEFAULT CURRENT_DATE, globalTxId varchar(36) NOT NULL, @@ -37,7 +37,7 @@ CREATE INDEX IF NOT EXISTS saga_events_index ON TxEvent (surrogateId, globalTxId CREATE TABLE IF NOT EXISTS Command ( surrogateId BIGSERIAL PRIMARY KEY, eventId bigint NOT NULL UNIQUE, - serviceName varchar(16) NOT NULL, + serviceName varchar(36) NOT NULL, instanceId varchar(36) NOT NULL, globalTxId varchar(36) NOT NULL, localTxId varchar(36) NOT NULL, @@ -55,7 +55,7 @@ CREATE INDEX IF NOT EXISTS saga_commands_index ON Command (surrogateId, eventId, CREATE TABLE IF NOT EXISTS TxTimeout ( surrogateId BIGSERIAL PRIMARY KEY, eventId bigint NOT NULL UNIQUE, - serviceName varchar(16) NOT NULL, + serviceName varchar(36) NOT NULL, instanceId varchar(36) NOT NULL, globalTxId varchar(36) NOT NULL, localTxId varchar(36) NOT NULL, -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] branch master updated: SCB-20 Added documents to build Saga with JDK9+
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git The following commit(s) were added to refs/heads/master by this push: new 9cb8f22 SCB-20 Added documents to build Saga with JDK9+ 9cb8f22 is described below commit 9cb8f227efe113bb46f492a7a7e9094de41dd217 Author: Willem Jiang AuthorDate: Sat May 5 16:45:33 2018 +0800 SCB-20 Added documents to build Saga with JDK9+ --- README.md| 11 +++ acceptance-tests/acceptance-pack/pom.xml | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 49e2964..d76d2b8 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,17 @@ See [Saga Pack Design](docs/design.md) for details. ## Get Started See [Booking Demo](saga-demo/booking/README.md) for details. +## Build and Run the tests from source +* Build the source demo docker image and run all tests + ```bash + $ mvn clean install -Pdemo,docker + ``` +* Current Saga code supports Spring Boot 1.x and Spring Boot 2.x at the same time, saga uses Spring Boot 1.x by default, you can use *-Pspring-boot-2* to switch Spring Boot version to 2.x. +Since Spring Boot supports JDK9 since 2.x, if you want to build and run test the Saga with JDK9 or JDK10, you need to use the spring-boot-2 profile. + ```bash + $ mvn clean install -Pdemo,docker,spring-boot-2 + ``` + ## User Guide How to build and use can refer to [User Guide](docs/user_guide.md). diff --git a/acceptance-tests/acceptance-pack/pom.xml b/acceptance-tests/acceptance-pack/pom.xml index f79213e..d99d476 100644 --- a/acceptance-tests/acceptance-pack/pom.xml +++ b/acceptance-tests/acceptance-pack/pom.xml @@ -51,7 +51,7 @@ jdk9 -9 +[9,) -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] branch spring-boot-2 deleted (was edfb738)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch spring-boot-2 in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git. was edfb738 SCB-410 Support to build demos with Spring Boot 2 The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository. -- To stop receiving notification emails like this one, please contact ningji...@apache.org.
[incubator-servicecomb-saga] branch SCB-463 deleted (was 2592bfa)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch SCB-463 in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git. was 2592bfa SCB-463 Clean up the spring boot2 setting and upgrade the version to 2.0.1 The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository. -- To stop receiving notification emails like this one, please contact ningji...@apache.org.