(servicecomb-fence) branch master updated: 修改timestamp参数显示为时间格式

2024-05-30 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


The following commit(s) were added to refs/heads/master by this push:
 new c7bc88e  修改timestamp参数显示为时间格式
c7bc88e is described below

commit c7bc88e1cd05c24b2594966a9e00d61173f5f1f0
Author: tianxin 
AuthorDate: Thu May 30 01:10:46 2024 -0700

修改timestamp参数显示为时间格式
---
 .../views/board/home/components/call-chain-list.vue  | 20 +++-
 .../web/src/views/board/home/components/mock.json|  2 +-
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git 
a/admin-website/src/main/web/src/views/board/home/components/call-chain-list.vue
 
b/admin-website/src/main/web/src/views/board/home/components/call-chain-list.vue
index 8a56504..29d3da5 100644
--- 
a/admin-website/src/main/web/src/views/board/home/components/call-chain-list.vue
+++ 
b/admin-website/src/main/web/src/views/board/home/components/call-chain-list.vue
@@ -17,7 +17,13 @@
   
 
   
-  
+  
+
+  
+{{ timesHandle(data.row.timestamp) }}
+  
+
+  
 
   
 
@@ -58,6 +64,18 @@ const toolbarButtonClickEvent = ({ code, $grid }) => {
 default: break;
   }
 }
+const timesHandle = (times:number) => {
+  const date = new Date(times/1000)
+  
+  const year = date.getFullYear();
+  const month = String(date.getMonth() +1)
+  const day = String(date.getDate())
+  const hours = String(date.getHours())
+  const minutes = String(date.getMinutes())
+  const seconds = String(date.getSeconds())
+
+  return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
+}
 
 
 

(servicecomb-fence) branch master updated: change source folder

2024-05-29 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


The following commit(s) were added to refs/heads/master by this push:
 new 3aa5aba  change source folder
3aa5aba is described below

commit 3aa5aba9c14767039f4b92761105035a021c947e
Author: liubao 
AuthorDate: Wed May 29 17:10:37 2024 +0800

change source folder
---
 .gitignore|   5 +
 .../src/main/{resources/static/admin => web}/.env |   0
 .../src/main/{resources/static/admin => web}/.env.pages   |   0
 .../main/{resources/static/admin => web}/.eslintignore|   0
 .../src/main/{resources/static/admin => web}/.eslintrc.js |   0
 .../src/main/{resources/static/admin => web}/.gitignore   |   0
 .../main/{resources/static/admin => web}/.prettierrc.js   |   0
 .../main/{resources/static/admin => web}/.stylelintrc.js  |   0
 .../src/main/{resources/static/admin => web}/README.md|   0
 .../main/{resources/static/admin => web}/babel.config.js  |   0
 .../{resources/static/admin => web}/commitlint.config.js  |   0
 .../static/admin => web}/config/plugin/arcoResolver.ts|   0
 .../static/admin => web}/config/plugin/compress.ts|   0
 .../static/admin => web}/config/plugin/imagemin.ts|   0
 .../static/admin => web}/config/plugin/visualizer.ts  |   0
 .../{resources/static/admin => web}/config/utils/index.ts |   0
 .../static/admin => web}/config/vite.config.base.ts   |   0
 .../static/admin => web}/config/vite.config.dev.ts|   0
 .../admin => web}/config/vite.config.preview.base.ts  |   0
 .../admin => web}/config/vite.config.preview.dev.ts   |   0
 .../admin => web}/config/vite.config.preview.prod.ts  |   0
 .../static/admin => web}/config/vite.config.prod.ts   |   0
 .../src/main/{resources/static/admin => web}/favicon.ico  | Bin
 .../main/{resources/static/admin => web}/hwc-exports.json |   0
 .../src/main/{resources/static/admin => web}/index.html   |   0
 .../{resources/static/admin => web}/package-lock.json |   0
 .../src/main/{resources/static/admin => web}/package.json |   0
 .../{resources/static/admin => web}/public/favicon.png| Bin
 .../src/main/{resources/static/admin => web}/src/App.vue  |   0
 .../main/{resources/static/admin => web}/src/api/board.ts |   0
 .../main/{resources/static/admin => web}/src/api/user.ts  |   0
 .../static/admin => web}/src/assets/images/avatar.png | Bin
 admin-website/src/main/web/src/assets/images/search.png   | Bin 0 -> 649 bytes
 .../static/admin => web}/src/assets/style/breakpoint.less |   0
 .../static/admin => web}/src/assets/style/exception.less  |   0
 .../static/admin => web}/src/assets/style/global.less |   0
 .../static/admin => web}/src/assets/style/menu.less   |   0
 .../admin => web}/src/components/breadcrumb/index.vue |   0
 .../static/admin => web}/src/components/index.ts  |   0
 .../static/admin => web}/src/components/menu/index.vue|   0
 .../static/admin => web}/src/components/navbar/index.vue  |   0
 .../src/main/{resources/static/admin => web}/src/env.d.ts |   0
 .../{resources/static/admin => web}/src/hooks/loading.ts  |   0
 .../{resources/static/admin => web}/src/hooks/user.ts |   0
 .../static/admin => web}/src/layout/default-layout.vue|   0
 .../static/admin => web}/src/layout/page-layout.vue   |   0
 .../src/main/{resources/static/admin => web}/src/main.ts  |   0
 .../{resources/static/admin => web}/src/router/index.ts   |   0
 .../static/admin => web}/src/router/routes/index.ts   |   0
 .../admin => web}/src/router/routes/modules/kanban.ts |   0
 .../static/admin => web}/src/router/typings.d.ts  |   0
 .../{resources/static/admin => web}/src/store/index.ts|   0
 .../admin => web}/src/store/modules/tab-bar/index.ts  |   0
 .../admin => web}/src/store/modules/tab-bar/types.ts  |   0
 .../static/admin => web}/src/store/modules/user/index.ts  |   0
 .../static/admin => web}/src/store/modules/user/types.ts  |   0
 .../{resources/static/admin => web}/src/types/mock.ts |   0
 .../{resources/static/admin => web}/src/types/roleType.ts |   0
 .../src/views/board/home/components/call-chain-list.vue   |   0
 .../src/views/board/home/components/main.vue  |   0
 .../src/views/board/home/components/mock.json |   0
 .../static/admin => web}/src/views/board/home/index.vue   |   0
 .../static/admin => web}/src/views/board/index.vue|   0
 .../static/admin => web}/src/views/board/list/index.vue   |   0
 .../src/views/login/components/login-form.vue |   0
 .../src/views/login/components/login-mail.vue |   0
 .../static/admin => web}/src/views/login/i

(servicecomb-fence) branch master updated: 调用链展示组件语法切换v3

2024-05-29 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


The following commit(s) were added to refs/heads/master by this push:
 new 3b47ba9  调用链展示组件语法切换v3
3b47ba9 is described below

commit 3b47ba9adf3bccd4e7f965b960597992cb27f3e5
Author: tianxin 
AuthorDate: Wed May 29 02:03:13 2024 -0700

调用链展示组件语法切换v3
---
 .../static/admin/src/components/navbar/index.vue   |  2 +-
 .../board/home/components/call-chain-list.vue  | 49 +-
 2 files changed, 20 insertions(+), 31 deletions(-)

diff --git 
a/admin-website/src/main/resources/static/admin/src/components/navbar/index.vue 
b/admin-website/src/main/resources/static/admin/src/components/navbar/index.vue
index c8d5d79..e6f65d8 100644
--- 
a/admin-website/src/main/resources/static/admin/src/components/navbar/index.vue
+++ 
b/admin-website/src/main/resources/static/admin/src/components/navbar/index.vue
@@ -24,7 +24,7 @@
 
 
 
-  import { UserHead as TinyUserHead, Modal } from '@opentiny/vue';
+  import { UserHead as TinyUserHead } from '@opentiny/vue';
   import {
 IconCheckOut,
   } from '@opentiny/vue-icon';
diff --git 
a/admin-website/src/main/resources/static/admin/src/views/board/home/components/call-chain-list.vue
 
b/admin-website/src/main/resources/static/admin/src/views/board/home/components/call-chain-list.vue
index f5a6e25..8a56504 100644
--- 
a/admin-website/src/main/resources/static/admin/src/views/board/home/components/call-chain-list.vue
+++ 
b/admin-website/src/main/resources/static/admin/src/views/board/home/components/call-chain-list.vue
@@ -1,7 +1,7 @@
 <template>
-  <tiny-grid resizable seq-serial :data="mockData" 
@toolbar-button-click="toolbarButtonClickEvent">
+  <tiny-grid resizable seq-serial :data="state.mockData" 
@toolbar-button-click="toolbarButtonClickEvent">
 <template #toolbar>
-  <tiny-grid-toolbar :buttons="toolbarButtons"> </tiny-grid-toolbar>
+  <tiny-grid-toolbar :buttons="state.toolbarButtons"> </tiny-grid-toolbar>
 </template>
 <tiny-grid-column type="index" width="60"></tiny-grid-column>
 <tiny-grid-column width="60"></tiny-grid-column>
@@ -15,7 +15,6 @@
   <div>
 {{ data.row.tags['http.status_code'] }}
   </div>
-
 </template>
   </tiny-grid-column>
   <tiny-grid-column field="timestamp" 
title="timestamp"></tiny-grid-column>
@@ -36,37 +35,27 @@
   </tiny-grid>
 </template>
 
-<script lang="jsx">
-import { Grid, GridColumn, GridToolbar } from '@opentiny/vue'
+<script lang="ts" setup>
+import { reactive } from 'vue';
+import { Grid as TinyGrid, GridColumn as TinyGridColumn, GridToolbar as 
TinyGridToolbar } from '@opentiny/vue'
 import mock from './mock.json'
 
-export default {
-  components: {
-TinyGrid: Grid,
-TinyGridColumn: GridColumn,
-TinyGridToolbar: GridToolbar
-  },
-  data() {
-return {
-  toolbarButtons: [
-{
-  code: 'clearRowExpand',
-  name: '手动清空展开行状态'
-}
-  ],
-  mockData: mock,
+const state = reactive({
+  mockData: mock,
+  toolbarButtons: [
+{
+  code: 'clearRowExpand',
+  name: '手动清空展开行状态'
 }
-  },
-  methods: {
-toolbarButtonClickEvent({ code, $grid }) {
-  // eslint-disable-next-line default-case
-  switch (code) {
-case 'clearRowExpand': {
-  $grid.clearRowExpand()
-  break
-}
-  }
+  ],
+})
+const toolbarButtonClickEvent = ({ code, $grid }) => {
+  switch (code) {
+case 'clearRowExpand': {
+  $grid.clearRowExpand()
+  break
 }
+default: break;
   }
 }
 



(servicecomb-fence) branch master updated: 新增调用链列表展示

2024-05-29 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


The following commit(s) were added to refs/heads/master by this push:
 new 21b2185  新增调用链列表展示
21b2185 is described below

commit 21b218568db35d56b1fc43ca4be88029290aacf5
Author: tianxin 
AuthorDate: Wed May 29 01:38:34 2024 -0700

新增调用链列表展示
---
 .../board/home/components/call-chain-list.vue  | 175 --
 .../admin/src/views/board/home/components/main.vue |   2 +-
 .../src/views/board/home/components/mock.json  | 252 +
 3 files changed, 292 insertions(+), 137 deletions(-)

diff --git 
a/admin-website/src/main/resources/static/admin/src/views/board/home/components/call-chain-list.vue
 
b/admin-website/src/main/resources/static/admin/src/views/board/home/components/call-chain-list.vue
index 7e6ac14..f5a6e25 100644
--- 
a/admin-website/src/main/resources/static/admin/src/views/board/home/components/call-chain-list.vue
+++ 
b/admin-website/src/main/resources/static/admin/src/views/board/home/components/call-chain-list.vue
@@ -1,59 +1,44 @@
 
-  
+  
 

 
 
-
-
-  
-
-  
-  
-  
-  
+
+
+  
+
+  
+  
+  
+
+  
+{{ data.row.tags['http.status_code'] }}
+  
+
+
+  
+  
 
   
 
-
-
-
-
+
+
+
+
+
+  
+
+  查看日志|查看Metrics
+
+  
+
   
 
 
 
 import { Grid, GridColumn, GridToolbar } from '@opentiny/vue'
-
-const expandTableData = [
-  {
-id: '1',
-name: 'GFD科技YX公司',
-area: '华东区',
-address: '福州',
-introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
-  },
-  {
-id: '2',
-name: 'WWW科技YX公司',
-area: '华南区',
-address: '深圳福田区',
-introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
-  },
-  {
-id: '3',
-name: 'RFV有限责任公司',
-area: '华南区',
-address: '中山市',
-introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
-  }
-]
+import mock from './mock.json'
 
 export default {
   components: {
@@ -69,99 +54,7 @@ export default {
   name: '手动清空展开行状态'
 }
   ],
-  tableData: [
-{
-  id: '1',
-  name: 'GFD科技YX公司',
-  userId: 421000103624183,
-  area: '华东区',
-  province: '福建省',
-  city: '福州',
-  contact: '许生',
-  telephone: '1234567890',
-  address: '福州',
-  ipaddress: '192.168.111.111',
-  introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。',
-  employees: 800,
-  createdDate: '2014-04-30 00:56:00',
-  boole: false,
-  assets: '100',
-  rate: 0.9
-},
-{
-  id: '2',
-  name: 'WWW科技YX公司',
-  userId: 421000103624183,
-  area: '华南区',
-  province: '广东省',
-  city: '深圳',
-  contact: '朱生',
-  telephone: '1234567890',
-  address: '深圳福田区',
-  ipaddress: '192.168.111.1',
-  introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。',
-  employees: 300,
-  createdDate: '2016-07-08 12:36:22',
-  boole: true,
-  assets: '150',
-  rate: 0.7
-},
-{
-  id: '3',
-  name: 'RFV有限责任公司',
-  userId: 441047913162396,
-  area: '华南区',
-  province: '广东省',
-  city: '中山',
-  contact: '秦生',
-  telephone: '1234567890',
-  address: '中山市',
-  ipaddress: '192.168.111.120',
-  introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。',
-  employees: 1300,
-  createdDate: '2014-02-14 14:14:14',
-  boole: false,
-  assets: '150',
-  rate: 0.6
-},
-{
-  id: '4',
-  name: 'TGB科技YX公司',
-  userId: 702973890055088,
-  area: '华东区',
-  province: '福建省',
-  city: '龙岩',
-  contact: '周生',
-  telephone: '1234567890',
-  address: '龙岩',
-  ipaddress: '192.168.11.111',
-  introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。',
-  employees: 360,
-  createdDate: '2013-01-13 13:13:13',
-  boole: true,
-  assets: '120',
-  rate: 0.5
-},
-{
-  id: '5',
-  name: 'YHN科技YX公司',
-  userId: 702973890055088,
-  area: '华南区',
-  province: '广东省',
-  city: '韶关',
-  contact: '郑生',
-  telephone: '1234567890',
-  address: '韶关',
-  ipaddress: '192.168.101.111',
-  introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。',
-  employees: 810,
-  createdDate: '2012-12-12 12:12:12',
-  boole: true,
-  assets

(servicecomb-fence) branch master updated: upgrade mysql connector

2024-05-29 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


The following commit(s) were added to refs/heads/master by this push:
 new 94f2274  upgrade mysql connector
94f2274 is described below

commit 94f2274e687a2e95fc1cdd9f67540e4f7b67945f
Author: liubao 
AuthorDate: Wed May 29 15:34:23 2024 +0800

upgrade mysql connector
---
 authentication-server/src/main/resources/application.yml | 2 +-
 pom.xml  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/authentication-server/src/main/resources/application.yml 
b/authentication-server/src/main/resources/application.yml
index 4bc8f0f..99db2f0 100644
--- a/authentication-server/src/main/resources/application.yml
+++ b/authentication-server/src/main/resources/application.yml
@@ -60,4 +60,4 @@ spring:
 url: ${db.url:jdbc:mysql://localhost/authentication_server_db}
 username: ${db.username:root}
 password: ${db.password:root}
-driver-class-name: com.mysql.jdbc.Driver
+driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/pom.xml b/pom.xml
index 7bf7af5..da58940 100644
--- a/pom.xml
+++ b/pom.xml
@@ -75,7 +75,7 @@
   
 mysql
 mysql-connector-java
-5.1.46
+8.0.33
   
 
   



(servicecomb-fence) branch master updated (32780af -> d01b605)

2024-05-27 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


from 32780af  refactoring some code
 new 4e7ac35  新增登录页面
 new d01b605  新增登录页面

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:
 admin-website/src/main/resources/static/admin/.env | 4 +
 .../src/main/resources/static/admin/.env.pages | 1 +
 .../src/main/resources/static/admin/.eslintignore  | 3 +
 .../src/main/resources/static/admin/.eslintrc.js   |84 +
 .../src/main/resources/static/admin/.gitignore | 6 +
 .../src/main/resources/static/admin/.prettierrc.js |10 +
 .../main/resources/static/admin/.stylelintrc.js|29 +
 .../src/main/resources/static/admin/README.md  |11 +
 .../main/resources/static/admin/babel.config.js| 3 +
 .../resources/static/admin/commitlint.config.js| 3 +
 .../static/admin/config/plugin/arcoResolver.ts |19 +
 .../static/admin/config/plugin/compress.ts |34 +
 .../static/admin/config/plugin/imagemin.ts |37 +
 .../static/admin/config/plugin/visualizer.ts   |18 +
 .../resources/static/admin/config/utils/index.ts   | 9 +
 .../static/admin/config/vite.config.base.ts|69 +
 .../static/admin/config/vite.config.dev.ts |37 +
 .../admin/config/vite.config.preview.base.ts   |66 +
 .../static/admin/config/vite.config.preview.dev.ts |22 +
 .../admin/config/vite.config.preview.prod.ts   |29 +
 .../static/admin/config/vite.config.prod.ts|23 +
 .../src/main/resources/static/admin/favicon.ico|   Bin 0 -> 45029 bytes
 .../main/resources/static/admin/hwc-exports.json   |   351 +
 .../src/main/resources/static/admin/index.html |13 +
 .../main/resources/static/admin/package-lock.json  | 17015 +++
 .../src/main/resources/static/admin/package.json   |99 +
 .../main/resources/static/admin/public/favicon.png |   Bin 0 -> 45029 bytes
 .../src/main/resources/static/admin/src/App.vue|12 +
 .../main/resources/static/admin/src/api/board.ts   |19 +
 .../main/resources/static/admin/src/api/user.ts|21 +
 .../static/admin/src/assets/images/avatar.png  |   Bin 0 -> 20133 bytes
 .../static/admin/src/assets/style/breakpoint.less  |18 +
 .../static/admin/src/assets/style/exception.less   |50 +
 .../static/admin/src/assets/style/global.less  |28 +
 .../static/admin/src/assets/style/menu.less|35 +
 .../admin/src/components/breadcrumb/index.vue  |30 +
 .../resources/static/admin/src/components/index.ts | 8 +
 .../static/admin/src/components/menu/index.vue |   236 +
 .../static/admin/src/components/navbar/index.vue   |   264 +
 .../src/main/resources/static/admin/src/env.d.ts   |26 +
 .../resources/static/admin/src/hooks/loading.ts|16 +
 .../main/resources/static/admin/src/hooks/user.ts  |26 +
 .../static/admin/src/layout/default-layout.vue |   135 +
 .../static/admin/src/layout/page-layout.vue| 9 +
 .../src/main/resources/static/admin/src/main.ts|25 +
 .../resources/static/admin/src/router/index.ts |47 +
 .../static/admin/src/router/routes/index.ts|15 +
 .../admin/src/router/routes/modules/kanban.ts  |41 +
 .../resources/static/admin/src/router/typings.d.ts |14 +
 .../main/resources/static/admin/src/store/index.ts | 8 +
 .../admin/src/store/modules/tab-bar/index.ts   |51 +
 .../admin/src/store/modules/tab-bar/types.ts   |11 +
 .../static/admin/src/store/modules/user/index.ts   |85 +
 .../static/admin/src/store/modules/user/types.ts   |26 +
 .../main/resources/static/admin/src/types/mock.ts  | 5 +
 .../resources/static/admin/src/types/roleType.ts   | 5 +
 .../board/home/components/call-chain-list.vue  |   179 +
 .../admin/src/views/board/home/components/main.vue |   101 +
 .../static/admin/src/views/board/home/index.vue|31 +
 .../static/admin/src/views/board/index.vue | 7 +
 .../static/admin/src/views/board/list/index.vue|12 +
 .../src/views/login/components/login-form.vue  |49 +
 .../src/views/login/components/login-mail.vue  |   166 +
 .../static/admin/src/views/login/index.vue |93 +
 .../src/main/resources/static/admin/tiny.config.js |13 +
 .../src/main/resources/static/admin/tsconfig.json  |21 +
 66 files changed, 19933 insertions(+)
 create mode 100644 admin-website/src/main/resources/static/admin/.env
 create mode 100644 admin-website/src/main/resources/static/admin/.env.pages
 create mode 100644 admin-website/src/main/resources/static/admin/.eslintignore
 create mode 

(servicecomb-fence) 02/02: 新增登录页面

2024-05-27 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git

commit d01b605dd8a1e634d6be8aedd1ac39bc4e34402c
Author: tianxin 
AuthorDate: Mon May 27 01:59:40 2024 -0700

新增登录页面
---
 admin-website/src/main/resources/static/admin/README.md  | 8 ++--
 admin-website/src/main/resources/static/admin/index.html | 2 +-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/admin-website/src/main/resources/static/admin/README.md 
b/admin-website/src/main/resources/static/admin/README.md
index f476a63..fa86292 100644
--- a/admin-website/src/main/resources/static/admin/README.md
+++ b/admin-website/src/main/resources/static/admin/README.md
@@ -1,7 +1,11 @@
-# TinyPro of vue
+# admin
 ## 说明
  
-此项目为tiny-toolkit-pro 套件初始化的以 TinyPro of vue 为模板的一个Vue项目
+此项目为tiny-toolkit-pro 套件初始化的以 TinyPro of vue 
为模板的一个Vue项目,项目开发指导链接https://www.opentiny.design/vue-pro/docs/start
+该项目通过tiny init pro 下载TinyPro of vue 
为模板,初始化项目名admin,之后保留了项目中的src/views/login目录下的登录页面,去除了src/views目录下的其余菜单导航文件以及对应的JS文件,对
 
+src/views/board文件保留文件名,用导航(调用链展示)替换原始路由导航
+并对不满足fence-admin项目的初始化JS文件删除,后期根据项目所需的页面以及交互在对应目录下进行封装即可。
  
 ## 用法
 npm run start
+或者 tiny start(注:需安装TinyCli脚手架,使用命令npm install @opentiny/cli 
-g,验证是否安装成功,可以在命令行中执行以下命令,查看 tiny 的版本:tiny 
-v,指导文档链接:https://www.opentiny.design/tiny-cli/docs/start)
diff --git a/admin-website/src/main/resources/static/admin/index.html 
b/admin-website/src/main/resources/static/admin/index.html
index 0b1d5c7..f4062b6 100644
--- a/admin-website/src/main/resources/static/admin/index.html
+++ b/admin-website/src/main/resources/static/admin/index.html
@@ -4,7 +4,7 @@
 
 
 
-TinyPro of Vue - 开箱即用的中后台前端/设计解决方案
+云原生应用开发套件
   
   
 



(servicecomb-fence) branch master updated: refactoring some code

2024-05-25 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


The following commit(s) were added to refs/heads/master by this push:
 new 32780af  refactoring some code
32780af is described below

commit 32780aff1823d7cd90751bdf2962406fe0296d32
Author: liubao 
AuthorDate: Sat May 25 17:26:32 2024 +0800

refactoring some code
---
 .../servicecomb/fence/AdminServiceApplication.java |  2 +-
 .../fence/admin/AdminObservabilityEndpoint.java| 44 --
 .../AsyncObservabilityService.java}|  4 +-
 .../ServiceDependencyConfiguration.java| 30 ++-
 .../fence/edge/AuthenticationConfiguration.java|  5 +++
 .../edge/AuthenticationServerTokenEndpoint.java| 35 -
 .../fence/edge/EdgeOpenIDTokenStore.java   | 17 +
 .../servicecomb/fence/edge/TokenEndpoint.java  | 13 +--
 .../fence/edge/dependencies/AsyncTokenService.java | 19 ++
 .../ServiceDependencyConfiguration.java| 13 +++
 .../fence/tests/AuthenticationTestCase.java|  2 +-
 .../resource/AuthenticationConfiguration.java  |  8 
 12 files changed, 85 insertions(+), 107 deletions(-)

diff --git 
a/admin-service/src/main/java/org/apache/servicecomb/fence/AdminServiceApplication.java
 
b/admin-service/src/main/java/org/apache/servicecomb/fence/AdminServiceApplication.java
index 2167e76..1135703 100644
--- 
a/admin-service/src/main/java/org/apache/servicecomb/fence/AdminServiceApplication.java
+++ 
b/admin-service/src/main/java/org/apache/servicecomb/fence/AdminServiceApplication.java
@@ -30,4 +30,4 @@ public class AdminServiceApplication {
   e.printStackTrace();
 }
   }
-}
\ No newline at end of file
+}
diff --git 
a/admin-service/src/main/java/org/apache/servicecomb/fence/admin/AdminObservabilityEndpoint.java
 
b/admin-service/src/main/java/org/apache/servicecomb/fence/admin/AdminObservabilityEndpoint.java
index f459db5..acba7ff 100644
--- 
a/admin-service/src/main/java/org/apache/servicecomb/fence/admin/AdminObservabilityEndpoint.java
+++ 
b/admin-service/src/main/java/org/apache/servicecomb/fence/admin/AdminObservabilityEndpoint.java
@@ -17,23 +17,19 @@
 package org.apache.servicecomb.fence.admin;
 
 
-import java.net.URI;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.servicecomb.config.BootStrapProperties;
 import org.apache.servicecomb.core.Endpoint;
-import org.apache.servicecomb.core.SCBEngine;
-import org.apache.servicecomb.core.Transport;
+import org.apache.servicecomb.core.invocation.endpoint.EndpointUtils;
+import 
org.apache.servicecomb.fence.admin.dependencies.AsyncObservabilityService;
 import org.apache.servicecomb.fence.api.admin.AdminObservabilityService;
 import org.apache.servicecomb.fence.api.observability.SearchLogResponse;
 import org.apache.servicecomb.fence.api.observability.SearchTraceResponse;
 import org.apache.servicecomb.fence.api.observability.Trace;
-import org.apache.servicecomb.foundation.common.concurrent.ConcurrentHashMapEx;
-import org.apache.servicecomb.provider.pojo.Invoker;
 import org.apache.servicecomb.provider.rest.common.RestSchema;
 import org.apache.servicecomb.registry.DiscoveryManager;
 import org.apache.servicecomb.registry.api.DiscoveryInstance;
@@ -51,8 +47,7 @@ import jakarta.ws.rs.core.Response.Status;
 public class AdminObservabilityEndpoint implements AdminObservabilityService {
   private static final Logger LOGGER = 
LoggerFactory.getLogger(AdminObservabilityEndpoint.class);
 
-  private final Map thirdServices =
-  new ConcurrentHashMapEx<>();
+  private AsyncObservabilityService asyncObservabilityService;
 
   private DiscoveryManager discoveryManager;
 
@@ -64,11 +59,15 @@ public class AdminObservabilityEndpoint implements 
AdminObservabilityService {
   }
 
   @Autowired
-  @SuppressWarnings("unused")
   public void setDiscoveryManager(DiscoveryManager discoveryManager) {
 this.discoveryManager = discoveryManager;
   }
 
+  @Autowired
+  public void setAsyncObservabilityService(AsyncObservabilityService 
asyncObservabilityService) {
+this.asyncObservabilityService = asyncObservabilityService;
+  }
+
   @Override
   public List searchTrace(String timestamp, String 
traceId) {
 List services = 
discoveryManager.getPrimaryDiscovery().findServices(application);
@@ -87,8 +86,8 @@ public class AdminObservabilityEndpoint implements 
AdminObservabilityService {
   continue;
 }
 try {
-  getService(serviceName).searchTrace(
-  parseEndpoint(instance.getEndpoints().get(0)),
+  asyncObservabilityService.searchTrace(
+  EndpointUtils.parse(instance.getEndpoints().get(0)),
   timestamp, traceId).whenCo

(servicecomb-fence) branch master updated: add admin website

2024-05-25 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


The following commit(s) were added to refs/heads/master by this push:
 new 2c09c1f  add admin website
2c09c1f is described below

commit 2c09c1f22da67eabc144bd09d874054a411cfd8e
Author: liubao 
AuthorDate: Sat May 25 14:16:19 2024 +0800

add admin website
---
 admin-website/pom.xml  | 62 +++
 .../servicecomb/fence/AdminWebsiteApplication.java | 42 -
 .../src/main/resources/application.yml | 32 +++---
 admin-website/src/main/resources/log4j2.xml| 69 ++
 .../src/main/resources/static}/css/style.css   |  0
 .../resources/static}/githubLoginCallback.html |  2 +-
 .../main/resources/static}/js/jquery-1.11.1.min.js |  0
 .../src/main/resources/static}/js/login.js |  4 +-
 .../src/main/resources/static}/js/operation.js |  0
 .../src/main/resources/static}/login.html  |  0
 .../src/main/resources/static}/operation.html  |  0
 .../fence/observability/ObservabilityEndpoint.java | 16 -
 .../fence/authentication/user/TokenMapper.java | 21 ---
 .../fence/authentication/user/UserMapper.java  |  9 +--
 .../fence/edge/StaticWebpageDispatcher.java| 48 ---
 ...cecomb.transport.rest.vertx.VertxHttpDispatcher | 18 --
 edge-service/src/main/resources/application.yml| 14 +++--
 pom.xml|  3 +-
 18 files changed, 198 insertions(+), 142 deletions(-)

diff --git a/admin-website/pom.xml b/admin-website/pom.xml
new file mode 100644
index 000..4b6b185
--- /dev/null
+++ b/admin-website/pom.xml
@@ -0,0 +1,62 @@
+
+
+
+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;>
+  4.0.0
+
+
+  
+org.apache.servicecomb.fence
+project-fence
+0.0.1-SNAPSHOT
+  
+
+  admin-website
+  jar
+
+  
+UTF-8
+  
+
+  
+
+  org.apache.servicecomb
+  java-chassis-spring-boot-starter-servlet
+  
+
+  org.springframework.boot
+  spring-boot-starter-logging
+
+  
+
+
+  org.apache.servicecomb.fence
+  observability-api-impl
+  ${project.version}
+
+
+  org.springframework.boot
+  spring-boot-autoconfigure
+
+  
+
+  
+
+  
+org.springframework.boot
+spring-boot-maven-plugin
+  
+
+  
+
diff --git a/edge-service/src/main/resources/ui/css/style.css 
b/admin-website/src/main/java/org/apache/servicecomb/fence/AdminWebsiteApplication.java
similarity index 60%
copy from edge-service/src/main/resources/ui/css/style.css
copy to 
admin-website/src/main/java/org/apache/servicecomb/fence/AdminWebsiteApplication.java
index 5731863..cd9f8c3 100644
--- a/edge-service/src/main/resources/ui/css/style.css
+++ 
b/admin-website/src/main/java/org/apache/servicecomb/fence/AdminWebsiteApplication.java
@@ -15,35 +15,19 @@
  * limitations under the License.
  */
 
-.error {
-font-family:verdana;
-color:red;
-}
+package org.apache.servicecomb.fence;
 
-.header {
-background-color:black;
-color:white;
-text-align:center;
-padding:5px;
-}
+import org.springframework.boot.WebApplicationType;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.builder.SpringApplicationBuilder;
 
-.nav {
-line-height:30px;
-background-color:#ee;
-height:300px;
-width:100px;
-float:left;
-padding:5px; 
-}
-
-.section {
-text-align:center;
-padding:5px;
-}
-
-.footer {
-color:red;
-clear:both;
-text-align:center;
-padding:25px; 
+@SpringBootApplication
+public class AdminWebsiteApplication {
+  public static void main(String[] args) {
+try {
+  new 
SpringApplicationBuilder(AdminWebsiteApplication.class).web(WebApplicationType.SERVLET).run(args);
+} catch (Throwable e) {
+  e.printStackTrace();
+}
+  }
 }
\ No newline at end of file
diff --git a/edge-service/src/main/resources/application.yml 
b/admin-website/src/main/resources/application.yml
similarity index 57%
copy from edge-service/src/main/resources/application.yml
copy to admin-website/src/main/resources/application.yml
index 9955b77..22376da 100644
--- a/edge-service/src/main/resources/application.yml
+++ b/admin-website/src/main/resources/application.yml
@@ -15,10 +15,13 @@
 ## See the License for the specific language governing permissions and
 ## limitations under the License.
 ## ---
+server:
+  port: 9098
+
 servicecomb:
   service:
 application: scb-fence
-name: edge-service
+name: admin-website
 version: 0.0.1

(servicecomb-java-chassis) branch master updated: [SCB-2881] support setting hibernate validation configuration (#4343)

2024-05-23 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new e7046e574 [SCB-2881] support setting hibernate validation 
configuration (#4343)
e7046e574 is described below

commit e7046e5744f327f2cc22ad3c517f1d5445ddbdba
Author: Alex <97039406+chengyoul...@users.noreply.github.com>
AuthorDate: Fri May 24 11:01:41 2024 +0800

[SCB-2881] support setting hibernate validation configuration (#4343)
---
 .../core/filter/impl/ParameterValidatorFilter.java | 17 +++-
 .../filter/impl/ParameterValidatorFilterTest.java  |  9 +-
 .../swagger/engine/SwaggerProducerOperation.java   | 10 ---
 .../extension/ProducerInvokeExtension.java | 32 
 .../invocation/validator/ParameterValidator.java   | 95 --
 ...er.invocation.extension.ProducerInvokeExtension | 18 
 6 files changed, 20 insertions(+), 161 deletions(-)

diff --git 
a/core/src/main/java/org/apache/servicecomb/core/filter/impl/ParameterValidatorFilter.java
 
b/core/src/main/java/org/apache/servicecomb/core/filter/impl/ParameterValidatorFilter.java
index c33c79579..b4bf06579 100644
--- 
a/core/src/main/java/org/apache/servicecomb/core/filter/impl/ParameterValidatorFilter.java
+++ 
b/core/src/main/java/org/apache/servicecomb/core/filter/impl/ParameterValidatorFilter.java
@@ -17,9 +17,11 @@
 package org.apache.servicecomb.core.filter.impl;
 
 import java.lang.reflect.Method;
+import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.CompletableFuture;
 
+import org.apache.servicecomb.config.ConfigUtil;
 import org.apache.servicecomb.core.Invocation;
 import org.apache.servicecomb.core.filter.AbstractFilter;
 import org.apache.servicecomb.core.filter.Filter;
@@ -36,6 +38,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.InitializingBean;
 
+import jakarta.validation.Configuration;
 import jakarta.validation.ConstraintViolation;
 import jakarta.validation.ConstraintViolationException;
 import jakarta.validation.Valid;
@@ -71,6 +74,8 @@ public class ParameterValidatorFilter extends AbstractFilter 
implements Provider
 
   public static final String NAME = "validator";
 
+  public static final String HIBERNATE_VALIDATE_PREFIX = "hibernate.validator";
+
   public static final String ENABLE_EL = 
"servicecomb.filters.validation.useResourceBundleMessageInterpolator";
 
   protected ExecutableValidator validator;
@@ -107,11 +112,17 @@ public class ParameterValidatorFilter extends 
AbstractFilter implements Provider
   }
 
   protected ValidatorFactory createValidatorFactory() {
-return Validation.byProvider(HibernateValidator.class)
+Configuration validatorConfiguration = 
Validation.byProvider(HibernateValidator.class)
 .configure()
 .propertyNodeNameProvider(new JacksonPropertyNodeNameProvider())
-.messageInterpolator(messageInterpolator())
-.buildValidatorFactory();
+.messageInterpolator(messageInterpolator());
+Map properties = 
ConfigUtil.stringPropertiesWithPrefix(environment, HIBERNATE_VALIDATE_PREFIX);
+if (!properties.isEmpty()) {
+  for (Map.Entry entry : properties.entrySet()) {
+validatorConfiguration.addProperty(entry.getKey(), entry.getValue());
+  }
+}
+return validatorConfiguration.buildValidatorFactory();
   }
 
   protected AbstractMessageInterpolator messageInterpolator() {
diff --git 
a/core/src/test/java/org/apache/servicecomb/core/filter/impl/ParameterValidatorFilterTest.java
 
b/core/src/test/java/org/apache/servicecomb/core/filter/impl/ParameterValidatorFilterTest.java
index f80490978..4afed2d7d 100644
--- 
a/core/src/test/java/org/apache/servicecomb/core/filter/impl/ParameterValidatorFilterTest.java
+++ 
b/core/src/test/java/org/apache/servicecomb/core/filter/impl/ParameterValidatorFilterTest.java
@@ -42,7 +42,8 @@ import 
org.apache.servicecomb.swagger.invocation.exception.InvocationException;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
-import org.springframework.core.env.Environment;
+import org.springframework.core.env.ConfigurableEnvironment;
+import org.springframework.core.env.MutablePropertySources;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 
@@ -96,14 +97,16 @@ public class ParameterValidatorFilterTest {
   @Mocked
   SwaggerProducerOperation operation;
 
-  Environment environment;
+  ConfigurableEnvironment environment;
 
   @Before
   public void setUp() throws Exception {
-environment = Mockito.mock(Environment.class);
+environment = Mockito.mock(ConfigurableEnvironment.class);
 SCBEngine engine = SCBBootstrap.createSCBEngineForTest(environment);
+MutablePropertySources sources = new MutablePropertySources();
 
 Mockito.when(environment.

(servicecomb-java-chassis) branch master updated: prepare new snapshot version (#4349)

2024-05-23 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new 1ad8b4dce prepare new snapshot version (#4349)
1ad8b4dce is described below

commit 1ad8b4dcead215db8c25c706b2ea33e232a48f66
Author: liubao68 
AuthorDate: Fri May 24 10:28:41 2024 +0800

prepare new snapshot version (#4349)
---
 clients/config-center-client/pom.xml| 2 +-
 clients/config-common/pom.xml   | 2 +-
 clients/config-kie-client/pom.xml   | 2 +-
 clients/dashboard-client/pom.xml| 2 +-
 clients/http-client-common/pom.xml  | 2 +-
 clients/pom.xml | 2 +-
 clients/service-center-client/pom.xml   | 2 +-
 common/common-access-log/pom.xml| 2 +-
 common/common-protobuf/pom.xml  | 2 +-
 common/common-rest/pom.xml  | 2 +-
 common/pom.xml  | 2 +-
 core/pom.xml| 2 +-
 coverage-reports/pom.xml| 2 +-
 demo/demo-crossapp/crossapp-client/pom.xml  | 2 +-
 demo/demo-crossapp/crossapp-server/pom.xml  | 2 +-
 demo/demo-crossapp/pom.xml  | 2 +-
 demo/demo-cse-v1/consumer/pom.xml   | 2 +-
 demo/demo-cse-v1/gateway/pom.xml| 2 +-
 demo/demo-cse-v1/pom.xml| 2 +-
 demo/demo-cse-v1/provider-canary/pom.xml| 2 +-
 demo/demo-cse-v1/provider/pom.xml   | 2 +-
 demo/demo-cse-v1/test-client/pom.xml| 2 +-
 demo/demo-cse-v2/consumer/pom.xml   | 2 +-
 demo/demo-cse-v2/gateway/pom.xml| 2 +-
 demo/demo-cse-v2/pom.xml| 2 +-
 demo/demo-cse-v2/provider/pom.xml   | 2 +-
 demo/demo-cse-v2/test-client/pom.xml| 2 +-
 demo/demo-edge/authentication/pom.xml   | 2 +-
 demo/demo-edge/business-1-1-0/pom.xml   | 2 +-
 demo/demo-edge/business-1.0.0/pom.xml   | 2 +-
 demo/demo-edge/business-2.0.0/pom.xml   | 2 +-
 demo/demo-edge/consumer/pom.xml | 2 +-
 demo/demo-edge/edge-service/pom.xml | 2 +-
 demo/demo-edge/model/pom.xml| 2 +-
 demo/demo-edge/pom.xml  | 2 +-
 demo/demo-filter/filter-client/pom.xml  | 2 +-
 demo/demo-filter/filter-edge/pom.xml| 2 +-
 demo/demo-filter/filter-server/pom.xml  | 2 +-
 demo/demo-filter/filter-tests/pom.xml   | 2 +-
 demo/demo-filter/pom.xml| 2 +-
 demo/demo-jaxrs/jaxrs-client/pom.xml| 2 +-
 demo/demo-jaxrs/jaxrs-server/pom.xml| 2 +-
 demo/demo-jaxrs/pom.xml | 2 +-
 demo/demo-local-registry/demo-local-registry-client/pom.xml | 2 +-
 demo/demo-local-registry/demo-local-registry-server/pom.xml | 2 +-
 demo/demo-local-registry/pom.xml| 2 +-
 demo/demo-multi-registries/demo-multi-registries-client/pom.xml | 2 +-
 demo/demo-multi-registries/demo-multi-registries-server/pom.xml | 2 +-
 demo/demo-multi-registries/pom.xml  | 2 +-
 demo/demo-multi-service-center/demo-multi-service-center-client/pom.xml | 2 +-
 .../demo-multi-service-center/demo-multi-service-center-serverA/pom.xml | 2 +-
 .../demo-multi-service-center/demo-multi-service-center-serverB/pom.xml | 2 +-
 demo/demo-multi-service-center/pom.xml  | 2 +-
 demo/demo-multiple/a-client/pom.xml | 2 +-
 demo/demo-multiple/a-server/pom.xml | 2 +-
 demo/demo-multiple/b-client/pom.xml | 2 +-
 demo/demo

(servicecomb-java-chassis) branch master updated: [SCB-2883]support trace id header in response (#4348)

2024-05-23 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new 865e58052 [SCB-2883]support trace id header in response (#4348)
865e58052 is described below

commit 865e58052fbc926da107618c1b79bc1383639aa7
Author: liubao68 
AuthorDate: Fri May 24 08:48:26 2024 +0800

[SCB-2883]support trace id header in response (#4348)
---
 .../common/rest/RestProducerInvocationFlow.java|  2 +-
 .../rest/filter/inner/RestServerCodecFilter.java   | 23 ---
 .../src/main/resources/microservice.yaml   |  5 
 .../apache/servicecomb/samples/HelloWorldIT.java   | 15 ++
 .../servicecomb/edge/core/EdgeAddHeaderFilter.java | 33 +-
 5 files changed, 48 insertions(+), 30 deletions(-)

diff --git 
a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/RestProducerInvocationFlow.java
 
b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/RestProducerInvocationFlow.java
index b09406bd4..dab6d6f6d 100644
--- 
a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/RestProducerInvocationFlow.java
+++ 
b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/RestProducerInvocationFlow.java
@@ -48,7 +48,7 @@ public class RestProducerInvocationFlow extends 
ProducerInvocationFlow {
   protected Invocation sendCreateInvocationException(Throwable throwable) {
 try {
   Response response = Exceptions.toProducerResponse(null, throwable);
-  RestServerCodecFilter.encodeResponse(response, false, 
DEFAULT_PRODUCE_PROCESSOR, responseEx);
+  RestServerCodecFilter.encodeResponse(null, response, false, 
DEFAULT_PRODUCE_PROCESSOR, responseEx);
 } catch (Throwable e) {
   LOGGER.error("Failed to send response when prepare invocation failed, 
request uri:{}",
   requestEx.getRequestURI(), e);
diff --git 
a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/filter/inner/RestServerCodecFilter.java
 
b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/filter/inner/RestServerCodecFilter.java
index b1b3c37b7..18a5d9d94 100644
--- 
a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/filter/inner/RestServerCodecFilter.java
+++ 
b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/filter/inner/RestServerCodecFilter.java
@@ -116,14 +116,14 @@ public class RestServerCodecFilter extends AbstractFilter 
implements ProviderFil
 HttpServletResponseEx responseEx = transportContext.getResponseEx();
 boolean download = isDownloadFileResponseType(invocation, response);
 
-return encodeResponse(response, download, produceProcessor, responseEx)
+return encodeResponse(invocation, response, download, produceProcessor, 
responseEx)
 .whenComplete((r, e) -> invocation.onEncodeResponseFinish());
   }
 
-  public static CompletableFuture encodeResponse(Response response, 
boolean download,
+  public static CompletableFuture encodeResponse(Invocation 
invocation, Response response, boolean download,
   ProduceProcessor produceProcessor, HttpServletResponseEx responseEx) {
 responseEx.setStatus(response.getStatusCode());
-copyHeadersToHttpResponse(response.getHeaders(), responseEx);
+copyHeadersToHttpResponse(invocation, response.getHeaders(), responseEx);
 
 boolean failed = response.getResult() instanceof InvocationException;
 
@@ -167,15 +167,18 @@ public class RestServerCodecFilter extends AbstractFilter 
implements ProviderFil
 invocation.findResponseType(response.getStatusCode()).getRawClass());
   }
 
-  public static void copyHeadersToHttpResponse(MultiMap headers, 
HttpServletResponseEx responseEx) {
-if (headers == null) {
-  return;
+  public static void copyHeadersToHttpResponse(Invocation invocation, MultiMap 
headers,
+  HttpServletResponseEx responseEx) {
+if (headers != null) {
+  headers.remove(CONTENT_LENGTH);
+  headers.remove(TRANSFER_ENCODING);
+  for (Entry entry : headers.entries()) {
+responseEx.addHeader(entry.getKey(), entry.getValue());
+  }
 }
 
-headers.remove(CONTENT_LENGTH);
-headers.remove(TRANSFER_ENCODING);
-for (Entry entry : headers.entries()) {
-  responseEx.addHeader(entry.getKey(), entry.getValue());
+if (invocation != null && responseEx.getHeader(CoreConst.TRACE_ID_NAME) == 
null) {
+  responseEx.addHeader(CoreConst.TRACE_ID_NAME, invocation.getTraceId());
 }
   }
 }
diff --git a/demo/demo-filter/filter-edge/src/main/resources/microservice.yaml 
b/demo/demo-filter/filter-edge/src/main/resources/microservice.yaml
index 034b8cd04..d1730b7fe 100644
--- a/demo/demo-filter/filter-edge/src/main/resources/microservice.yaml
+++ b/demo/demo-filter/filter-edge/src/main/resources/microservice

(servicecomb-fence) branch master updated: fix trace order

2024-05-23 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


The following commit(s) were added to refs/heads/master by this push:
 new 94123f6  fix trace order
94123f6 is described below

commit 94123f6e7f3481df77c74dc80ec2dac3fe3dbd9f
Author: liubao 
AuthorDate: Thu May 23 20:16:39 2024 +0800

fix trace order
---
 .../apache/servicecomb/fence/admin/AdminObservabilityEndpoint.java  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git 
a/admin-service/src/main/java/org/apache/servicecomb/fence/admin/AdminObservabilityEndpoint.java
 
b/admin-service/src/main/java/org/apache/servicecomb/fence/admin/AdminObservabilityEndpoint.java
index ae05385..f459db5 100644
--- 
a/admin-service/src/main/java/org/apache/servicecomb/fence/admin/AdminObservabilityEndpoint.java
+++ 
b/admin-service/src/main/java/org/apache/servicecomb/fence/admin/AdminObservabilityEndpoint.java
@@ -19,7 +19,6 @@ package org.apache.servicecomb.fence.admin;
 
 import java.net.URI;
 import java.util.ArrayList;
-import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CountDownLatch;
@@ -57,7 +56,7 @@ public class AdminObservabilityEndpoint implements 
AdminObservabilityService {
 
   private DiscoveryManager discoveryManager;
 
-  private String application;
+  private final String application;
 
   @Autowired
   public AdminObservabilityEndpoint(Environment environment) {
@@ -65,6 +64,7 @@ public class AdminObservabilityEndpoint implements 
AdminObservabilityService {
   }
 
   @Autowired
+  @SuppressWarnings("unused")
   public void setDiscoveryManager(DiscoveryManager discoveryManager) {
 this.discoveryManager = discoveryManager;
   }
@@ -114,7 +114,7 @@ public class AdminObservabilityEndpoint implements 
AdminObservabilityService {
   }
 }
 
-responses.sort(Comparator.comparingLong(this::findStamp));
+responses.sort((a, b) -> Long.compare(findStamp(b), findStamp(a)));
 return responses;
   }
 



(servicecomb-fence) branch master updated (5b0978b -> 2b9ef99)

2024-05-23 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


from 5b0978b  add observability
 add 2b9ef99  add admin service

No new revisions were added by this update.

Summary of changes:
 {resource-server => admin-service}/pom.xml |   9 +-
 .../servicecomb/fence/AdminServiceApplication.java |   4 +-
 .../fence/admin/AdminObservabilityEndpoint.java| 209 +
 .../fence/admin/third}/ObservabilityService.java   |  17 +-
 .../src/main/resources/application.yml |  16 +-
 .../src/main/resources/log4j2.xml  |   2 +-
 .../pom.xml|   2 +-
 .../api/admin/AdminObservabilityService.java}  |  25 ++-
 .../fence/observability/ObservabilityEndpoint.java |  30 +--
 .../servicecomb/fence/api/observability/Trace.java |  11 ++
 apis/pom.xml   |   1 +
 authentication-server/pom.xml  |   5 +
 .../src/main/resources/application.yml |   2 +-
 .../fence/token/TokenDynamicProperties.java|   4 +-
 edge-service/src/main/resources/application.yml|   4 +
 pom.xml|   1 +
 resource-server/pom.xml|   5 +
 17 files changed, 303 insertions(+), 44 deletions(-)
 copy {resource-server => admin-service}/pom.xml (88%)
 copy 
edge-service/src/main/java/org/apache/servicecomb/fence/EdgeServiceApplication.java
 => 
admin-service/src/main/java/org/apache/servicecomb/fence/AdminServiceApplication.java
 (88%)
 create mode 100644 
admin-service/src/main/java/org/apache/servicecomb/fence/admin/AdminObservabilityEndpoint.java
 copy 
{apis/observability-api/src/main/java/org/apache/servicecomb/fence/api/observability
 => 
admin-service/src/main/java/org/apache/servicecomb/fence/admin/third}/ObservabilityService.java
 (65%)
 copy {resource-server => admin-service}/src/main/resources/application.yml 
(82%)
 copy {edge-service => admin-service}/src/main/resources/log4j2.xml (97%)
 copy apis/{observability-api-impl => admin-service-api}/pom.xml (96%)
 copy 
apis/{observability-api/src/main/java/org/apache/servicecomb/fence/api/observability/ObservabilityService.java
 => 
admin-service-api/src/main/java/org/apache/servicecomb/fence/api/admin/AdminObservabilityService.java}
 (63%)



(servicecomb-java-chassis) branch 2.8.x updated: [SCB-2881] support setting hibernate validation configuration (#4341)

2024-05-23 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch 2.8.x
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/2.8.x by this push:
 new 0d56846d5 [SCB-2881] support setting hibernate validation 
configuration (#4341)
0d56846d5 is described below

commit 0d56846d5cd7b9306a7c0891fe8c5c713d65a86f
Author: Alex <97039406+chengyoul...@users.noreply.github.com>
AuthorDate: Thu May 23 16:08:53 2024 +0800

[SCB-2881] support setting hibernate validation configuration (#4341)
---
 .../core/filter/impl/ParameterValidatorFilter.java | 30 ++--
 .../filter/impl/ParameterValidatorFilterTest.java  | 10 
 .../validator/ConfigurationPropertyUtils.java  | 55 ++
 .../invocation/validator/ParameterValidator.java   | 26 +++---
 4 files changed, 109 insertions(+), 12 deletions(-)

diff --git 
a/core/src/main/java/org/apache/servicecomb/core/filter/impl/ParameterValidatorFilter.java
 
b/core/src/main/java/org/apache/servicecomb/core/filter/impl/ParameterValidatorFilter.java
index 4b2bcaba2..a6a0a22c4 100644
--- 
a/core/src/main/java/org/apache/servicecomb/core/filter/impl/ParameterValidatorFilter.java
+++ 
b/core/src/main/java/org/apache/servicecomb/core/filter/impl/ParameterValidatorFilter.java
@@ -21,6 +21,7 @@ import java.util.Set;
 import java.util.concurrent.CompletableFuture;
 
 import javax.annotation.Nonnull;
+import javax.validation.Configuration;
 import javax.validation.ConstraintViolation;
 import javax.validation.ConstraintViolationException;
 import javax.validation.Validation;
@@ -28,6 +29,7 @@ import javax.validation.ValidatorFactory;
 import javax.validation.executable.ExecutableValidator;
 import javax.validation.groups.Default;
 
+import org.apache.servicecomb.config.ConfigUtil;
 import org.apache.servicecomb.core.Invocation;
 import org.apache.servicecomb.core.filter.FilterNode;
 import org.apache.servicecomb.core.filter.ProducerFilter;
@@ -40,21 +42,28 @@ import 
org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator
 import 
org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.InitializingBean;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
 import org.springframework.stereotype.Component;
 
 import com.netflix.config.DynamicPropertyFactory;
 
 @Component
-public class ParameterValidatorFilter implements ProducerFilter, 
InitializingBean {
+public class ParameterValidatorFilter implements ProducerFilter, 
ApplicationContextAware, InitializingBean {
   private static final Logger LOGGER = 
LoggerFactory.getLogger(ParameterValidatorFilter.class);
 
   public static final String NAME = "validator";
 
   private static final String ENABLE_EL = 
"servicecomb.filters.validation.useResourceBundleMessageInterpolator";
 
+  public static final String HIBERNATE_VALIDATE_PREFIX = "hibernate.validator";
+
   protected ExecutableValidator validator;
 
+  private ApplicationContext applicationContext;
+
   @Nonnull
   @Override
   public String getName() {
@@ -67,12 +76,23 @@ public class ParameterValidatorFilter implements 
ProducerFilter, InitializingBea
 .getValidator().forExecutables();
   }
 
-  protected ValidatorFactory createValidatorFactory() {
-return Validation.byProvider(HibernateValidator.class)
+  @Override
+  public void setApplicationContext(ApplicationContext applicationContext) 
throws BeansException {
+this.applicationContext = applicationContext;
+  }
+
+  private ValidatorFactory createValidatorFactory() {
+Configuration validatorConfiguration = 
Validation.byProvider(HibernateValidator.class)
 .configure()
 .propertyNodeNameProvider(new JacksonPropertyNodeNameProvider())
-.messageInterpolator(messageInterpolator())
-.buildValidatorFactory();
+.messageInterpolator(messageInterpolator());
+Set keys = 
ConfigUtil.propertiesWithPrefix(applicationContext.getEnvironment(), 
HIBERNATE_VALIDATE_PREFIX);
+if (!keys.isEmpty()) {
+  for (String key : keys) {
+validatorConfiguration.addProperty(key, 
applicationContext.getEnvironment().getProperty(key));
+  }
+}
+return validatorConfiguration.buildValidatorFactory();
   }
 
   protected AbstractMessageInterpolator messageInterpolator() {
diff --git 
a/core/src/test/java/org/apache/servicecomb/core/filter/impl/ParameterValidatorFilterTest.java
 
b/core/src/test/java/org/apache/servicecomb/core/filter/impl/ParameterValidatorFilterTest.java
index 7942a355f..f08b89176 100644
--- 
a/core/src/test/java/org/apache/servicecomb/core/filter/impl/ParameterValidatorFilterTest.java
+++ 
b/core/src/test/java/org

(servicecomb-java-chassis) branch master updated: [SCB-2882]add services discovery api and support global instance id bean (#4347)

2024-05-23 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new d26c15d77 [SCB-2882]add services discovery api and support global 
instance id bean (#4347)
d26c15d77 is described below

commit d26c15d779449a710a65e69bce99f8bd423f4d48
Author: liubao68 
AuthorDate: Thu May 23 16:00:57 2024 +0800

[SCB-2882]add services discovery api and support global instance id bean 
(#4347)
---
 .../servicecomb/registry/DiscoveryManager.java |  4 +++
 .../servicecomb/registry/RegistrationId.java   | 41 ++
 .../servicecomb/registry/RegistrationManager.java  |  4 +++
 .../registry/RegistryConfiguration.java|  5 +++
 .../apache/servicecomb/registry/api/Discovery.java |  8 +
 .../servicecomb/registry/TestDiscoveryManager.java |  5 +++
 .../servicecomb/registry/lightweight/Self.java | 16 +
 .../registry/lightweight/StoreServiceTest.java |  6 ++--
 .../servicecomb/localregistry/LocalDiscovery.java  |  5 +++
 .../localregistry/LocalRegistrationInstance.java   | 12 +++
 .../localregistry/LocalRegistryConfiguration.java  |  7 ++--
 .../localregistry/LocalRegistryStore.java  |  7 
 .../registry/nacos/NacosConfiguration.java |  5 +--
 .../servicecomb/registry/nacos/NacosDiscovery.java | 10 ++
 .../registry/nacos/NacosRegistration.java  | 10 ++
 .../servicecomb/registry/sc/SCDiscovery.java   |  9 +
 .../servicecomb/registry/sc/SCRegistration.java|  9 +
 .../zeroconfig/ZeroConfigDiscovery.java|  9 +
 .../registry/zookeeper/ZookeeperDiscovery.java | 28 +++
 .../registry/zookeeper/ZookeeperRegistration.java  | 15 
 20 files changed, 182 insertions(+), 33 deletions(-)

diff --git 
a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/DiscoveryManager.java
 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/DiscoveryManager.java
index 33b1a23f5..eed808223 100644
--- 
a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/DiscoveryManager.java
+++ 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/DiscoveryManager.java
@@ -93,6 +93,10 @@ public class DiscoveryManager implements LifeCycle {
 });
   }
 
+  public Discovery getPrimaryDiscovery() {
+return this.discoveryList.get(0);
+  }
+
   private void doTask() {
 // doTask can not throw exception or will mute all tasks.
 try {
diff --git 
a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/RegistrationId.java
 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/RegistrationId.java
new file mode 100644
index 0..9932f5fdf
--- /dev/null
+++ 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/RegistrationId.java
@@ -0,0 +1,41 @@
+/*
+ * 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.registry;
+
+import java.util.UUID;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class RegistrationId {
+  private static final Logger LOGGER = 
LoggerFactory.getLogger(RegistrationId.class);
+
+  private final String instanceId;
+
+  public RegistrationId() {
+this.instanceId = buildInstanceId();
+LOGGER.info("initialized global registration id {}", this.instanceId);
+  }
+
+  public String getInstanceId() {
+return instanceId;
+  }
+
+  private static String buildInstanceId() {
+return UUID.randomUUID().toString();
+  }
+}
diff --git 
a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/RegistrationManager.java
 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/RegistrationManager.java
index 3d07a9122..1113f80f8 100644
--- 
a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/RegistrationManager.java
+++ 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/RegistrationManager.

(servicecomb-java-chassis) branch liubao_master created (now 6fa467752)

2024-05-22 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch liubao_master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


  at 6fa467752 [SCB-2882]add services discovery api and support global 
instance id bean

This branch includes the following new commits:

 new 6fa467752 [SCB-2882]add services discovery api and support global 
instance id bean

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.




(servicecomb-java-chassis) 01/01: [SCB-2882]add services discovery api and support global instance id bean

2024-05-22 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch liubao_master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git

commit 6fa467752891d887ca3098b505a858b6cac0e9fd
Author: liubao 
AuthorDate: Wed May 22 16:16:08 2024 +0800

[SCB-2882]add services discovery api and support global instance id bean
---
 .../servicecomb/registry/RegistrationId.java   | 41 ++
 .../registry/RegistryConfiguration.java|  5 +++
 .../apache/servicecomb/registry/api/Discovery.java |  8 +
 .../servicecomb/registry/TestDiscoveryManager.java |  5 +++
 .../servicecomb/registry/lightweight/Self.java | 16 +
 .../registry/lightweight/StoreServiceTest.java |  6 ++--
 .../servicecomb/localregistry/LocalDiscovery.java  |  5 +++
 .../localregistry/LocalRegistrationInstance.java   | 12 +++
 .../localregistry/LocalRegistryConfiguration.java  |  7 ++--
 .../localregistry/LocalRegistryStore.java  |  7 
 .../registry/nacos/NacosConfiguration.java |  5 +--
 .../servicecomb/registry/nacos/NacosDiscovery.java | 10 ++
 .../registry/nacos/NacosRegistration.java  | 10 ++
 .../servicecomb/registry/sc/SCDiscovery.java   |  9 +
 .../servicecomb/registry/sc/SCRegistration.java|  9 +
 .../zeroconfig/ZeroConfigDiscovery.java|  9 +
 .../registry/zookeeper/ZookeeperDiscovery.java | 28 +++
 .../registry/zookeeper/ZookeeperRegistration.java  | 15 
 18 files changed, 174 insertions(+), 33 deletions(-)

diff --git 
a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/RegistrationId.java
 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/RegistrationId.java
new file mode 100644
index 0..9932f5fdf
--- /dev/null
+++ 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/RegistrationId.java
@@ -0,0 +1,41 @@
+/*
+ * 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.registry;
+
+import java.util.UUID;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class RegistrationId {
+  private static final Logger LOGGER = 
LoggerFactory.getLogger(RegistrationId.class);
+
+  private final String instanceId;
+
+  public RegistrationId() {
+this.instanceId = buildInstanceId();
+LOGGER.info("initialized global registration id {}", this.instanceId);
+  }
+
+  public String getInstanceId() {
+return instanceId;
+  }
+
+  private static String buildInstanceId() {
+return UUID.randomUUID().toString();
+  }
+}
diff --git 
a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/RegistryConfiguration.java
 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/RegistryConfiguration.java
index b3c83b64a..6581d266b 100644
--- 
a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/RegistryConfiguration.java
+++ 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/RegistryConfiguration.java
@@ -66,4 +66,9 @@ public class RegistryConfiguration {
   public MicroserviceInstanceCache microserviceInstanceCache(DiscoveryManager 
discoveryManager) {
 return new MicroserviceInstanceCache(discoveryManager);
   }
+
+  @Bean
+  public RegistrationId registrationId() {
+return new RegistrationId();
+  }
 }
diff --git 
a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/api/Discovery.java
 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/api/Discovery.java
index 6fb382835..0c57ed6b6 100644
--- 
a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/api/Discovery.java
+++ 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/api/Discovery.java
@@ -55,6 +55,14 @@ public interface Discovery 
extends SPIEnabled, SPIO
*/
   List findServiceInstances(String application, String serviceName);
 
+  /**
+   * Find all services of this application.
+   *
+   * @param application application
+   * @return all services matc

(servicecomb-fence) branch master updated (142d3d6 -> 5b0978b)

2024-05-21 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


from 142d3d6  make integration tests run
 new adf3f14  update spring security dependencies
 new 5b0978b  add observability

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:
 .../pom.xml|  16 +-
 .../fence/observability/ObservabilityEndpoint.java | 173 +
 .../pom.xml|   2 +-
 .../fence/api/observability/Endpoint.java  |  30 ++--
 .../api/observability/ObservabilityService.java|  49 ++
 .../fence/api/observability/SearchLogResponse.java |  76 +
 .../api/observability/SearchTraceResponse.java |  76 +
 .../servicecomb/fence/api/observability/Trace.java | 120 ++
 apis/pom.xml   |   2 +
 authentication-server/pom.xml  |   8 -
 .../src/main/resources/log4j2.xml  |  34 ++--
 common/pom.xml |   8 +-
 edge-service/pom.xml   |   5 +
 edge-service/src/main/resources/log4j2.xml |  34 ++--
 integration-tests/src/main/resources/log4j2.xml|  34 ++--
 pom.xml|  12 +-
 .../resource/MethodSecurityConfiguration.java  |  20 +--
 resource-server/src/main/resources/log4j2.xml  |  34 ++--
 18 files changed, 608 insertions(+), 125 deletions(-)
 copy apis/{authentication-server-api => observability-api-impl}/pom.xml (93%)
 create mode 100644 
apis/observability-api-impl/src/main/java/org/apache/servicecomb/fence/observability/ObservabilityEndpoint.java
 copy apis/{resource-server-api => observability-api}/pom.xml (96%)
 copy common/src/main/java/org/apache/servicecomb/fence/jwt/JWTHeader.java => 
apis/observability-api/src/main/java/org/apache/servicecomb/fence/api/observability/Endpoint.java
 (66%)
 create mode 100644 
apis/observability-api/src/main/java/org/apache/servicecomb/fence/api/observability/ObservabilityService.java
 create mode 100644 
apis/observability-api/src/main/java/org/apache/servicecomb/fence/api/observability/SearchLogResponse.java
 create mode 100644 
apis/observability-api/src/main/java/org/apache/servicecomb/fence/api/observability/SearchTraceResponse.java
 create mode 100644 
apis/observability-api/src/main/java/org/apache/servicecomb/fence/api/observability/Trace.java



(servicecomb-fence) 01/02: update spring security dependencies

2024-05-21 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git

commit adf3f144f74de94182fd7cb940e70300b9b9b7df
Author: liubao 
AuthorDate: Wed May 15 17:32:24 2024 +0800

update spring security dependencies
---
 authentication-server/pom.xml|  8 
 common/pom.xml   |  8 ++--
 pom.xml  |  5 -
 .../fence/resource/MethodSecurityConfiguration.java  | 20 
 4 files changed, 14 insertions(+), 27 deletions(-)

diff --git a/authentication-server/pom.xml b/authentication-server/pom.xml
index b7fd641..8e3cd1f 100644
--- a/authentication-server/pom.xml
+++ b/authentication-server/pom.xml
@@ -39,14 +39,6 @@
   authentication-server-api
   ${project.version}
 
-
-  org.springframework.security.oauth
-  spring-security-oauth2
-
-
-  org.springframework.security
-  spring-security-jwt
-
 
   org.apache.servicecomb
   java-chassis-spring-boot-starter-standalone
diff --git a/common/pom.xml b/common/pom.xml
index 14054fc..44187ea 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -31,8 +31,12 @@
 
   
 
-  org.springframework.security.oauth
-  spring-security-oauth2
+  org.springframework.security
+  spring-security-core
+
+
+  org.springframework.security
+  spring-security-config
 
 
   org.springframework.security
diff --git a/pom.xml b/pom.xml
index 10ecc1d..cc00669 100644
--- a/pom.xml
+++ b/pom.xml
@@ -52,11 +52,6 @@
   
 
   
-  
-org.springframework.security.oauth
-spring-security-oauth2
-2.3.6.RELEASE
-  
   
 org.springframework.security
 spring-security-jwt
diff --git 
a/resource-server/src/main/java/org/apache/servicecomb/fence/resource/MethodSecurityConfiguration.java
 
b/resource-server/src/main/java/org/apache/servicecomb/fence/resource/MethodSecurityConfiguration.java
index 4fc2316..f7e54f1 100644
--- 
a/resource-server/src/main/java/org/apache/servicecomb/fence/resource/MethodSecurityConfiguration.java
+++ 
b/resource-server/src/main/java/org/apache/servicecomb/fence/resource/MethodSecurityConfiguration.java
@@ -17,20 +17,16 @@
 
 package org.apache.servicecomb.fence.resource;
 
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import 
org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler;
-import 
org.springframework.security.access.expression.method.MethodSecurityExpressionHandler;
-import 
org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
-import 
org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration;
+import 
org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
+import org.springframework.security.config.core.GrantedAuthorityDefaults;
 
 @Configuration
-@EnableGlobalMethodSecurity(
-prePostEnabled = true)
-public class MethodSecurityConfiguration extends 
GlobalMethodSecurityConfiguration {
-  @Override
-  protected MethodSecurityExpressionHandler createExpressionHandler() {
-DefaultMethodSecurityExpressionHandler h = 
(DefaultMethodSecurityExpressionHandler) super.createExpressionHandler();
-h.setDefaultRolePrefix("");
-return h;
+@EnableMethodSecurity
+public class MethodSecurityConfiguration {
+  @Bean
+  public GrantedAuthorityDefaults grantedAuthorityDefaults() {
+return new GrantedAuthorityDefaults("");
   }
 }



(servicecomb-fence) 02/02: add observability

2024-05-21 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git

commit 5b0978b118dadf58d4d466be41f1999f355545d3
Author: liubao 
AuthorDate: Wed May 22 11:35:47 2024 +0800

add observability
---
 .../observability-api-impl}/pom.xml|  40 +
 .../fence/observability/ObservabilityEndpoint.java | 173 +
 {edge-service => apis/observability-api}/pom.xml   |  45 +-
 .../fence/api/observability/Endpoint.java  |  41 +
 .../api/observability/ObservabilityService.java|  49 ++
 .../fence/api/observability/SearchLogResponse.java |  76 +
 .../api/observability/SearchTraceResponse.java |  76 +
 .../servicecomb/fence/api/observability/Trace.java | 120 ++
 apis/pom.xml   |   2 +
 .../src/main/resources/log4j2.xml  |  34 ++--
 edge-service/pom.xml   |   5 +
 edge-service/src/main/resources/log4j2.xml |  34 ++--
 integration-tests/src/main/resources/log4j2.xml|  34 ++--
 pom.xml|   7 +-
 resource-server/src/main/resources/log4j2.xml  |  34 ++--
 15 files changed, 621 insertions(+), 149 deletions(-)

diff --git a/edge-service/pom.xml b/apis/observability-api-impl/pom.xml
similarity index 58%
copy from edge-service/pom.xml
copy to apis/observability-api-impl/pom.xml
index 878713c..5b3d01e 100644
--- a/edge-service/pom.xml
+++ b/apis/observability-api-impl/pom.xml
@@ -1,3 +1,4 @@
+
 
+
+  org.apache.servicecomb
+  handler-tracing-zipkin
+
 
 
   org.apache.servicecomb
diff --git a/resource-server/src/main/resources/log4j2.xml 
b/resource-server/src/main/resources/log4j2.xml
index 9ccb795..07e3498 100644
--- a/resource-server/src/main/resources/log4j2.xml
+++ b/resource-server/src/main/resources/log4j2.xml
@@ -22,50 +22,48 @@
 
 
 
-
+
 
 
-
-
+
+
 
-
+
 
 
 
 
-
-
+
+
 
-
+
 
 
 
 
-
-
+
+
 
-
+
 
 
 
 
 
 
-
-
+
+
 
 
 
 
-
-
-
 
 
 
+
 
 
 




(servicecomb-docs) branch master updated: add tracing docs (#338)

2024-05-20 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-docs.git


The following commit(s) were added to refs/heads/master by this push:
 new bc41e89  add tracing docs (#338)
bc41e89 is described below

commit bc41e895794d8c2f0fb29e26b2dae313e6058ca0
Author: liubao68 
AuthorDate: Tue May 21 12:02:42 2024 +0800

add tracing docs (#338)
---
 .../docs/general-development/customized-tracing.md |  94 ---
 .../microservice-invocation-chain.md   | 104 +++--
 java-chassis-reference/zh_CN/mkdocs.yml|   9 +-
 3 files changed, 83 insertions(+), 124 deletions(-)

diff --git 
a/java-chassis-reference/zh_CN/docs/general-development/customized-tracing.md 
b/java-chassis-reference/zh_CN/docs/general-development/customized-tracing.md
deleted file mode 100644
index 78e8ad6..000
--- 
a/java-chassis-reference/zh_CN/docs/general-development/customized-tracing.md
+++ /dev/null
@@ -1,94 +0,0 @@
-## 概念阐述
-
-分布式调用链追踪提供了服务间调用的时序信息,但服务内部的链路调用信息对开发者同样重要,如果能将两者合二为一,就能提供更完整的调用链,更容易定位错误和潜在性能问题。
-
-## 前提条件
-
-* 使用自定义打点功能需要首先配置并启用Java Chassis微服务调用链。
-
-## 注意事项
-
-* 使用`@Span`注释的自定义打点功能只支持和Java Chassis调用请求同一线程的方法调用。
-* 
添加`@Span`注释的方法必须是Spring管理的Bean,否则需要按这里[提到的方法](https://stackoverflow.com/questions/41383941/load-time-weaving-for-non-spring-beans-in-a-spring-application)配置。
-
-## 自定义调用链打点
-
-该功能集成了Zipkin,提供`@Span`注释为需要追踪的方法自定义打点。Java 
Chassis将自动追踪所有添加`@Span`注释的方法,把每个方法的本地调用信息与服务间调用信息连接起来。
-
-## 使用步骤:
-
-### 添加依赖
-
-基于 ServiceComb Java Chassis 的微服务只需要添加如下依赖到 pom.xml:
-
-```xml
-
-  org.apache.servicecomb
-  tracing-zipkin
-
-```
-
-### 启用自定义打点功能 {#配置追踪处理和数据收集}
-
-在应用入口或Spring配置类上添加`@EnableZipkinTracing`注释:
-
-```java
-@SpringBootApplication
-@EnableZipkinTracing
-public class ZipkinSpanTestApplication {
-  public static void main(String[] args) {
-SpringApplication.run(ZipkinSpanTestApplication.class);
-  }
-}
-```
-
-### 定制打点
-
-在需要定制打点的方法上添加`@Span`注释:
-
-```java
-@Component
-public class SlowRepoImpl implements SlowRepo {
-  private static final Logger logger = 
LoggerFactory.getLogger(SlowRepoImpl.class);
-
-  private final Random random = new Random();
-
-  @Span
-  @Override
-  public String crawl() throws InterruptedException {
-logger.info("in /crawl");
-Thread.sleep(random.nextInt(200));
-return "crawled";
-  }
-}
-```
-
-就这样,通过使用`@Span`注释,我们启动了基于 Zipkin 的自定义打点功能。
-
-## 定制上报的数据
-
-通过自定义打点上报的调用链包含两条数据:
-
-* **span name** 默认为当前注释的方法全名。
-* **call.path** 默认为当前注释的方法签名。
-
-例如,上述例子`SlowRepoImp`里上报的数据如下:
-
-| key | value |
-| :--- | :--- |
-| span name | crawl |
-| call.path | public abstract java.lang.String 
org.apache.servicecomb.tests.tracing.SlowRepo.crawl\(\) throws 
java.lang.InterruptedException |
-
-如果需要定制上报的数据内容,可以传入自定义的参数:
-
-```java
-  public static class CustomSpanTask {
-@Span(spanName = "transaction1", callPath = "startA")
-public String invoke() {
-  return "invoke the method";
-}
-  }
-```
-
-
-
diff --git 
a/java-chassis-reference/zh_CN/docs/general-development/microservice-invocation-chain.md
 
b/java-chassis-reference/zh_CN/docs/general-development/microservice-invocation-chain.md
index ce2301c..637a283 100644
--- 
a/java-chassis-reference/zh_CN/docs/general-development/microservice-invocation-chain.md
+++ 
b/java-chassis-reference/zh_CN/docs/general-development/microservice-invocation-chain.md
@@ -1,4 +1,4 @@
-## 概念阐述
+# 微服务调用链
 
 微服务架构解决了很多单体应用带来的问题,但同时也需要我们付出额外的代价。由于网络的不稳定性带来的请求处理延迟就是代价之一。
 
@@ -10,15 +10,15 @@
 
 ## Zipkin
 
-> [Zipkin](http://zipkin.io/)是一个分布式调用链追踪系统。 
它能帮助用户收集时序数据用以定位微服务中的延迟问题,它同时管理追踪数据的收集 和查询。Zipkin 的设计基于 Google [Dapper 
paper](http://research.google.com/pubs/pub36356.html)。
+> [Zipkin](http://zipkin.io/) 是一个分布式调用链追踪系统。 
它能帮助用户收集时序数据用以定位微服务中的延迟问题,它同时管理追踪数据的收集 和查询。
 
-ServiceComb 集成了 Zipkin 提供自动调用链追踪能力,如此一来用户只需要专注实现其业务需求。
+Java Chassis 集成了 Zipkin 提供自动调用链追踪能力,如此一来用户只需要专注实现其业务需求。
 
 ## 使用步骤:
 
-### 添加依赖
+* 添加依赖
 
-基于 ServiceComb Java Chassis 的微服务只需要添加如下依赖到 pom.xml:
+基于 Java Chassis 的微服务只需要添加如下依赖到 pom.xml:
 
 ```xml

@@ -27,36 +27,88 @@ ServiceComb 集成了 Zipkin 提供自动调用链追踪能力,如此一来用
 
 ```
 
-如果微服务是基于 Spring Cloud + Zuul 的 API 网关,例如 workshop demo 中的 manager service 
,我们还需要加入如下的额外依赖:
+默认情况下,调用链数据会输出到日志文件,也可以将调用链数据上报到 `Zipkin` 服务器。 
+
+```yaml
+  servicecomb: 
+tracing:
+  enabled: true # 是否启用调用链追踪功能,默认为 true
+  reporter:
+log.enabled: true # 是否将调用链日志输出到文件, 默认为 true
+zipkin.enabled: true # 是否将调用链日志输出到Zipkin服务器, 默认为 false
+  collector:  # 配置Zipkin服务器 API 版本和地址信息
+apiVersion: v2
+address: http://zipkin.servicecomb.io:9411
+
+```
+
+> 注意:使用Java Chassis 3.1.2及其以上版本
+
+## 自定义调用链打点
+
+分布式调用链追踪提供了服务间调用的时序信息,但服务内部的链路调用信息对开发者同样重要,如果能将两者合二为一,就能提供更完整的调用链,更容易定位错误和潜在性能问题。Java
 Chassis 提供`@Span`注释为需要追踪的方法自定义打点。Java 
Chassis将自动追踪所有添加`@Span`注释的方法,把每个方法的本地调用信息与服务间调用信息连接起来。
+
+使用

(servicecomb-java-chassis) branch master updated: [SCB-2880]able to inherit trace in edge service from web (#4339)

2024-05-20 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new 633e8e2c7 [SCB-2880]able to inherit trace in edge service from web 
(#4339)
633e8e2c7 is described below

commit 633e8e2c704e792a465d334269885b7c03da28a3
Author: liubao68 
AuthorDate: Tue May 21 11:59:09 2024 +0800

[SCB-2880]able to inherit trace in edge service from web (#4339)
---
 .../protobuf/definition/OperationProtobuf.java |  4 +-
 .../internal/converter/TestSchemaMetaCodec.java|  8 ++--
 .../converter/TestSchemaMetaCodecRestTemplate.java |  8 ++--
 .../org/apache/servicecomb/core/Invocation.java| 10 ++---
 .../core/exception/DefaultExceptionProcessor.java  |  2 +-
 .../servicecomb/core/governance/MatchType.java |  8 ++--
 .../core/provider/consumer/InvokerUtils.java   |  6 +--
 .../servicecomb/core/tracing/TraceIdLogger.java|  2 +-
 .../core/invocation/TestInvocationStageTrace.java  |  2 +-
 .../demo/pojo/client/CodeFirstPojoClient.java  |  4 +-
 .../edge/core/EdgeInvocationCreator.java   |  2 +-
 .../tracing/zipkin/CustomHttpRequestParser.java|  5 ++-
 .../tracing/zipkin/CustomHttpResponseParser.java   |  7 +++-
 .../tracing/zipkin/HttpClientRequestWrapper.java   |  2 +-
 .../tracing/zipkin/HttpClientResponseWrapper.java  |  2 +-
 .../tracing/zipkin/HttpServeRequestWrapper.java| 16 ++--
 .../tracing/zipkin/TracingConfiguration.java   |  8 ++--
 .../tracing/zipkin/ZipkinTracingFilter.java| 45 --
 .../metrics/core/InvocationMetersInitializer.java  |  9 ++---
 .../meter/invocation/AbstractInvocationMeters.java |  8 +---
 .../metrics/core/publish/SlowInvocationLogger.java |  2 +-
 .../core/TestInvocationMetersInitializer.java  |  2 +-
 .../core/publish/TestSlowInvocationLogger.java | 10 ++---
 23 files changed, 107 insertions(+), 65 deletions(-)

diff --git 
a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/definition/OperationProtobuf.java
 
b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/definition/OperationProtobuf.java
index 221820761..5c22ad8c7 100644
--- 
a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/definition/OperationProtobuf.java
+++ 
b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/definition/OperationProtobuf.java
@@ -117,7 +117,7 @@ public class OperationProtobuf {
 ProtoMapper mapper = 
scopedProtobufSchemaManager.getOrCreateProtoMapper(invocation.getSchemaMeta());
 Message requestMessage = 
mapper.getRequestMessage(invocation.getOperationMeta().getOperationId());
 
-if (!invocation.isConsumer()) {
+if (invocation.isProducer()) {
   initProducerRequestCodec(invocation, requestMessage, mapper);
 } else {
   initConsumerRequestCodec(invocation, requestMessage, mapper);
@@ -167,7 +167,7 @@ public class OperationProtobuf {
 Message responseMessage = 
mapper.getResponseMessage(invocation.getOperationMeta().getOperationId());
 
 JavaType responseType = 
invocation.findResponseType(Status.OK.getStatusCode());
-if (!invocation.isConsumer()) {
+if (invocation.isProducer()) {
   initProviderResponseCode(responseMessage, mapper, responseType);
 } else {
   initConsumerResponseCode(responseMessage, mapper, responseType);
diff --git 
a/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSchemaMetaCodec.java
 
b/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSchemaMetaCodec.java
index 17efb6eb5..141b7cf4b 100644
--- 
a/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSchemaMetaCodec.java
+++ 
b/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSchemaMetaCodec.java
@@ -118,18 +118,18 @@ public class TestSchemaMetaCodec {
 
   private Invocation mockInvocation(String operation, InvocationType 
invocationType) {
 OperationMeta operationMeta;
-boolean isConsumer;
+boolean isProvider;
 Invocation invocation = Mockito.mock(Invocation.class);
 InvocationRuntimeType invocationRuntimeType;
 
 if (InvocationType.CONSUMER == invocationType) {
   operationMeta = consumerSchemaMeta.getOperations().get(operation);
-  isConsumer = true;
+  isProvider = false;
   Mockito.when(invocation.getSchemaMeta()).thenReturn(consumerSchemaMeta);
   invocationRuntimeType = operationMeta.buildBaseConsumerRuntimeType();
 } else {
   operationMeta = providerSchemaMeta.getOperations().get(operation);
-  isConsumer = false;
+  isProvider = true;
   Mockito.when(invocation.getSchemaMeta()).thenReturn(providerSchemaMeta);
   invocationRuntimeType

(servicecomb-java-chassis) branch master updated: [SCB-2879]tracing supporting write local logs and improve trace information (#4338)

2024-05-17 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new 67efcf23b [SCB-2879]tracing supporting write local logs and improve 
trace information (#4338)
67efcf23b is described below

commit 67efcf23b4f7e1157e1443177ee4ee91e3600fed
Author: liubao68 
AuthorDate: Fri May 17 14:02:46 2024 +0800

[SCB-2879]tracing supporting write local logs and improve trace information 
(#4338)
---
 dependencies/default/pom.xml   |  47 ++
 handlers/handler-tracing-zipkin/pom.xml|  13 ++-
 ...gDelegate.java => CustomHttpRequestParser.java} |  28 +++---
 ...Delegate.java => CustomHttpResponseParser.java} |  34 +++
 .../tracing/zipkin/HttpClientRequestWrapper.java   |  41 +++-
 .../tracing/zipkin/HttpClientResponseWrapper.java  |  45 +++--
 .../tracing/zipkin/HttpServeRequestWrapper.java|  35 ++-
 .../tracing/zipkin/HttpServerResponseWrapper.java  |  45 +++--
 ...inTracingDelegate.java => InvocationAware.java} |  16 +---
 ...kinTracingDelegate.java => LogSpanHandler.java} |  29 +++---
 .../tracing/zipkin/TracingConfiguration.java   | 103 +
 .../tracing/zipkin/ZipkinConsumerDelegate.java |  75 ---
 .../tracing/zipkin/ZipkinProviderDelegate.java | 100 
 .../tracing/zipkin/ZipkinTracingFilter.java|  81 ++--
 .../tracing/zipkin/ZipkinProviderDelegateTest.java |  75 ---
 tracing/tracing-zipkin/pom.xml |  12 ++-
 .../tracing/zipkin/ZipkinTracingAdviser.java   |  12 ++-
 .../tracing/zipkin/ZipkinSpanAspectTest.java   |   4 +-
 18 files changed, 258 insertions(+), 537 deletions(-)

diff --git a/dependencies/default/pom.xml b/dependencies/default/pom.xml
index 34df496e8..bd9997765 100644
--- a/dependencies/default/pom.xml
+++ b/dependencies/default/pom.xml
@@ -34,7 +34,7 @@
 1.2.2
 3.25.3
 4.2.1
-5.17.0
+6.0.3
 1.9.4
 2.15.1
 2.6
@@ -87,8 +87,8 @@
 6.0.9
 2.2.21
 4.4.8
-3.1.1
-2.17.1
+3.3.0
+3.4.0
 
 ${basedir}/../..
   
@@ -303,48 +303,15 @@
 
   
 io.zipkin.brave
-brave
-${brave.version}
-  
-  
-io.zipkin.brave
-brave-context-slf4j
-${brave.version}
-  
-  
-io.zipkin.brave
-brave-instrumentation-jaxrs2
-${brave.version}
-  
-  
-io.zipkin.brave
-brave-instrumentation-servlet
-${brave.version}
-  
-  
-io.zipkin.brave
-brave-instrumentation-spring-web
-${brave.version}
-  
-  
-io.zipkin.brave
-brave-instrumentation-spring-webmvc
-${brave.version}
-  
-  
-io.zipkin.brave
-brave-spring-beans
+brave-bom
 ${brave.version}
+pom
+import
   
 
   
 io.zipkin.reporter2
-zipkin-reporter
-${zipkin-reporter.version}
-  
-  
-io.zipkin.reporter2
-zipkin-sender-okhttp3
+zipkin-reporter-bom
 ${zipkin-reporter.version}
   
 
diff --git a/handlers/handler-tracing-zipkin/pom.xml 
b/handlers/handler-tracing-zipkin/pom.xml
index 4246de015..d5d60d750 100644
--- a/handlers/handler-tracing-zipkin/pom.xml
+++ b/handlers/handler-tracing-zipkin/pom.xml
@@ -50,18 +50,17 @@
   io.zipkin.brave
   brave
 
-
-  io.zipkin.reporter2
-  zipkin-sender-okhttp3
-
 
   io.zipkin.brave
   brave-context-slf4j
 
 
-  io.zipkin.zipkin2
-  zipkin
-  compile
+  io.zipkin.reporter2
+  zipkin-sender-okhttp3
+
+
+  io.zipkin.reporter2
+  zipkin-reporter-brave
 
   
 
diff --git 
a/handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinTracingDelegate.java
 
b/handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/CustomHttpRequestParser.java
similarity index 61%
copy from 
handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinTracingDelegate.java
copy to 
handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/CustomHttpRequestParser.java
index 3761a8d84..7fc617a87 100644
--- 
a/handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinTracingDelegate.java
+++ 
b/handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/CustomHttpRequestParser.java
@@ -14,22 +14,22 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.servicecomb.tracing.zipkin;
 
 import org.apache.servicecomb.core.Invocat

(servicecomb-java-chassis) branch master updated: update readme (#4337)

2024-05-15 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new 55281634c update readme (#4337)
55281634c is described below

commit 55281634cfac2451ae584167c659b22a324b6c08
Author: liubao68 
AuthorDate: Wed May 15 15:37:54 2024 +0800

update readme (#4337)
---
 README.md|  2 +-
 README_ZH.md | 10 --
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/README.md b/README.md
index 9c3e61802..7653dfe86 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@ Apache ServiceComb Java Chassis is a Software Development Kit 
(SDK) for rapid de
 
 | Release Train  | Latest Version | Compiled JDK Version | Tested JDK Version 
| Open API | Notes|
 
|||--||--|--|
-| Java Chassis 3 | 3.1.0  | OpenJDK 17   | OpenJDK 17 
| 3.0.x| Depends on Spring Boot 3 |
+| Java Chassis 3 | 3.1.1  | OpenJDK 17   | OpenJDK 17 
| 3.0.x| Depends on Spring Boot 3 |
 | Java Chassis 2 | 2.8.16 | OpenJDK 8| OpenJDK 8, 11, 17  
| 2.0.x| Depends on Spring 5  |
 | Java Chassis 1 | 1.3.11 | OpenJDK 8| OpenJDK 8  
| 2.0.x| End of Support   |
 
diff --git a/README_ZH.md b/README_ZH.md
index 9a1cd17b8..6fbc4150c 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -8,15 +8,13 @@ Apache ServiceComb Java Chassis 给开发者提供一个快速构建微服务的
 * 统一一致的服务提供者、服务消费者处理链,易于扩展新功能。
 * 提供服务发现、配置管理、熔断、限流、灰度发布等开箱即用的服务治理能力。
 
-开发者可以通过[设计选型参考][design]了解更多特性和设计原理。
+可以通过[设计选型参考](https://servicecomb.apache.org/references/java-chassis/zh_CN/start/design.html)
 了解更多特性和设计原理。
 
-[design]: 
https://servicecomb.apache.org/references/java-chassis/zh_CN/start/design.html
-
-# releases
+# 发布版本
 
 | 版本火车   | 最新版本   | 编译的JDK版本   | 支持的JDK版本  | Open API | 备注 
 |
 
||||---|--|-|
-| Java Chassis 3 | 3.1.0  | OpenJDK 17 | OpenJDK 17| 3.0.x| 
依赖Spring Boot 3 |
+| Java Chassis 3 | 3.1.1  | OpenJDK 17 | OpenJDK 17| 3.0.x| 
依赖Spring Boot 3 |
 | Java Chassis 2 | 2.8.16 | OpenJDK 8  | OpenJDK 8, 11, 17 | 2.0.x| 
依赖Spring 5  |
 | Java Chassis 1 | 1.3.11 | OpenJDK 8  | OpenJDK 8 | 2.0.x| 停止更新   
 |
 
@@ -87,7 +85,7 @@ public class ConsumerController implements ConsumerService {
 
 [java-chassis-developer-guide]:  
https://servicecomb.apache.org/references/java-chassis/zh_CN/
 
-# 编译Java Chassis
+# 编译 Java Chassis
 
 开发者可以通过MAVEN仓库使用Java Chassis。 如果需要构建项目,需要使用JDK 17版本,并预先安装maven。 
 



(servicecomb-fence) branch master updated (9558d04 -> 142d3d6)

2024-05-15 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


from 9558d04  configure ROOT and edge mapping
 add 142d3d6  make integration tests run

No new revisions were added by this update.

Summary of changes:
 README.md  |   5 +-
 README_ZH.md   |   7 +-
 .../src/main/resources/sql/user.sql|   4 +-
 build_and_run.bat  |   3 -
 integration-tests/pom.xml  |  15 +++
 .../fence/AuthenticationClientMain.java|   2 +
 .../servicecomb/fence/edge/TokenResponse.java  | 111 -
 .../fence/tests/AuthenticationTestCase.java| 131 -
 .../servicecomb/fence/tests/BootEventListener.java |  48 
 .../fence/tests/EndpointConfiguration.java |  76 +++-
 .../servicecomb/fence/tests/GateRestTemplate.java  | 120 ---
 .../fence/tests/ITUriTemplateHandler.java  |  44 ---
 .../{TestEndpoint.java => StartTestCasesBean.java} |  15 ++-
 .../apache/servicecomb/fence/tests/TestCase.java   |   2 +-
 .../fence/tests/TokenExpireTestCase.java   |  62 +-
 .../{microservice.yaml => application.yml} |  37 ++
 .../src/main/resources/log4j2.xml  |   2 +-
 integration-tests/src/main/resources/logback.xml   |  79 -
 pom.xml|   4 +-
 .../fence/resource/AuthenticationAuthFilter.java   |   2 +-
 .../resource/AuthenticationProviderFilter.java |   3 +-
 21 files changed, 203 insertions(+), 569 deletions(-)
 delete mode 100644 
integration-tests/src/main/java/org/apache/servicecomb/fence/edge/TokenResponse.java
 delete mode 100644 
integration-tests/src/main/java/org/apache/servicecomb/fence/tests/BootEventListener.java
 delete mode 100644 
integration-tests/src/main/java/org/apache/servicecomb/fence/tests/GateRestTemplate.java
 delete mode 100644 
integration-tests/src/main/java/org/apache/servicecomb/fence/tests/ITUriTemplateHandler.java
 rename 
integration-tests/src/main/java/org/apache/servicecomb/fence/tests/{TestEndpoint.java
 => StartTestCasesBean.java} (80%)
 rename integration-tests/src/main/resources/{microservice.yaml => 
application.yml} (62%)
 copy {resource-server => integration-tests}/src/main/resources/log4j2.xml (97%)
 delete mode 100644 integration-tests/src/main/resources/logback.xml



(servicecomb-fence) branch master updated: configure ROOT and edge mapping

2024-05-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


The following commit(s) were added to refs/heads/master by this push:
 new 9558d04  configure ROOT and edge mapping
9558d04 is described below

commit 9558d041d3d891e33c08dd3a03d56b3895da1712
Author: liubao 
AuthorDate: Wed May 15 10:37:52 2024 +0800

configure ROOT and edge mapping
---
 .../authentication/ThirdPartyProviderService.java |  2 +-
 .../fence/{ => api}/authentication/TokenService.java  |  2 +-
 .../servicecomb/fence/{ => api}/edge/TokenResponse.java   |  2 +-
 .../servicecomb/fence/{ => api}/edge/TokenService.java|  2 +-
 .../{resource/example => api/resource}/FileService.java   |  2 +-
 .../example => api/resource}/HandlerAuthService.java  |  2 +-
 .../example => api/resource}/PreMethodAuthService.java|  2 +-
 .../fence/authentication/ThirdPartyProviderEndpoint.java  |  1 +
 .../servicecomb/fence/authentication/TokenEndpoint.java   |  1 +
 authentication-server/src/main/resources/application.yml  |  5 +
 edge-service/pom.xml  |  4 
 .../org/apache/servicecomb/fence/edge/TokenEndpoint.java  |  2 ++
 edge-service/src/main/resources/application.yml   | 15 +++
 edge-service/src/main/resources/ui/js/login.js|  2 +-
 edge-service/src/main/resources/ui/js/operation.js|  8 
 resource-server/pom.xml   |  4 
 .../fence/resource/{example => }/FileEndpoint.java|  3 ++-
 .../fence/resource/{example => }/FileStoreService.java|  2 +-
 .../fence/resource/{example => }/HandlerAuthEndpoint.java |  3 ++-
 .../resource/{example => }/LocalFileStoreService.java |  2 +-
 .../resource/{example => }/PreMethodAuthEndpoint.java |  3 ++-
 resource-server/src/main/resources/application.yml|  5 +
 22 files changed, 45 insertions(+), 29 deletions(-)

diff --git 
a/apis/authentication-server-api/src/main/java/org/apache/servicecomb/fence/authentication/ThirdPartyProviderService.java
 
b/apis/authentication-server-api/src/main/java/org/apache/servicecomb/fence/api/authentication/ThirdPartyProviderService.java
similarity index 96%
rename from 
apis/authentication-server-api/src/main/java/org/apache/servicecomb/fence/authentication/ThirdPartyProviderService.java
rename to 
apis/authentication-server-api/src/main/java/org/apache/servicecomb/fence/api/authentication/ThirdPartyProviderService.java
index d00900d..967b2cc 100644
--- 
a/apis/authentication-server-api/src/main/java/org/apache/servicecomb/fence/authentication/ThirdPartyProviderService.java
+++ 
b/apis/authentication-server-api/src/main/java/org/apache/servicecomb/fence/api/authentication/ThirdPartyProviderService.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.servicecomb.fence.authentication;
+package org.apache.servicecomb.fence.api.authentication;
 
 import org.springframework.web.bind.annotation.CookieValue;
 import org.springframework.web.bind.annotation.GetMapping;
diff --git 
a/apis/authentication-server-api/src/main/java/org/apache/servicecomb/fence/authentication/TokenService.java
 
b/apis/authentication-server-api/src/main/java/org/apache/servicecomb/fence/api/authentication/TokenService.java
similarity index 96%
rename from 
apis/authentication-server-api/src/main/java/org/apache/servicecomb/fence/authentication/TokenService.java
rename to 
apis/authentication-server-api/src/main/java/org/apache/servicecomb/fence/api/authentication/TokenService.java
index 9baf1bd..b8d7fb4 100644
--- 
a/apis/authentication-server-api/src/main/java/org/apache/servicecomb/fence/authentication/TokenService.java
+++ 
b/apis/authentication-server-api/src/main/java/org/apache/servicecomb/fence/api/authentication/TokenService.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.servicecomb.fence.authentication;
+package org.apache.servicecomb.fence.api.authentication;
 
 import java.util.Map;
 
diff --git 
a/apis/edge-service-api/src/main/java/org/apache/servicecomb/fence/edge/TokenResponse.java
 
b/apis/edge-service-api/src/main/java/org/apache/servicecomb/fence/api/edge/TokenResponse.java
similarity index 98%
rename from 
apis/edge-service-api/src/main/java/org/apache/servicecomb/fence/edge/TokenResponse.java
rename to 
apis/edge-service-api/src/main/java/org/apache/servicecomb/fence/api/edge/TokenResponse.java
index 83eeac0..47dd695 100644
--- 
a/apis/edge-service-api/src/main/java/org/apache/servicecomb/fence/edge/TokenResponse.java
+++ 
b/apis/edge-service-api/src/main/java/org/apache/servicecomb/fence/api/edge/TokenResponse.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.servicecomb.fence.edge;
+package org.apache.servicecomb.fence.api.edge;
 
 import java.util.Map;

(servicecomb-fence) branch master updated: extract apis

2024-05-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


The following commit(s) were added to refs/heads/master by this push:
 new 2941f80  extract apis
2941f80 is described below

commit 2941f807946a1b25d6470e76cef42218bf7d32d4
Author: liubao 
AuthorDate: Tue May 14 20:49:37 2024 +0800

extract apis
---
 .../authentication-server-api}/pom.xml | 35 
 .../authentication/ThirdPartyProviderService.java  | 14 +++-
 .../fence/authentication/TokenService.java | 11 +--
 {resource-server => apis/edge-service-api}/pom.xml | 28 ++--
 .../servicecomb/fence/edge/TokenResponse.java  |  0
 .../servicecomb/fence/edge/TokenService.java   |  8 -
 apis/pom.xml   | 37 ++
 .../resource-server-api}/pom.xml   | 32 ++-
 .../fence/resource/example/FileService.java| 20 +++-
 .../fence/resource/example/HandlerAuthService.java | 22 -
 .../resource/example/PreMethodAuthService.java | 22 -
 authentication-server/pom.xml  |  5 +++
 .../authentication/ThirdPartyProviderEndpoint.java | 16 ++
 .../fence/authentication/TokenEndpoint.java| 14 ++--
 edge-service/pom.xml   |  5 +++
 .../servicecomb/fence/edge/TokenEndpoint.java  | 10 ++
 integration-tests/pom.xml  |  4 +++
 .../fence/tests/EndpointConfiguration.java | 35 
 pom.xml|  3 +-
 resource-server/pom.xml|  5 +++
 .../fence/resource/example/FileEndpoint.java   | 31 +++---
 .../fence/resource/example/FileStoreService.java   |  5 ++-
 .../resource/example/HandlerAuthEndpoint.java  | 15 -
 .../resource/example/PreMethodAuthEndpoint.java| 15 -
 24 files changed, 164 insertions(+), 228 deletions(-)

diff --git a/resource-server/pom.xml b/apis/authentication-server-api/pom.xml
similarity index 68%
copy from resource-server/pom.xml
copy to apis/authentication-server-api/pom.xml
index 62cc64f..a2be48a 100644
--- a/resource-server/pom.xml
+++ b/apis/authentication-server-api/pom.xml
@@ -15,46 +15,25 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd;>
   4.0.0
 
-
   
 org.apache.servicecomb.fence
-project-fence
+fence-apis
 0.0.1-SNAPSHOT
   
 
-  resource-server
+  authentication-server-api
   jar
 
-  
-UTF-8
-  
-
   
 
   org.apache.servicecomb.fence
   fence-common
   ${project.version}
 
-
-  org.apache.servicecomb
-  solution-basic
-
-
-  org.apache.servicecomb
-  java-chassis-spring-boot-starter-standalone
-
-
-  org.springframework.boot
-  spring-boot-autoconfigure
-
   
 
-  
-
-  
-org.springframework.boot
-spring-boot-maven-plugin
-  
-
-  
-
+  
+UTF-8
+  
+
+
\ No newline at end of file
diff --git 
a/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/ThirdPartyProviderService.java
 
b/apis/authentication-server-api/src/main/java/org/apache/servicecomb/fence/authentication/ThirdPartyProviderService.java
similarity index 56%
rename from 
authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/ThirdPartyProviderService.java
rename to 
apis/authentication-server-api/src/main/java/org/apache/servicecomb/fence/authentication/ThirdPartyProviderService.java
index 1f101ab..d00900d 100644
--- 
a/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/ThirdPartyProviderService.java
+++ 
b/apis/authentication-server-api/src/main/java/org/apache/servicecomb/fence/authentication/ThirdPartyProviderService.java
@@ -17,10 +17,22 @@
 
 package org.apache.servicecomb.fence.authentication;
 
+import org.springframework.web.bind.annotation.CookieValue;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
 /**
  * Connecting third party oAuth providers
  *
  */
+@RequestMapping(path = "/v1/thirdParty")
 public interface ThirdPartyProviderService {
-  String providerInfo(String provider, String redirectURI, String login, 
String scope, String initialState);
+  @GetMapping(path = "/providerInfo/{provider}")
+  String providerInfo(@PathVariable(name = "provider") String provider,
+  @RequestParam(name = "login", required = false) String login,
+  @RequestParam(name = "redirectURI") String redirectURI,
+ 

(servicecomb-samples) branch master updated: upgrade version (#141)

2024-05-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-samples.git


The following commit(s) were added to refs/heads/master by this push:
 new 409c697  upgrade version (#141)
409c697 is described below

commit 409c697313f4f4498b7db4ec9532a4d3d7b423f1
Author: liubao68 
AuthorDate: Tue May 14 19:11:53 2024 +0800

upgrade version (#141)
---
 basic/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/basic/pom.xml b/basic/pom.xml
index 18290fb..a358be8 100644
--- a/basic/pom.xml
+++ b/basic/pom.xml
@@ -27,7 +27,7 @@
 
   
 UTF-8
-3.1.0
+3.1.1
 3.1.3
 3.11.0
   



svn commit: r69155 - in /release/servicecomb/servicecomb-java-chassis: 3.1.0/ 3.1.1/

2024-05-14 Thread liubao
Author: liubao
Date: Tue May 14 09:54:22 2024
New Revision: 69155

Log:
release 3.1.1

Added:
release/servicecomb/servicecomb-java-chassis/3.1.1/

release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip
   (with props)

release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.asc

release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.sha512

release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip
   (with props)

release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip.asc

release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip.sha512
Removed:
release/servicecomb/servicecomb-java-chassis/3.1.0/

Added: 
release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip
==
Binary file - no diff available.

Propchange: 
release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip
--
svn:mime-type = application/octet-stream

Added: 
release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.asc
==
--- 
release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.asc
 (added)
+++ 
release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.asc
 Tue May 14 09:54:22 2024
@@ -0,0 +1,16 @@
+-BEGIN PGP SIGNATURE-
+
+iQIzBAABCgAdFiEEgr9EsxMxTagaNq1NQCyw93alAPoFAmY/L90ACgkQQCyw93al
+APrGfw//df9dvaEb26wofJNsG5jZtaA7RSerVByPUjK+62G71RH7FrPSDCunSpDH
+cFPf8y3HMRWsJHwxD1l7aA9KE6HrujVR/8rFXEBc6Icsy/ixjFEbkOE9Avyc49Pb
+5kJ23VeMmsqssNuHaw1CPGduO6wiSjzUgbLb5qT4wPjbOb+B1wL5Jhe++InyuxDU
+dJnNAomunQfPVpjPq4i0BkzFoL2iGQGoCZgtcXLHZXK1lrbHqMrXLmpV3Bfuli5M
+bnKupHXOexqkapT9fxwJ8Wknpa88LgvcvRm2m4xWEyGNqxVV+bEolb5iIIDliMAL
+kmNZwnmWtaWN9ej7r2SvaiGR25xi008bPvANxQdegWTtgYEoHZrFMXAeGbspHZRU
+eYHJkMlDuTLPw79TDEFa+xvVXu7vxSzDcGTZUjjzGSP6svvH4+rQ9cpl+ecP4OXh
+ibkyqAQqkHhnPCzvXgxGi0RH50TGEAnIOpFufI7wwyAZHIpxX8Nk2yzlD1Z5Gsyb
+p9xYaC38nOUSz5+FnT6E9FfI7hxHhCbmErDm1rithwF8L6R8zgrEq+1sFNonlw5y
+GZpxyXdPfDIHDE0f6QChek+y37OhTAOYC2y1dasgIGvON6Is+LRfLbGfdMO5EJKd
+2tsjno1ExctKf/286gSKg+ixyf6UqtQtsIT86NhyFS5AXdQokww=
+=Kl3Q
+-END PGP SIGNATURE-

Added: 
release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.sha512
==
--- 
release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.sha512
 (added)
+++ 
release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.sha512
 Tue May 14 09:54:22 2024
@@ -0,0 +1 @@
+679886da0e0f066574bdba33de59ee285a901b7231d007f4a72a0d5ba29a21e8dc60bbe11bee93ed492ab20df1026234a7da0778113f710c74e429dd2dbf3b50
 *apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip

Added: 
release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip
==
Binary file - no diff available.

Propchange: 
release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip
--
svn:mime-type = application/octet-stream

Added: 
release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip.asc
==
--- 
release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip.asc
 (added)
+++ 
release/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip.asc
 Tue May 14 09:54:22 2024
@@ -0,0 +1,16 @@
+-BEGIN PGP SIGNATURE-
+
+iQIzBAABCgAdFiEEgr9EsxMxTagaNq1NQCyw93alAPoFAmY/L90ACgkQQCyw93al
+APo7iQ//Z03sVjqUnK/lAvldcZf+PtrnwUTvH9KrVF9mWs+RHsm5EEacLziy1IGO
+FVOSTJq0AcBA7UcMjN84RkcK+jKBmSFGRXQyUVP+skMp2mB1y1LehLqXf6+9mVlw
+9CN7c1LNwU5zwwjYGJnKs2r7yRlmHHTuIj1pJH61sisCz/vGcvbhPebiNcDkLfvG
+XhnLWuEQBAOEcGTeZE+lQTTMx5L4LN1MWIcEumIMFBrguOAR0nlZOCSy7JSMgUzN
+vS1QjM4CI97A9hbDI5Kxcct4vFlSM+tI7tLb88/cB44Od8LoarN097IgIzezpDUi
+Hp7iYlBTBMJ/aZckBs4z4zyStQq4rLUWpMFbF98RNKlXxlhcc2Z+Y+ROiYMJsNBp

(servicecomb-java-chassis) tag 3.1.1 created (now f99d3715e)

2024-05-11 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to tag 3.1.1
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


  at f99d3715e (commit)
No new revisions were added by this update.



svn commit: r69103 - /dev/servicecomb/servicecomb-java-chassis/3.1.1/

2024-05-11 Thread liubao
Author: liubao
Date: Sat May 11 08:47:45 2024
New Revision: 69103

Log:
release 3.1.1

Modified:

dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip

dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.asc

dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.sha512

dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip

dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip.asc

dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip.sha512

Modified: 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip
==
Binary files - no diff available.

Modified: 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.asc
==
--- 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.asc
 (original)
+++ 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.asc
 Sat May 11 08:47:45 2024
@@ -1,16 +1,16 @@
 -BEGIN PGP SIGNATURE-
 
-iQIzBAABCgAdFiEEgr9EsxMxTagaNq1NQCyw93alAPoFAmY+3fcACgkQQCyw93al
-APr95xAAhpMrSyrlez9NP3bLZqOJ7aU2DFxOldcmCqdIkUDY7zKHIG1nbGOmDoVZ
-ieQx1bN715lMvRUQIAluIppyaTy4mL9SurHg4PnGQGRT6fnEZRLXB5GVR9X0EpTm
-NTnbk+Qgp8fg7dvdJl8gctxnUWV9DT66fM7DJkUz8YE4tYVg3mfXuVwN2zWL1ZIa
-2a52BCxarEpB6XKICF0GcNcoADV/zGoWTtDILzXPijBSBlTitFQ0w+y7gIW7lhwV
-uljQ/yJ7U+wR8pnhhwebUje0Vj+jQ53dsbGjPX/KpAcJCZ+eHqWb0Tz6mKg+EZUK
-gF9JcotdH6kMX/wdzC5x+RJsjuES0TWGN2OeMHA2MKdSIV36GXlUKaLmNgWw4Xp3
-b9B9OMyUamuQOmOQsHLP1vcCg+ptUylNGCef5e0QoeJtfen2ReAZYOe1oLdzLcRI
-0/DbdqzBtkJkvIZdyG846irajAKzwcXf0JmRzdZlbb17+zY0H7a8Cdj+DF+4AFTd
-G2iOlJptYk6wB69eg85cdlD/Or5F0ogA7mtDy6CdF4r2jqJAXop4gvn0OY6ZyrPW
-9yWHkjepSx5uVjdgYMiTVnG8OeCC06uGqxUTjlyrP/UcsgrY7io7n4S8sfyCEAqE
-J3XAVmdKaGGiVBibsa58OKTnPjmSNZBENJ3tLKJyFc97dYxUQzA=
-=JXuH
+iQIzBAABCgAdFiEEgr9EsxMxTagaNq1NQCyw93alAPoFAmY/L90ACgkQQCyw93al
+APrGfw//df9dvaEb26wofJNsG5jZtaA7RSerVByPUjK+62G71RH7FrPSDCunSpDH
+cFPf8y3HMRWsJHwxD1l7aA9KE6HrujVR/8rFXEBc6Icsy/ixjFEbkOE9Avyc49Pb
+5kJ23VeMmsqssNuHaw1CPGduO6wiSjzUgbLb5qT4wPjbOb+B1wL5Jhe++InyuxDU
+dJnNAomunQfPVpjPq4i0BkzFoL2iGQGoCZgtcXLHZXK1lrbHqMrXLmpV3Bfuli5M
+bnKupHXOexqkapT9fxwJ8Wknpa88LgvcvRm2m4xWEyGNqxVV+bEolb5iIIDliMAL
+kmNZwnmWtaWN9ej7r2SvaiGR25xi008bPvANxQdegWTtgYEoHZrFMXAeGbspHZRU
+eYHJkMlDuTLPw79TDEFa+xvVXu7vxSzDcGTZUjjzGSP6svvH4+rQ9cpl+ecP4OXh
+ibkyqAQqkHhnPCzvXgxGi0RH50TGEAnIOpFufI7wwyAZHIpxX8Nk2yzlD1Z5Gsyb
+p9xYaC38nOUSz5+FnT6E9FfI7hxHhCbmErDm1rithwF8L6R8zgrEq+1sFNonlw5y
+GZpxyXdPfDIHDE0f6QChek+y37OhTAOYC2y1dasgIGvON6Is+LRfLbGfdMO5EJKd
+2tsjno1ExctKf/286gSKg+ixyf6UqtQtsIT86NhyFS5AXdQokww=
+=Kl3Q
 -END PGP SIGNATURE-

Modified: 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.sha512
==
--- 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.sha512
 (original)
+++ 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.sha512
 Sat May 11 08:47:45 2024
@@ -1 +1 @@
-83a35725c3a3ad1891a49d745cbdd49e0ef5ee0acbef56fa7d641da4a32e90c4dbb7f85161d212250ec495fa0b626da14458628a63bc0a4ddc6d319e5797c5f1
 *apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip
+679886da0e0f066574bdba33de59ee285a901b7231d007f4a72a0d5ba29a21e8dc60bbe11bee93ed492ab20df1026234a7da0778113f710c74e429dd2dbf3b50
 *apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip

Modified: 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip
==
Binary files - no diff available.

Modified: 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip.asc
==
--- 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip.asc
 (original)
+++ 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip.asc
 Sat May 11 08:47:45 2024
@@ -1,16 +1,16 @@
 -BEGIN PGP SIGNATURE-
 
-iQIzBAABCgAdFiEEgr9EsxMxTagaNq1NQCyw93alAPoFAmY+3fgACgkQQCyw93al
-APrdYRAAhAXYi11jI8DV6s6tWBUc3rtIZ4OBnA6qgTKi2x6b05reCNAbn7Ysq/js
-N3eARM5RzjhDFLe5Z4C1Fxl8Eu5al3W9+IU/ZwAo7axMEYaF4poIdYmf9UQgeral
-GpcjQLM7Iswesld5ahnID0sRc013O2

(servicecomb-java-chassis) branch master updated: [#4334]fix invocation arguments not same with swagger arguments problem (#4335)

2024-05-11 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new f99d3715e [#4334]fix invocation arguments not same with swagger 
arguments problem (#4335)
f99d3715e is described below

commit f99d3715eba3eebffd0306aa0df113e25b11b92b
Author: liubao68 
AuthorDate: Sat May 11 16:19:20 2024 +0800

[#4334]fix invocation arguments not same with swagger arguments problem 
(#4335)
---
 .../demo/springmvc/SpringmvcClient.java| 14 +-
 .../demo/springmvc/client/TestThirdSvc.java| 55 ++
 .../demo/springmvc/client/ThirdSvc.java|  9 
 .../demo/springmvc/server/CodeFirstSpringmvc.java  |  9 
 .../consumer/ConsumerArgumentsMapperCreator.java   |  3 +-
 .../arguments/consumer/TestJaxrsV2V2.java  |  4 +-
 .../arguments/consumer/TestSpringmvcV2V2.java  |  8 ++--
 7 files changed, 82 insertions(+), 20 deletions(-)

diff --git 
a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/SpringmvcClient.java
 
b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/SpringmvcClient.java
index 849fd56a1..74293a6f3 100644
--- 
a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/SpringmvcClient.java
+++ 
b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/SpringmvcClient.java
@@ -17,7 +17,6 @@
 
 package org.apache.servicecomb.demo.springmvc;
 
-import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -29,7 +28,6 @@ import org.apache.servicecomb.demo.TestMgr;
 import org.apache.servicecomb.demo.controller.Controller;
 import org.apache.servicecomb.demo.controller.Person;
 import 
org.apache.servicecomb.demo.springmvc.client.CodeFirstRestTemplateSpringmvc;
-import org.apache.servicecomb.demo.springmvc.client.ThirdSvc.ThirdSvcClient;
 import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
 import org.apache.servicecomb.foundation.common.utils.BeanUtils;
 import org.apache.servicecomb.foundation.vertx.client.http.HttpClients;
@@ -80,7 +78,7 @@ public class SpringmvcClient {
   LOGGER.error("-- test failed -");
 }
 TestMgr.summary();
-LOGGER.info("-- last time updated checks(maybe more/less): 
1341 -");
+LOGGER.info("-- last time updated checks(maybe more/less): 
1344 -");
   }
 
   private static void changeTransport(String microserviceName, String 
transport) {
@@ -218,18 +216,9 @@ public class SpringmvcClient {
   testController();
   testSpringMvcDefaultValuesAllTransport(templateUrlWithServiceName, 
microserviceName);
   
testSpringMvcDefaultValuesJavaPrimitiveAllTransport(templateUrlWithServiceName, 
microserviceName);
-  testThirdService();
 }
   }
 
-  private static void testThirdService() {
-ThirdSvcClient client = 
BeanUtils.getContext().getBean(ThirdSvcClient.class);
-
-Date date = new Date();
-ResponseEntity responseEntity = client.responseEntity(date);
-TestMgr.check(date, responseEntity.getBody());
-  }
-
   private static void testControllerRest(RestTemplate template, String 
microserviceName) {
 String prefix = "cse://" + microserviceName;
 
@@ -340,7 +329,6 @@ public class SpringmvcClient {
   }
 
 
-
   private static void testSpringMvcDefaultValuesRest(RestTemplate template, 
String microserviceName) {
 String cseUrlPrefix = "cse://" + microserviceName + 
"/SpringMvcDefaultValues/";
 String result = template.getForObject(cseUrlPrefix + "/query?d=10", 
String.class);
diff --git 
a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestThirdSvc.java
 
b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestThirdSvc.java
new file mode 100644
index 0..98592c9bc
--- /dev/null
+++ 
b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestThirdSvc.java
@@ -0,0 +1,55 @@
+/*
+ * 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,
+ * WI

(servicecomb-java-chassis) tag 3.1.1 deleted (was ba06fef1c)

2024-05-11 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to tag 3.1.1
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


*** WARNING: tag 3.1.1 was deleted! ***

 was ba06fef1c [SCB-2878]operation based load balancer (#4332)

The revisions that were on this tag are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(servicecomb-java-chassis) tag 3.1.1 created (now ba06fef1c)

2024-05-10 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to tag 3.1.1
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


  at ba06fef1c (commit)
No new revisions were added by this update.



(servicecomb-docs) branch master updated: fix public key auth (#337)

2024-05-10 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-docs.git


The following commit(s) were added to refs/heads/master by this push:
 new a64a7b9  fix public key auth (#337)
a64a7b9 is described below

commit a64a7b9e2961a5ad63011e1187be913729cd67a3
Author: liubao68 
AuthorDate: Sat May 11 11:29:28 2024 +0800

fix public key auth (#337)
---
 .../{references-handlers => security}/publickey.md | 47 +++-
 .../zh_CN/docs/security/shi-yong-rsa-ren-zheng.md  | 50 --
 .../docs/security/tls/shi-yong-rsa-ren-zheng.md|  0
 java-chassis-reference/zh_CN/mkdocs.yml|  3 +-
 4 files changed, 37 insertions(+), 63 deletions(-)

diff --git a/java-chassis-reference/zh_CN/docs/references-handlers/publickey.md 
b/java-chassis-reference/zh_CN/docs/security/publickey.md
similarity index 50%
rename from java-chassis-reference/zh_CN/docs/references-handlers/publickey.md
rename to java-chassis-reference/zh_CN/docs/security/publickey.md
index 1a754fb..5e9c260 100644
--- a/java-chassis-reference/zh_CN/docs/references-handlers/publickey.md
+++ b/java-chassis-reference/zh_CN/docs/security/publickey.md
@@ -1,16 +1,42 @@
-# 公钥认证
+# 微服务间认证
 
 ## 场景描述
 
-公钥认证是ServiceComb提供的一种简单高效的微服务之间认证机制,它的安全性建立在微服务与服务中心之间的交互是可信的基础之上,即微服务和服务中心之间必须先启用认证机制。它的基本流程如下:
+微服务间认证是 `Java Chassis` 
提供的一种简单高效的微服务之间认证机制,它的安全性建立在微服务与注册中心之间的交互是可信的基础之上,即微服务和注册中心之间必须先启用认证机制。它的基本流程如下:
 
-1. 微服务启动的时候,生成秘钥对,并将公钥注册到服务中心。
+1. 微服务启动的时候,生成秘钥对,并将公钥注册到注册中心。
 2. 消费者访问提供者之前,使用自己的私钥对消息进行签名。
-3. 提供者从服务中心获取消费者公钥,对签名的消息进行校验。
+3. 提供者从注册中心获取消费者公钥,对签名的消息进行校验。
 
-## 配置黑白名单
+## 启用微服务间认证功能
 
-基于公钥认证机制,ServiceComb提供了黑白名单功能。通过黑白名单,可以控制微服务允许其他哪些服务访问。目前支持通过配置服务属性来控制,配置项如下:
+微服务间认证需要同时在消费者和提供者启用公钥认证(如果已经间接引入依赖,则无需添加)。 
+
+* 消费者配置
+
+在pom.xml中增加依赖:
+
+```
+ 
+  org.apache.servicecomb 
+  handler-publickey-auth 
+
+```
+
+* 提供者配置
+
+在pom.xml中增加依赖:
+
+```
+ 
+  org.apache.servicecomb 
+  handler-publickey-auth 
+
+```
+
+## 配置认证规则(黑白名单)
+
+基于公钥认证机制, `Java Chassis` 
提供了黑白名单功能。通过黑白名单,可以控制微服务允许其他哪些服务访问。目前支持通过配置服务属性来控制,配置项如下:
 
 ```
 servicecomb:
@@ -23,9 +49,9 @@ servicecomb:
 list01:
   category: property ## property, fixed value
   propertyName: serviceName ## property name
-# property value match expression. 
-# only supports prefix match and postfix match and exactly match. 
-# e.g. hacker*, *hacker, hacker
+  # property value match expression. 
+  # only supports prefix match and postfix match and exactly match. 
+  # e.g. hacker*, *hacker, hacker
   rule: hacker 
   white:
 list02:
@@ -44,6 +70,5 @@ includePathPatterns、excludePathPatterns规则设置支持前缀(xxx/)、后缀
 
 
2、excludePathPatterns未满足条件,再判断includePathPatterns是否设置规则,如果未设置则所有请求均需要进行鉴权;如果有设置规则,则判断当前请求path是否能够匹配设置规则,如果匹配则需要鉴权,如果不匹配则不需要鉴权。
 
-微服务黑名单判断规则:不允许微服务名称为hacker的访问;白名单,允许微服务名称为cust前缀的服务访问。
+微服务黑名单判断规则:不允许微服务名称为hacker的访问;白名单,允许微服务名称为 `cust` 前缀的服务访问。
 
-ServiceComb提供了[trust-sample](https://github.com/apache/servicecomb-samples/tree/master/java-chassis-samples/trust-sample)来演示黑白名单功能。
diff --git 
a/java-chassis-reference/zh_CN/docs/security/shi-yong-rsa-ren-zheng.md 
b/java-chassis-reference/zh_CN/docs/security/shi-yong-rsa-ren-zheng.md
deleted file mode 100644
index 0e60c0d..000
--- a/java-chassis-reference/zh_CN/docs/security/shi-yong-rsa-ren-zheng.md
+++ /dev/null
@@ -1,50 +0,0 @@
-## 场景描述
-
-用户通过简单的配置即可启用服务间RSA认证,以保障服务接口的安全性。
-
-详细介绍参考[公钥认证](../references-handlers/publickey.md)
-
-## Consumer配置
-
-* 在pom.xml中增加依赖:
-
-```
- 
-  org.apache.servicecomb 
-  handler-publickey-auth 
-
-```
-
-* 在microservice.yaml中添加进处理链
-
-```
-servicecomb:
-  handler:
-chain:
-  Consumer:
-default: auth-consumer
-```
-
-## Provider配置
-
-* 在pom.xml中增加依赖:
-
-```
- 
-  org.apache.servicecomb 
-  handler-publickey-auth 
-
-```
-
-* 在microservice.yaml中添加进处理链
-
-```
-servicecomb:
-  handler:
-chain:
-  Provider:
-default: auth-provider
-```
-
-
-
diff --git 
a/java-chassis-reference/zh_CN/docs/security/tls/shi-yong-rsa-ren-zheng.md 
b/java-chassis-reference/zh_CN/docs/security/tls/shi-yong-rsa-ren-zheng.md
deleted file mode 100644
index e69de29..000
diff --git a/java-chassis-reference/zh_CN/mkdocs.yml 
b/java-chassis-reference/zh_CN/mkdocs.yml
index ddc42ab..ef5091e 100644
--- a/java-chassis-reference/zh_CN/mkdocs.yml
+++ b/java-chassis-reference/zh_CN/mkdocs.yml
@@ -98,9 +98,8 @@ nav:
 - 使用 `zuul` 和 `spring cloud gateway` 做网关: edge/zuul.md
 - nginx 网关简单介绍: edge/nginx.md
 - 安全特性参考:
-- 公钥认证: references-handlers/publickey.md
+- 微服务间认证: security/publickey.md
 - 使用TLS通信: security/tls.md
-- 使用RSA认证: security/shi-yong-rsa-ren-zheng.md
 - 专题文章:
 - 特性介绍: featured-topics/features.md
 - 技术解密: featured-topics/secrets.md



svn commit: r69096 - in /dev/servicecomb/servicecomb-java-chassis: 3.1.0/ 3.1.1/

2024-05-10 Thread liubao
Author: liubao
Date: Sat May 11 03:01:11 2024
New Revision: 69096

Log:
release 3.1.1

Added:
dev/servicecomb/servicecomb-java-chassis/3.1.1/

dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip
   (with props)

dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.asc

dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.sha512

dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip
   (with props)

dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip.asc

dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip.sha512
Removed:
dev/servicecomb/servicecomb-java-chassis/3.1.0/

Added: 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip
==
Binary file - no diff available.

Propchange: 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip
--
svn:mime-type = application/octet-stream

Added: 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.asc
==
--- 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.asc
 (added)
+++ 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.asc
 Sat May 11 03:01:11 2024
@@ -0,0 +1,16 @@
+-BEGIN PGP SIGNATURE-
+
+iQIzBAABCgAdFiEEgr9EsxMxTagaNq1NQCyw93alAPoFAmY+3fcACgkQQCyw93al
+APr95xAAhpMrSyrlez9NP3bLZqOJ7aU2DFxOldcmCqdIkUDY7zKHIG1nbGOmDoVZ
+ieQx1bN715lMvRUQIAluIppyaTy4mL9SurHg4PnGQGRT6fnEZRLXB5GVR9X0EpTm
+NTnbk+Qgp8fg7dvdJl8gctxnUWV9DT66fM7DJkUz8YE4tYVg3mfXuVwN2zWL1ZIa
+2a52BCxarEpB6XKICF0GcNcoADV/zGoWTtDILzXPijBSBlTitFQ0w+y7gIW7lhwV
+uljQ/yJ7U+wR8pnhhwebUje0Vj+jQ53dsbGjPX/KpAcJCZ+eHqWb0Tz6mKg+EZUK
+gF9JcotdH6kMX/wdzC5x+RJsjuES0TWGN2OeMHA2MKdSIV36GXlUKaLmNgWw4Xp3
+b9B9OMyUamuQOmOQsHLP1vcCg+ptUylNGCef5e0QoeJtfen2ReAZYOe1oLdzLcRI
+0/DbdqzBtkJkvIZdyG846irajAKzwcXf0JmRzdZlbb17+zY0H7a8Cdj+DF+4AFTd
+G2iOlJptYk6wB69eg85cdlD/Or5F0ogA7mtDy6CdF4r2jqJAXop4gvn0OY6ZyrPW
+9yWHkjepSx5uVjdgYMiTVnG8OeCC06uGqxUTjlyrP/UcsgrY7io7n4S8sfyCEAqE
+J3XAVmdKaGGiVBibsa58OKTnPjmSNZBENJ3tLKJyFc97dYxUQzA=
+=JXuH
+-END PGP SIGNATURE-

Added: 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.sha512
==
--- 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.sha512
 (added)
+++ 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip.sha512
 Sat May 11 03:01:11 2024
@@ -0,0 +1 @@
+83a35725c3a3ad1891a49d745cbdd49e0ef5ee0acbef56fa7d641da4a32e90c4dbb7f85161d212250ec495fa0b626da14458628a63bc0a4ddc6d319e5797c5f1
 *apache-servicecomb-java-chassis-distribution-3.1.1-bin.zip

Added: 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip
==
Binary file - no diff available.

Propchange: 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip
--
svn:mime-type = application/octet-stream

Added: 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip.asc
==
--- 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip.asc
 (added)
+++ 
dev/servicecomb/servicecomb-java-chassis/3.1.1/apache-servicecomb-java-chassis-distribution-3.1.1-src.zip.asc
 Sat May 11 03:01:11 2024
@@ -0,0 +1,16 @@
+-BEGIN PGP SIGNATURE-
+
+iQIzBAABCgAdFiEEgr9EsxMxTagaNq1NQCyw93alAPoFAmY+3fgACgkQQCyw93al
+APrdYRAAhAXYi11jI8DV6s6tWBUc3rtIZ4OBnA6qgTKi2x6b05reCNAbn7Ysq/js
+N3eARM5RzjhDFLe5Z4C1Fxl8Eu5al3W9+IU/ZwAo7axMEYaF4poIdYmf9UQgeral
+GpcjQLM7Iswesld5ahnID0sRc013O2/aIyFrU9lfERLsWXBxl4WIbM/CUsPpoozt
+/6BqHy6KWbaN+1aRiDMnCeXt3nO0eqPsc/1YOJIGaAJtm0w6lNPRI3pIWd1EDLv0
+7HLt02UzDaTiXLbZYm68iyoBc7yRYG46PbvOuS8O/4XLrY8871g8R4/8owspPRLn
+BmTUbhlQlWcoWpMu+vQ3Pk+oLrggvqT0q4Vsyslq4pOQHwlqPHN1CvToStWxNFeu
+sWJvC4jwBwHGgObCb8tlPcxz6IuvHvCQvCa+q5P9p9vPYlCunyqO+R9tHMn24Uhl
+zc/9fbS5xPpZi4PYaJt+qWlxg93FNuva5s9WvXfGCcGTwJrj/gtzr3zOZ9IU5Fai
+st9

(servicecomb-java-chassis) branch master updated: [SCB-2878]operation based load balancer (#4332)

2024-05-10 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new ba06fef1c [SCB-2878]operation based load balancer (#4332)
ba06fef1c is described below

commit ba06fef1c8e20c11beee33cf41955752db921719
Author: liubao68 
AuthorDate: Fri May 10 14:49:48 2024 +0800

[SCB-2878]operation based load balancer (#4332)
---
 .../servicecomb/core/NonSwaggerInvocation.java |   4 +-
 .../registry/discovery/DiscoveryTree.java  |  10 +-
 .../servicecomb/loadbalance/Configuration.java | 142 +
 .../servicecomb/loadbalance/ExtensionsFactory.java |   4 -
 .../servicecomb/loadbalance/ExtensionsManager.java |  14 +-
 .../servicecomb/loadbalance/LoadBalanceFilter.java |  51 +---
 .../loadbalance/TestExtensionsManager.java |  13 +-
 7 files changed, 84 insertions(+), 154 deletions(-)

diff --git 
a/core/src/main/java/org/apache/servicecomb/core/NonSwaggerInvocation.java 
b/core/src/main/java/org/apache/servicecomb/core/NonSwaggerInvocation.java
index d1f97d77c..e7f903e75 100644
--- a/core/src/main/java/org/apache/servicecomb/core/NonSwaggerInvocation.java
+++ b/core/src/main/java/org/apache/servicecomb/core/NonSwaggerInvocation.java
@@ -29,12 +29,12 @@ public class NonSwaggerInvocation extends Invocation {
 
   @Override
   public String getSchemaId() {
-throw new UnsupportedOperationException();
+return "third-schema";
   }
 
   @Override
   public String getOperationName() {
-throw new UnsupportedOperationException();
+return "third-operation";
   }
 
   @Override
diff --git 
a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/discovery/DiscoveryTree.java
 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/discovery/DiscoveryTree.java
index d040cf447..c7b70f606 100644
--- 
a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/discovery/DiscoveryTree.java
+++ 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/discovery/DiscoveryTree.java
@@ -92,10 +92,14 @@ public class DiscoveryTree {
   }
 
   private void log() {
+StringBuilder sb = new StringBuilder();
+sb.append("DiscoveryFilters(name, enabled, order, group):");
 for (DiscoveryFilter filter : filters) {
-  LOGGER.info("DiscoveryFilter {}, enabled {}, order {}.",
-  filter.getClass().getName(), filter.enabled(), filter.getOrder());
+  sb.append("(").append(filter.getClass().getName()).append(",")
+  
.append(filter.enabled()).append(",").append(filter.getOrder()).append(",")
+  .append(filter.isGroupingFilter()).append(")");
 }
+LOGGER.info(sb.toString());
   }
 
   boolean isMatch(VersionedCache existing, VersionedCache inputCache) {
@@ -181,7 +185,7 @@ public class DiscoveryTree {
 }
 
 // no rerun support, go on even result is empty
-// because maybe some filter use other mechanism to create a 
instance(eg:domain name)
+// because maybe some filter use other mechanism to create an 
instance(eg:domain name)
   }
 
   parent = child;
diff --git 
a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/Configuration.java
 
b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/Configuration.java
index 61f7a2eee..e7dabe3d5 100644
--- 
a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/Configuration.java
+++ 
b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/Configuration.java
@@ -20,6 +20,7 @@ package org.apache.servicecomb.loadbalance;
 import java.util.Map;
 
 import org.apache.servicecomb.config.ConfigUtil;
+import org.apache.servicecomb.core.Invocation;
 import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
 
 /**
@@ -30,55 +31,62 @@ public final class Configuration {
    2.1 configuration items
   public static final String ROOT = "servicecomb.loadbalance.";
 
-  public static final String SERVER_EXPIRED_IN_SECONDS = 
"servicecomb.loadbalance.stats.serverExpiredInSeconds";
-
-  public static final String TIMER_INTERVAL_IN_MILLIS = 
"servicecomb.loadbalance.stats.timerIntervalInMillis";
+  public static final String RULE_STRATEGY_GLOBAL = 
"servicecomb.loadbalance.strategy.name";
 
   public static final String RULE_STRATEGY_NAME = "strategy.name";
 
   // 2.0 configuration items
   public static final String ROOT_20 = "ribbon.";
 
-  // retry configurations
-  public static final String RETRY_HANDLER = "retryHandler";
-
   // SessionStickinessRule configruation
   public static final String SESSION_TIMEOUT_IN_SEC

(servicecomb-fence) 02/03: update to 3.x part2: spring boot

2024-05-09 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git

commit af8fe1e691d93f07942aa55ee3ded3347d80d8b9
Author: liubao 
AuthorDate: Thu May 9 15:32:50 2024 +0800

update to 3.x part2: spring boot
---
 authentication-server/pom.xml  |  8 +--
 .../fence/authentication/TokenEndpoint.java|  2 +-
 .../fence/authentication/user/TokenMapper.java | 21 --
 .../fence/authentication/user/UserMapper.java  | 17 +
 .../META-INF/spring/authentication.server.bean.xml | 46 -
 .../{microservice.yaml => application.yml} | 44 ++--
 .../src/main/resources/config/TokenMapper.xml  | 35 --
 .../src/main/resources/config/UserMapper.xml   | 47 -
 .../src/main/resources/config/mybatis-config.xml   | 22 --
 .../src/main/resources/log4j2.xml  | 71 +++
 .../src/main/resources/logback.xml | 79 --
 .../src/main/resources/sql/user.sql|  2 +-
 .../fence/edge/AuthenticationConfiguration.java| 10 +++
 ...hHandler.java => AuthenticationEdgeFilter.java} | 20 +-
 .../fence/edge/AuthenticationFilter.java   | 57 
 .../edge/AuthenticationServerTokenEndpoint.java|  6 +-
 ...sHandler.java => InternalAccessEdgeFilter.java} |  7 +-
 .../servicecomb/fence/edge/TokenEndpoint.java  |  2 +-
 ...servicecomb.common.rest.filter.HttpServerFilter | 18 -
 .../{microservice.yaml => application.yml} | 47 -
 .../src/main/resources/config/cse.handler.xml  | 23 ---
 edge-service/src/main/resources/log4j2.xml | 71 +++
 edge-service/src/main/resources/logback.xml| 79 --
 pom.xml| 37 +++---
 ...> AccessDeniedExceptionExceptionConverter.java} | 21 +++---
 .../fence/resource/AccessDynamicProperties.java|  2 +-
 .../fence/resource/AuthFiltersBean.java| 41 ---
 .../resource/AuthenticationConfiguration.java  |  6 +-
 ...dler.java => AuthenticationProviderFilter.java} | 18 +++--
 ...ava => ConfigBasedAuthorizationAuthFilter.java} |  4 +-
 servicecomb.core.exception.ExceptionConverter} |  2 +-
 .../{microservice.yaml => application.yml} | 47 +
 .../src/main/resources/config/cse.handler.xml  | 21 --
 resource-server/src/main/resources/log4j2.xml  | 71 +++
 resource-server/src/main/resources/logback.xml | 79 --
 35 files changed, 395 insertions(+), 688 deletions(-)

diff --git a/authentication-server/pom.xml b/authentication-server/pom.xml
index b09bf40..a2cce8a 100644
--- a/authentication-server/pom.xml
+++ b/authentication-server/pom.xml
@@ -50,10 +50,6 @@
   org.apache.servicecomb
   registry-local
 
-
-  org.mybatis
-  mybatis
-
 
   mysql
   mysql-connector-java
@@ -63,8 +59,8 @@
   commons-dbcp2
 
 
-  org.mybatis
-  mybatis-spring
+  org.mybatis.spring.boot
+  mybatis-spring-boot-starter
 
 
   org.springframework
diff --git 
a/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/TokenEndpoint.java
 
b/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/TokenEndpoint.java
index b4734f8..ed66944 100644
--- 
a/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/TokenEndpoint.java
+++ 
b/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/TokenEndpoint.java
@@ -48,7 +48,7 @@ public class TokenEndpoint implements TokenService {
   private OpenIDTokenStore store;
 
   @Override
-  @PostMapping(path = "/", consumes = MediaType.APPLICATION_FORM_URLENCODED)
+  @PostMapping(path = "/", consumes = MediaType.APPLICATION_JSON)
   public OpenIDToken grantToken(@RequestBody Map parameters) {
 String grantType = 
parameters.get(AuthenticationServerConstants.PARAM_GRANT_TYPE);
 
diff --git 
a/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/user/TokenMapper.java
 
b/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/user/TokenMapper.java
index 6a32f9c..1742f36 100644
--- 
a/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/user/TokenMapper.java
+++ 
b/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/user/TokenMapper.java
@@ -17,16 +17,27 @@
 
 package org.apache.servicecomb.fence.authentication.user;
 
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
+@Mapper
 public interface TokenMapper {
-  public void i

(servicecomb-fence) 03/03: fix not response when auth fail

2024-05-09 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git

commit a893f8808b39605b855847e75c5770570ac7fd03
Author: liubao 
AuthorDate: Fri May 10 10:59:09 2024 +0800

fix not response when auth fail
---
 README_ZH.md | 2 +-
 .../java/org/apache/servicecomb/fence/edge/TokenEndpoint.java| 9 +
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/README_ZH.md b/README_ZH.md
index 831c8f9..9109615 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -29,7 +29,7 @@ build_and_run.bat
 
 * 使用演示界面
 
-进入页面,使用admin/changeMyPassword登录
+进入页面,使用 `admin/changeMyPassword` 登录
 ```
 http://localhost:9090/ui/login.html
 ```
diff --git 
a/edge-service/src/main/java/org/apache/servicecomb/fence/edge/TokenEndpoint.java
 
b/edge-service/src/main/java/org/apache/servicecomb/fence/edge/TokenEndpoint.java
index 8d88b1e..2a9c28c 100644
--- 
a/edge-service/src/main/java/org/apache/servicecomb/fence/edge/TokenEndpoint.java
+++ 
b/edge-service/src/main/java/org/apache/servicecomb/fence/edge/TokenEndpoint.java
@@ -23,11 +23,15 @@ import java.util.concurrent.CompletableFuture;
 import org.apache.servicecomb.fence.token.OpenIDToken;
 import org.apache.servicecomb.provider.pojo.RpcReference;
 import org.apache.servicecomb.provider.rest.common.RestSchema;
+import org.apache.servicecomb.swagger.invocation.exception.CommonExceptionData;
+import org.apache.servicecomb.swagger.invocation.exception.InvocationException;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
+import jakarta.ws.rs.core.Response.Status;
+
 @RestSchema(schemaId = "TokenEndpoint")
 @RequestMapping(path = "/v1/token")
 public class TokenEndpoint implements TokenService {
@@ -43,6 +47,11 @@ public class TokenEndpoint implements TokenService {
 authenticationSererTokenEndpoint.grantToken(parameters);
 response.whenComplete((tokenResonse, ex) -> {
   if (!response.isCompletedExceptionally()) {
+if (tokenResonse == null) {
+  result.completeExceptionally(new 
InvocationException(Status.FORBIDDEN,
+  new CommonExceptionData("Invalid credentials")));
+  return;
+}
 result.complete(TokenResponse.fromOpenIDToken(tokenResonse));
   } else {
 result.completeExceptionally(ex);



(servicecomb-fence) 01/03: update to 3.x

2024-05-09 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git

commit a74a437f7360f13fa0d1bc9c3c3d28d87480
Author: liubao 
AuthorDate: Wed May 8 11:28:21 2024 +0800

update to 3.x
---
 authentication-server/pom.xml  |  4 +-
 .../fence/AuthenticationServerApplication.java |  2 -
 .../AuthenticationConfiguration.java   |  2 +-
 .../fence/authentication/GithubOAuthService.java   | 11 +++--
 .../authentication/GithubOAuthServiceRegister.java | 39 +
 .../fence/authentication/GithubTokenGranter.java   | 15 ---
 .../fence/authentication/PasswordTokenGranter.java |  9 ++--
 .../authentication/RefreshTokenTokenGranter.java   |  9 ++--
 .../fence/authentication/TokenEndpoint.java| 11 ++---
 .../servicecomb/fence/EdgeServiceApplication.java  |  2 -
 .../apache/servicecomb/fence/edge/AuthHandler.java | 51 ++
 .../fence/edge/AuthenticationFilter.java   | 25 +++
 .../fence/edge/InternalAccessHandler.java  | 31 +
 .../fence/edge/StaticWebpageDispatcher.java|  9 ++--
 .../fence/AuthenticationClientMain.java|  2 -
 .../fence/tests/ITUriTemplateHandler.java  | 14 +++---
 pom.xml| 31 +
 .../fence/ResourceServerApplication.java   |  2 -
 .../fence/resource/ResourceAuthHandler.java| 24 +++---
 19 files changed, 168 insertions(+), 125 deletions(-)

diff --git a/authentication-server/pom.xml b/authentication-server/pom.xml
index 13f93a0..b09bf40 100644
--- a/authentication-server/pom.xml
+++ b/authentication-server/pom.xml
@@ -44,11 +44,11 @@
 
 
   org.apache.servicecomb
-  solution-basic
+  java-chassis-spring-boot-starter-standalone
 
 
   org.apache.servicecomb
-  java-chassis-spring-boot-starter-standalone
+  registry-local
 
 
   org.mybatis
diff --git 
a/authentication-server/src/main/java/org/apache/servicecomb/fence/AuthenticationServerApplication.java
 
b/authentication-server/src/main/java/org/apache/servicecomb/fence/AuthenticationServerApplication.java
index c2cd1bc..4aee6bb 100644
--- 
a/authentication-server/src/main/java/org/apache/servicecomb/fence/AuthenticationServerApplication.java
+++ 
b/authentication-server/src/main/java/org/apache/servicecomb/fence/AuthenticationServerApplication.java
@@ -17,13 +17,11 @@
 
 package org.apache.servicecomb.fence;
 
-import org.apache.servicecomb.springboot2.starter.EnableServiceComb;
 import org.springframework.boot.WebApplicationType;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.builder.SpringApplicationBuilder;
 
 @SpringBootApplication
-@EnableServiceComb
 public class AuthenticationServerApplication {
   public static void main(String[] args) {
 try {
diff --git 
a/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/AuthenticationConfiguration.java
 
b/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/AuthenticationConfiguration.java
index f89bf7c..6315eb5 100644
--- 
a/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/AuthenticationConfiguration.java
+++ 
b/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/AuthenticationConfiguration.java
@@ -35,7 +35,7 @@ import 
org.springframework.security.jwt.crypto.sign.SignerVerifier;
 public class AuthenticationConfiguration {
   @Bean(name = CommonConstants.BEAN_AUTH_PASSWORD_ENCODER)
   public PasswordEncoder authPasswordEncoder() {
-return new Pbkdf2PasswordEncoder();
+return Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_8();
   }
 
   @Bean(name = {CommonConstants.BEAN_AUTH_SIGNER, 
CommonConstants.BEAN_AUTH_SIGNATURE_VERIFIER})
diff --git 
a/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/GithubOAuthService.java
 
b/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/GithubOAuthService.java
index 108aff6..e4b03d3 100644
--- 
a/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/GithubOAuthService.java
+++ 
b/authentication-server/src/main/java/org/apache/servicecomb/fence/authentication/GithubOAuthService.java
@@ -17,17 +17,16 @@
 
 package org.apache.servicecomb.fence.authentication;
 
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-
 import org.springframework.http.MediaType;
 
-import io.swagger.annotations.Api;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 //see: 
https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/
 @Path("/login/oauth")
-@Api(produces = MediaType.APPLICATION_JSON_VALUE)

(servicecomb-fence) branch master updated (8c8abc6 -> a893f88)

2024-05-09 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


from 8c8abc6  [SCB-2740]refactor folder structure and api (#46)
 new a74a437  update to 3.x
 new af8fe1e  update to 3.x part2: spring boot
 new a893f88  fix not response when auth fail

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:
 README_ZH.md   |  2 +-
 authentication-server/pom.xml  | 12 ++--
 .../fence/AuthenticationServerApplication.java |  2 -
 .../AuthenticationConfiguration.java   |  2 +-
 .../fence/authentication/GithubOAuthService.java   | 11 ++-
 .../authentication/GithubOAuthServiceRegister.java | 39 ---
 .../fence/authentication/GithubTokenGranter.java   | 15 ++--
 .../fence/authentication/PasswordTokenGranter.java |  9 +--
 .../authentication/RefreshTokenTokenGranter.java   |  9 +--
 .../fence/authentication/TokenEndpoint.java| 13 ++--
 .../fence/authentication/user/TokenMapper.java | 21 --
 .../fence/authentication/user/UserMapper.java  | 17 +
 .../META-INF/spring/authentication.server.bean.xml | 46 -
 .../{microservice.yaml => application.yml} | 44 ++--
 .../src/main/resources/config/TokenMapper.xml  | 35 --
 .../src/main/resources/config/UserMapper.xml   | 47 -
 .../src/main/resources/config/mybatis-config.xml   | 22 --
 .../src/main/resources/log4j2.xml  | 71 +++
 .../src/main/resources/logback.xml | 79 --
 .../src/main/resources/sql/user.sql|  2 +-
 .../servicecomb/fence/EdgeServiceApplication.java  |  2 -
 .../fence/edge/AuthenticationConfiguration.java| 10 +++
 ...hHandler.java => AuthenticationEdgeFilter.java} | 65 --
 .../fence/edge/AuthenticationFilter.java   | 50 --
 .../edge/AuthenticationServerTokenEndpoint.java|  6 +-
 ...sHandler.java => InternalAccessEdgeFilter.java} | 32 ++---
 .../fence/edge/StaticWebpageDispatcher.java|  9 +--
 .../servicecomb/fence/edge/TokenEndpoint.java  | 11 ++-
 ...servicecomb.common.rest.filter.HttpServerFilter | 18 -
 .../{microservice.yaml => application.yml} | 47 -
 .../src/main/resources/config/cse.handler.xml  | 23 ---
 edge-service/src/main/resources/log4j2.xml | 71 +++
 edge-service/src/main/resources/logback.xml| 79 --
 .../fence/AuthenticationClientMain.java|  2 -
 .../fence/tests/ITUriTemplateHandler.java  | 14 ++--
 pom.xml| 66 ++
 .../fence/ResourceServerApplication.java   |  2 -
 ...> AccessDeniedExceptionExceptionConverter.java} | 21 +++---
 .../fence/resource/AccessDynamicProperties.java|  2 +-
 .../resource/AuthenticationConfiguration.java  |  6 +-
 ...Bean.java => AuthenticationProviderFilter.java} | 33 ++---
 ...ava => ConfigBasedAuthorizationAuthFilter.java} |  4 +-
 .../fence/resource/ResourceAuthHandler.java| 32 -
 servicecomb.core.exception.ExceptionConverter} |  2 +-
 .../{microservice.yaml => application.yml} | 47 +
 .../src/main/resources/config/cse.handler.xml  | 21 --
 resource-server/src/main/resources/log4j2.xml  | 71 +++
 resource-server/src/main/resources/logback.xml | 79 --
 48 files changed, 541 insertions(+), 782 deletions(-)
 delete mode 100644 
authentication-server/src/main/resources/META-INF/spring/authentication.server.bean.xml
 rename authentication-server/src/main/resources/{microservice.yaml => 
application.yml} (71%)
 delete mode 100644 
authentication-server/src/main/resources/config/TokenMapper.xml
 delete mode 100644 
authentication-server/src/main/resources/config/UserMapper.xml
 delete mode 100644 
authentication-server/src/main/resources/config/mybatis-config.xml
 create mode 100644 authentication-server/src/main/resources/log4j2.xml
 delete mode 100644 authentication-server/src/main/resources/logback.xml
 rename 
edge-service/src/main/java/org/apache/servicecomb/fence/edge/{AuthHandler.java 
=> AuthenticationEdgeFilter.java} (53%)
 delete mode 100644 
edge-service/src/main/java/org/apache/servicecomb/fence/edge/AuthenticationFilter.java
 rename 
edge-service/src/main/java/org/apache/servicecomb/fence/edge/{InternalAccessHandler.java
 => InternalAccessEdgeFilter.java} (54%)
 delete mode 100644 
edge-service/src/main/resources/META-INF/services/org.apache.servicecomb.common.rest.

(servicecomb-docs) branch master updated: improve 3rd invoke and load balance docs (#335)

2024-05-09 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-docs.git


The following commit(s) were added to refs/heads/master by this push:
 new 02fb60d  improve 3rd invoke and load balance docs (#335)
02fb60d is described below

commit 02fb60db2070facdae36274210ca47deedc4d81e
Author: liubao68 
AuthorDate: Fri May 10 10:31:24 2024 +0800

improve 3rd invoke and load balance docs (#335)
---
 .../build-consumer/3rd-party-service-invoke.md | 101 -
 java-chassis-reference/en_US/mkdocs.yml|   1 -
 .../build-consumer/3rd-party-service-invoke.md |  98 
 .../zh_CN/docs/references-handlers/loadbalance.md  |  25 +++--
 .../zh_CN/docs/registry/distributed.md |   2 +-
 .../zh_CN/docs/registry/local-registry.md  |   3 -
 java-chassis-reference/zh_CN/mkdocs.yml|   1 -
 7 files changed, 20 insertions(+), 211 deletions(-)

diff --git 
a/java-chassis-reference/en_US/docs/build-consumer/3rd-party-service-invoke.md 
b/java-chassis-reference/en_US/docs/build-consumer/3rd-party-service-invoke.md
deleted file mode 100644
index 1ab74eb..000
--- 
a/java-chassis-reference/en_US/docs/build-consumer/3rd-party-service-invoke.md
+++ /dev/null
@@ -1,101 +0,0 @@
-# Invoking 3rd party REST service
-
-## Concept Description
-
-ServiceComb allows users to register the information of 3rd party REST 
service, including endpoint and swagger, so that users can invoke 3rd party 
services like invoking ServiceComb provider services.
-Using this feature, all the requests sent to 3rd party service will be 
processed by consumer handler chain and HttpClientFilters, which means this 
feature allows service governance function on invoking 3rd party service, and 
other ServiceComb custom extension mechanism is also supported.
-
-## Sample Code
-
-1. Assume that there is a REST 3rd party service, whose listen port is 8080, 
and rest interface contract is like below:
-  ```yaml
-  ---
-  swagger: "2.0"
-  info:
-version: "0.0.1"
-title: "3rd party REST service for example"
-  basePath: "/rest"
-  consumes:
-  - "application/json"
-  produces:
-  - "text/plain"
-  paths:
-/{pathVar}:
-  get:
-operationId: "testPathVar"
-parameters:
-- name: "pathVar"
-  in: "path"
-  required: true
-  type: "string"
-responses:
-  200:
-description: "response of 200, return \"Received, OK. 
[${pathVar}]\""
-schema:
-  type: "string"
-  ```
-
-2. To invoke this service, a java interface class should be written according 
to the rest contract and annotated by rest annotations.
-  The way to write java interface class is similar to writing SpringMVC or 
JAX-RS style
-  ServiceComb provider service. Interface code is like below:
-  ```java
-  @Path("/rest")
-  @Api(produces = MediaType.TEXT_PLAIN)
-  public interface VertxServerIntf {
-@Path("/{pathVar}")
-@GET
-String testPathVar(@PathParam("pathVar") String pathVar);
-  }
-  ```
-
-3. Register the information of 3rd party rest service on consumer side:
-  ```java
-  String endpoint = "rest://127.0.0.1:8080";
-  RegistryUtils.getServiceRegistry().registerMicroserviceMappingByEndpoints(
-  // 3rd party rest service name, you can specify the name on your need as 
long as you obey the microservice naming rule
-  "thirdPartyService",
-  // service version
-  "0.0.1",
-  // list of endpoints
-  Collections.singletonList(endpoint),
-  // java interface class to generate swagger schema
-  ThirdPartyRestServiceInterface.class
-  );
-  ```
-
-4. Invoke 3rd party rest service in the way similar to invoking ServiceComb 
provider service.
-  Here is a RPC style invoking example:
-  ```java
-  // declare rpc reference to 3rd party rest service, schemaId is the same as 
microservice name
-  @RpcReference(microserviceName = "thirdPartyService", schemaId = 
"thirdPartyService")
-  ThirdPartyRestServiceInterface thirdPartyRestService;
-
-  @RequestMapping(path = "/{pathVar}", method = RequestMethod.GET)
-  public String testInvoke(@PathVariable(name = "pathVar") String pathVar) {
-LOGGER.info("testInvoke() is called, pathVar = [{}]", pathVar);
-// invoke 3rd party rest service
-String response = thirdPartyRestService.testPathVar(pathVar);
-LOGGER.info("testInvoke() response = [{}]", response);
-return response;
-  }
-  ```
-
-5. Service governance on invoking 3rd party REST service
-
-  The service governance configuration on invoking 3rd party REST service is 
similar to the scenario t

(servicecomb-java-chassis) branch master updated: [SCB-2877]Fix zookeeper cache instances by application name problem (#4329)

2024-05-09 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new f3ad2047b [SCB-2877]Fix zookeeper cache instances by application name 
problem (#4329)
f3ad2047b is described below

commit f3ad2047b9cf09901f843f4c4c9f66dc9df527c5
Author: liubao68 
AuthorDate: Thu May 9 14:08:07 2024 +0800

[SCB-2877]Fix zookeeper cache instances by application name problem (#4329)
---
 .../apache/servicecomb/registry/zookeeper/ZookeeperDiscovery.java| 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git 
a/service-registry/registry-zookeeper/src/main/java/org/apache/servicecomb/registry/zookeeper/ZookeeperDiscovery.java
 
b/service-registry/registry-zookeeper/src/main/java/org/apache/servicecomb/registry/zookeeper/ZookeeperDiscovery.java
index 4d871b3a1..c421a7022 100644
--- 
a/service-registry/registry-zookeeper/src/main/java/org/apache/servicecomb/registry/zookeeper/ZookeeperDiscovery.java
+++ 
b/service-registry/registry-zookeeper/src/main/java/org/apache/servicecomb/registry/zookeeper/ZookeeperDiscovery.java
@@ -73,7 +73,7 @@ public class ZookeeperDiscovery implements 
Discovery
 
   private static final Logger LOGGER = 
LoggerFactory.getLogger(ZookeeperDiscovery.class);
 
-  private final Map> 
serviceDiscoveries =
+  private final Map>> 
serviceDiscoveries =
   new ConcurrentHashMapEx<>();
 
   private Environment environment;
@@ -112,7 +112,8 @@ public class ZookeeperDiscovery implements 
Discovery
   @Override
   public List findServiceInstances(String 
application, String serviceName) {
 try {
-  ServiceCache discovery = 
serviceDiscoveries.computeIfAbsent(application, app -> {
+  ServiceCache discovery = 
serviceDiscoveries.computeIfAbsent(application, app ->
+  new ConcurrentHashMapEx<>()).computeIfAbsent(serviceName, name -> {
 JsonInstanceSerializer serializer =
 new JsonInstanceSerializer<>(ZookeeperInstance.class);
 ServiceDiscovery dis = 
ServiceDiscoveryBuilder.builder(ZookeeperInstance.class)



(servicecomb-java-chassis) branch liubao_master deleted (was 7b437fd27)

2024-05-08 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch liubao_master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


 was 7b437fd27 [SCB-2877]Fix zookeeper cache instances by application name 
problem

This change permanently discards the following revisions:

 discard 7b437fd27 [SCB-2877]Fix zookeeper cache instances by application name 
problem



(servicecomb-java-chassis) 01/01: [SCB-2877]Fix zookeeper cache instances by application name problem

2024-05-08 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch liubao_master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git

commit 7b437fd27ac9810a1f92c61dc6610c284e233d0e
Author: liubao 
AuthorDate: Thu May 9 11:40:57 2024 +0800

[SCB-2877]Fix zookeeper cache instances by application name problem
---
 .../apache/servicecomb/registry/zookeeper/ZookeeperDiscovery.java| 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git 
a/service-registry/registry-zookeeper/src/main/java/org/apache/servicecomb/registry/zookeeper/ZookeeperDiscovery.java
 
b/service-registry/registry-zookeeper/src/main/java/org/apache/servicecomb/registry/zookeeper/ZookeeperDiscovery.java
index 4d871b3a1..c421a7022 100644
--- 
a/service-registry/registry-zookeeper/src/main/java/org/apache/servicecomb/registry/zookeeper/ZookeeperDiscovery.java
+++ 
b/service-registry/registry-zookeeper/src/main/java/org/apache/servicecomb/registry/zookeeper/ZookeeperDiscovery.java
@@ -73,7 +73,7 @@ public class ZookeeperDiscovery implements 
Discovery
 
   private static final Logger LOGGER = 
LoggerFactory.getLogger(ZookeeperDiscovery.class);
 
-  private final Map> 
serviceDiscoveries =
+  private final Map>> 
serviceDiscoveries =
   new ConcurrentHashMapEx<>();
 
   private Environment environment;
@@ -112,7 +112,8 @@ public class ZookeeperDiscovery implements 
Discovery
   @Override
   public List findServiceInstances(String 
application, String serviceName) {
 try {
-  ServiceCache discovery = 
serviceDiscoveries.computeIfAbsent(application, app -> {
+  ServiceCache discovery = 
serviceDiscoveries.computeIfAbsent(application, app ->
+  new ConcurrentHashMapEx<>()).computeIfAbsent(serviceName, name -> {
 JsonInstanceSerializer serializer =
 new JsonInstanceSerializer<>(ZookeeperInstance.class);
 ServiceDiscovery dis = 
ServiceDiscoveryBuilder.builder(ZookeeperInstance.class)



(servicecomb-java-chassis) branch liubao_master created (now 7b437fd27)

2024-05-08 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch liubao_master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


  at 7b437fd27 [SCB-2877]Fix zookeeper cache instances by application name 
problem

This branch includes the following new commits:

 new 7b437fd27 [SCB-2877]Fix zookeeper cache instances by application name 
problem

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.




(servicecomb-fence) tag v0.3-alpha created (now 8c8abc6)

2024-05-07 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to tag v0.3-alpha
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git


  at 8c8abc6  (commit)
No new revisions were added by this update.



(servicecomb-docs) branch master updated: fix tag reference (#334)

2024-05-07 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-docs.git


The following commit(s) were added to refs/heads/master by this push:
 new 30da40c  fix tag reference (#334)
30da40c is described below

commit 30da40ca9c8b2f374c945e961a4b426e266af625
Author: liubao68 
AuthorDate: Tue May 7 14:19:41 2024 +0800

fix tag reference (#334)
---
 java-chassis-reference/zh_CN/docs/config/zookeeper.md | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/java-chassis-reference/zh_CN/docs/config/zookeeper.md 
b/java-chassis-reference/zh_CN/docs/config/zookeeper.md
index 70fda66..42e6246 100644
--- a/java-chassis-reference/zh_CN/docs/config/zookeeper.md
+++ b/java-chassis-reference/zh_CN/docs/config/zookeeper.md
@@ -65,13 +65,16 @@ servicecomb:
   ${environment}:
 ${application}:
   ${service}:
-${tag}:
-  exampleText: exampleTextValue
-  exampleYaml.yaml: exampleYamlValue
-  exampleYaml.yml: exampleYamlValue
-  exampleProperties.properties: examplePropertiesValue
+${version}:
+  ${tag}:
+exampleText: exampleTextValue
+exampleYaml.yaml: exampleYamlValue
+exampleYaml.yml: exampleYamlValue
+exampleProperties.properties: examplePropertiesValue
 ```
 
+配置文件的类型根据KEY的后缀确定。目前会解析 `.yaml`、`.yml`、`.properties`后缀,其他情况钧视为普通的key-value对。
+
 * 配置项参考
 
 | 配置项名  | 默认值| 是否必须 | 含义   
 | 
@@ -81,3 +84,4 @@ servicecomb:
 | servicecomb.config.zk.authenticationInfo  | 空  | 否| 
当认证方式为 digest 的时候,配置用户名密码信息,比如: user:password |
 | servicecomb.config.zk.connectionTimeoutMillis | 1000   | 否| 
连接超时时间|
 | servicecomb.config.zk.sessionTimeoutMillis| 6  | 否| 
会话超时时间|
+| servicecomb.config.zk.instance-tag| 空  | 否| 
实例的TAG信息,用于TAG级别的配置查询 |



(servicecomb-java-chassis) branch master updated: [SCB-2874]Fix zookeeper config not read tag value (#4328)

2024-05-06 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new ce606ab45 [SCB-2874]Fix zookeeper config not read tag value (#4328)
ce606ab45 is described below

commit ce606ab4527a3e3df3e915b4fa56481b7c8397f0
Author: liubao68 
AuthorDate: Tue May 7 12:00:37 2024 +0800

[SCB-2874]Fix zookeeper config not read tag value (#4328)
---
 .../org/apache/servicecomb/samples/ProviderController.java  | 13 -
 .../provider/src/main/resources/application.yml |  1 +
 .../java/org/apache/servicecomb/samples/HelloWorldIT.java   |  3 +++
 .../servicecomb/config/zookeeper/ZookeeperClient.java   |  8 ++--
 .../servicecomb/config/zookeeper/ZookeeperConfig.java   |  6 ++
 5 files changed, 28 insertions(+), 3 deletions(-)

diff --git 
a/demo/demo-zookeeper/provider/src/main/java/org/apache/servicecomb/samples/ProviderController.java
 
b/demo/demo-zookeeper/provider/src/main/java/org/apache/servicecomb/samples/ProviderController.java
index cfde7955d..a238d77be 100644
--- 
a/demo/demo-zookeeper/provider/src/main/java/org/apache/servicecomb/samples/ProviderController.java
+++ 
b/demo/demo-zookeeper/provider/src/main/java/org/apache/servicecomb/samples/ProviderController.java
@@ -87,7 +87,18 @@ public class ProviderController implements InitializingBean {
   client.delete().forPath(path + "/config.properties");
 }
 client.create().creatingParentsIfNeeded().
-forPath(path + "/config.properties", 
"key2=3".getBytes(StandardCharsets.UTF_8));
+forPath(path + "/config.properties", 
"key2=3\nkey3=4".getBytes(StandardCharsets.UTF_8));
+
+path = String.format(ZookeeperClient.PATH_TAG, env,
+BootStrapProperties.readApplication(environment),
+BootStrapProperties.readServiceName(environment),
+BootStrapProperties.readServiceVersion(environment),
+zookeeperConfig.getInstanceTag());
+if (client.checkExists().forPath(path + "/config.properties") != null) {
+  client.delete().forPath(path + "/config.properties");
+}
+client.create().creatingParentsIfNeeded().
+forPath(path + "/config.properties", 
"key2=3\nkey3=5".getBytes(StandardCharsets.UTF_8));
 
 client.close();
   }
diff --git a/demo/demo-zookeeper/provider/src/main/resources/application.yml 
b/demo/demo-zookeeper/provider/src/main/resources/application.yml
index c13190f26..5707f0c12 100644
--- a/demo/demo-zookeeper/provider/src/main/resources/application.yml
+++ b/demo/demo-zookeeper/provider/src/main/resources/application.yml
@@ -29,6 +29,7 @@ servicecomb:
   config:
 zk:
   connectString: 127.0.0.1:2181
+  instance-tag: config-demo
 
   rest:
 address: 0.0.0.0:9094
diff --git 
a/demo/demo-zookeeper/test-client/src/main/java/org/apache/servicecomb/samples/HelloWorldIT.java
 
b/demo/demo-zookeeper/test-client/src/main/java/org/apache/servicecomb/samples/HelloWorldIT.java
index f4cce5576..c24a8796c 100644
--- 
a/demo/demo-zookeeper/test-client/src/main/java/org/apache/servicecomb/samples/HelloWorldIT.java
+++ 
b/demo/demo-zookeeper/test-client/src/main/java/org/apache/servicecomb/samples/HelloWorldIT.java
@@ -40,6 +40,9 @@ public class HelloWorldIT implements CategorizedTestCase {
 result = template
 .getForObject(Config.GATEWAY_URL + "/getConfig?key=key2", 
String.class);
 TestMgr.check("3", result);
+result = template
+.getForObject(Config.GATEWAY_URL + "/getConfig?key=key3", 
String.class);
+TestMgr.check("5", result);
   }
 
   private void testHelloWorld() {
diff --git 
a/dynamic-config/config-zookeeper/src/main/java/org/apache/servicecomb/config/zookeeper/ZookeeperClient.java
 
b/dynamic-config/config-zookeeper/src/main/java/org/apache/servicecomb/config/zookeeper/ZookeeperClient.java
index 32554923e..407c577d4 100644
--- 
a/dynamic-config/config-zookeeper/src/main/java/org/apache/servicecomb/config/zookeeper/ZookeeperClient.java
+++ 
b/dynamic-config/config-zookeeper/src/main/java/org/apache/servicecomb/config/zookeeper/ZookeeperClient.java
@@ -75,7 +75,7 @@ public class ZookeeperClient {
 
   public static final String PATH_VERSION = 
"/servicecomb/config/version/%s/%s/%s/%s";
 
-  public static final String PATH_TAG = "/servicecomb/config/tag/%s/%s/%s/%s";
+  public static final String PATH_TAG = 
"/servicecomb/config/tag/%s/%s/%s/%s/%s";
 
   private final UpdateHandler updateHandler;
 
@@ -138,10 +138,14 @@ public class ZookeeperClient {
   }
 
   private void addTagConfig(String env, CuratorFramework client) throws 
Exception {
+if (StringUtils.isEmpty(zookeeperConfig.getInstanceTag())) {
+  return;
+}
   

(servicecomb-docs) branch master updated: update error handling SPI (#333)

2024-05-06 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-docs.git


The following commit(s) were added to refs/heads/master by this push:
 new fd94c1d  update error handling SPI (#333)
fd94c1d is described below

commit fd94c1d7dab3d029f9a984f426008f9eaec25378
Author: liubao68 
AuthorDate: Mon May 6 15:53:46 2024 +0800

update error handling SPI (#333)
---
 .../zh_CN/docs/build-provider/multi-code.md|  14 ++-
 .../docs/build-provider/parameter-validator.md |  59 +++-
 .../docs/general-development/error-handling.md | 100 ++---
 3 files changed, 89 insertions(+), 84 deletions(-)

diff --git a/java-chassis-reference/zh_CN/docs/build-provider/multi-code.md 
b/java-chassis-reference/zh_CN/docs/build-provider/multi-code.md
index 0915357..cca263e 100644
--- a/java-chassis-reference/zh_CN/docs/build-provider/multi-code.md
+++ b/java-chassis-reference/zh_CN/docs/build-provider/multi-code.md
@@ -1,16 +1,14 @@
 # 多个返回值和错误码
 
-使用透明RPC开发服务提供者,开发者很容易理解一个接口只有一个返回值类型。使用REST风格(Spring MVC 或者 JAXRS),很多场景会碰到
-多个返回值和错误码的情况。和很多其他开发框架(比如Servlet、Spring MVC等)不一样,Java Chassis要求接口定义的返回值和错误码都
-必须显示的声明,即通过代码生成的swagger,必须包含所有的错误码描述和返回值类型描述。 在Java Chassis,无法使用隐藏参数、未声明
-的错误码。这样设计的直接好处是接口定义更加明确,不需要额外的文档帮助使用者理解接口的使用方法。 
+使用透明RPC开发服务提供者,开发者很容易理解一个接口只有一个返回值类型。使用REST风格(Spring MVC 或者 
JAXRS),很多场景会碰到多个返回值和错误码的情况。Java Chassis要求接口定义的返回值和错误码都
+必须显示的声明,即通过代码生成的swagger,必须包含所有的错误码描述和返回值类型描述。 在Java Chassis,无法使用隐藏参数、未声明 
的错误码。这样设计的直接好处是接口定义更加明确,不需要额外的文档帮助使用者理解接口的使用方法。 
 
-在前面的开发指导里面,主要介绍了一个返回值和一个错误码的情况(200)。 下面介绍如何使用多个错误码和返回值,同时会介绍如何返回额外的
-header参数。 
+>>> 
建议在进行API设计的时候,一个API只包含一个返回值类型,因为站在使用者的角度,不管使用RPC风格还是REST风格访问,都非常简洁和直观。保留多个返回值和错误码设计,更多的是为了API接口设计兼容的需要。
+
+在前面的开发指导里面,主要介绍了一个返回值和一个错误码的情况(200)。 下面介绍如何使用多个错误码和返回值,同时会介绍如何返回额外的header参数。 
 
 Java Chassis将错误码进行了分类:2xx错误码认为是一个正常的响应,一个接口只允许存在一个正常响应错误码;
-其他错误码认为是一个异常的响应,一个接口可以定义多个异常的响应,并且需要采用InvocationException的方式将异常抛出,每个错误码可以指定
-不同的响应类型。 
+其他错误码认为是一个异常的响应,一个接口可以定义多个异常的响应,并且需要采用InvocationException的式将异常抛出,每个错误码可以指定不同的响应类型。
 
 
 * 采用`ApiResponse`定义多个返回值和错误码
 
diff --git 
a/java-chassis-reference/zh_CN/docs/build-provider/parameter-validator.md 
b/java-chassis-reference/zh_CN/docs/build-provider/parameter-validator.md
index d36c4d2..9773c3c 100644
--- a/java-chassis-reference/zh_CN/docs/build-provider/parameter-validator.md
+++ b/java-chassis-reference/zh_CN/docs/build-provider/parameter-validator.md
@@ -50,7 +50,7 @@ public class Validator {
 
 * bean类验证
 
-需要在传入的Student对象前加@Valid,如上图sayHello\(@Valid Student student\)方法。
+需要在传入的Student对象前加 `@Valid`,如上图 `sayHello(@Valid Student student)` 方法。
 
 ```java
 public class Student {
@@ -80,37 +80,48 @@ public class Student {
 
 ## 自定义返回异常
 
-* 默认的参数效验器ParameterValidator已经实现了接口ProducerInvokeExtension,按照JSR 
349规范处理所需的参数验证。
+默认的参数效验器ParameterValidator已经实现了接口ProducerInvokeExtension,按照JSR 
349规范处理所需的参数验证。如果任何参数验证失败,缺省错误是 `BAD_REQUEST(400, "Bad Request")` 。 
返回错误支持自定义扩展,使用SPI机制。
 
-  如果任何参数验证失败,缺省错误是BAD\_REQUEST\(400, "Bad Request"\)。
+可以通过实现接口`ExceptionConverter`来自定义返回的错误信息,以`ConstraintViolationExceptionConverter`为例。
 
-  返回错误支持自定义扩展,使用SPI机制。
+1. 实现ExceptionConverter接口,重写方法,其中getOrder方法的返回结果表示该验证器的优先级,值越小优先级越高。
 
-* 
可以通过实现接口ExceptionToProducerResponseConverter来自定义返回的错误信息,以ConstraintViolationExceptionToProducerResponseConverter为例。
+```java
+public class ConstraintViolationExceptionConverter implements 
ExceptionConverter {
+  public static final int ORDER = Short.MAX_VALUE;
 
-  1. 
实现ExceptionToProducerResponseConverter接口,重写方法,其中getOrder方法的返回结果表示该验证器的优先级,值越小优先级越高。
+  public static final String KEY_CODE = "servicecomb.filters.validate.code";
 
- ```java
- public class ConstraintViolationExceptionToProducerResponseConverter
- implements 
ExceptionToProducerResponseConverter {
-   @Override
-   public Class getExceptionClass() {
- return ConstraintViolationException.class;
-   }
+  public ConstraintViolationExceptionConverter() {
+  }
 
-   @Override
-   public Response convert(SwaggerInvocation swaggerInvocation, 
ConstraintViolationException e) {
- return Response.createFail(new 
InvocationException(Status.BAD_REQUEST, 
e.getConstraintViolations().toString()));
-   }
+  @Override
+  public int getOrder() {
+return ORDER;
+  }
+
+  @Override
+  public boolean canConvert(Throwable throwable) {
+return throwable instanceof ConstraintViolationException;
+  }
+
+  @Override
+  public InvocationException convert(Invocation invocation, 
ConstraintViolationException throwable,
+  StatusType genericStatus) {
+List details = throwable.getConstraintViolations().stream()
+.map(violation -> new 
ValidateDetail(violation.getPropertyPath().toString(), violation.getMessage()))
+.collect(Collectors.toList());
+
+CommonExceptionData exceptionData = new 
CommonExceptionD

(servicecomb-java-chassis) branch 2.8.x updated: [#4303]compatible to old systems allowing different response type in exception processing(#4327)

2024-05-06 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch 2.8.x
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/2.8.x by this push:
 new 71591e884 [#4303]compatible to old systems allowing different response 
type in exception processing(#4327)
71591e884 is described below

commit 71591e884df882ca4d94d392a38480f9e69aa4d1
Author: liubao68 
AuthorDate: Mon May 6 14:42:25 2024 +0800

[#4303]compatible to old systems allowing different response type in 
exception processing(#4327)
---
 .../rest/filter/inner/ServerRestArgsFilter.java| 16 +++---
 .../demo/springmvc/SpringmvcClient.java|  1 +
 .../demo/springmvc/client/ResponseOKData.java  | 48 +
 .../demo/springmvc/client/TestDownloadSchema.java  | 63 --
 .../demo/springmvc/server/DownloadSchema.java  | 37 +++--
 .../demo/springmvc/server/ResponseOKData.java  | 44 +++
 .../demo/springmvc/server/ResponseOKException.java | 20 +++
 .../server/ResponseOKExceptionConverter.java   | 41 ++
 exception.ExceptionToProducerResponseConverter | 18 +++
 .../transport/highway/HighwayServerInvoke.java | 13 +++--
 10 files changed, 280 insertions(+), 21 deletions(-)

diff --git 
a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/filter/inner/ServerRestArgsFilter.java
 
b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/filter/inner/ServerRestArgsFilter.java
index 63ae8eea9..bef5b48a4 100644
--- 
a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/filter/inner/ServerRestArgsFilter.java
+++ 
b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/filter/inner/ServerRestArgsFilter.java
@@ -69,20 +69,20 @@ public class ServerRestArgsFilter implements 
HttpServerFilter {
 Response response = (Response) 
responseEx.getAttribute(RestConst.INVOCATION_HANDLER_RESPONSE);
 ProduceProcessor produceProcessor =
 (ProduceProcessor) 
responseEx.getAttribute(RestConst.INVOCATION_HANDLER_PROCESSOR);
-Object body = response.getResult();
-if (response.isFailed()) {
-  body = ((InvocationException) body).getErrorData();
-}
-
-if (null != invocation && isDownloadFileResponseType(invocation, 
response)) {
-  return responseEx.sendPart(PartUtils.getSinglePart(null, body));
+boolean failed = response.getResult() instanceof InvocationException;
+if (!failed && isDownloadFileResponseType(invocation, response)) {
+  return responseEx.sendPart(PartUtils.getSinglePart(null, 
response.getResult()));
 }
 
 responseEx.setContentType(produceProcessor.getName() + "; charset=utf-8");
 
 CompletableFuture future = new CompletableFuture<>();
 try (BufferOutputStream output = new 
BufferOutputStream(Unpooled.compositeBuffer())) {
-  produceProcessor.encodeResponse(output, body);
+  if (failed) {
+produceProcessor.encodeResponse(output, ((InvocationException) 
response.getResult()).getErrorData());
+  } else {
+produceProcessor.encodeResponse(output, response.getResult());
+  }
 
   responseEx.setBodyBuffer(output.getBuffer());
   future.complete(null);
diff --git 
a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/SpringmvcClient.java
 
b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/SpringmvcClient.java
index d7cfe67e7..ba487e52c 100644
--- 
a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/SpringmvcClient.java
+++ 
b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/SpringmvcClient.java
@@ -75,6 +75,7 @@ public class SpringmvcClient {
   LOGGER.error("-- test failed -");
 }
 TestMgr.summary();
+LOGGER.info("-- last time updated checks(maybe more/less): 
1222 -");
   }
 
   private static void changeTransport(String microserviceName, String 
transport) {
diff --git 
a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/ResponseOKData.java
 
b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/ResponseOKData.java
new file mode 100644
index 0..df2bf9c5f
--- /dev/null
+++ 
b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/ResponseOKData.java
@@ -0,0 +1,48 @@
+/*
+ * 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 "

(servicecomb-docs) branch master updated: add white/black rule descriptions (#332)

2024-05-06 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-docs.git


The following commit(s) were added to refs/heads/master by this push:
 new 87fb4df  add white/black rule descriptions (#332)
87fb4df is described below

commit 87fb4df259c077883e1fa18b8c66c6db92f3bc91
Author: Cheng YouLing <97039406+chengyoul...@users.noreply.github.com>
AuthorDate: Mon May 6 14:18:14 2024 +0800

add white/black rule descriptions (#332)
---
 .../en_US/docs/references-handlers/publickey.md   | 12 +++-
 .../zh_CN/docs/references-handlers/publickey.md   | 15 ++-
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/java-chassis-reference/en_US/docs/references-handlers/publickey.md 
b/java-chassis-reference/en_US/docs/references-handlers/publickey.md
index 6bc93d1..2000ec2 100644
--- a/java-chassis-reference/en_US/docs/references-handlers/publickey.md
+++ b/java-chassis-reference/en_US/docs/references-handlers/publickey.md
@@ -54,6 +54,16 @@ servicecomb:
   rule: cust*
 ```
 
-The above rules are configured with blacklists, which do not allow 
microservice names to be accessed by hackers; whitelists allow access to 
services with microservice names named cust.
+The above rules are configured with black and white rule. includePathPatterns 
is set the request path that needs auth, and excludePathPatterns is set the 
request path that not need auth. black/white is microservice black and white 
rules.
+
+IncludePathPatterns, excludePathPatterns Supports three types of matching 
rules: prefix (xxx/), suffix (/xxx) and exact match.
+
+Logic for determining whether the current request requires authentication:
+
+1.Check whether the path of current request matches the excludePathPatterns 
setting rule. If yes, authentication is not required.
+
+2.If excludePathPatterns does not match, check whether a rule is configured 
for includePathPatterns. If no, all requests need to be authenticated; If set, 
check whether the path of current request matches the rule. If yes, 
authentication is required. If no, authentication is not required.
+
+Microservice black/white determination rules: which do not allow microservice 
names to be accessed by hackers; whitelists allow access to services with 
microservice names named cust.
 
 ServiceComb provides [trust-sample] 
(https://github.com/apache/servicecomb-samples/tree/master/java-chassis-samples/trust-sample)
 to demonstrate the black and white list feature.
diff --git a/java-chassis-reference/zh_CN/docs/references-handlers/publickey.md 
b/java-chassis-reference/zh_CN/docs/references-handlers/publickey.md
index 583e9e6..1a754fb 100644
--- a/java-chassis-reference/zh_CN/docs/references-handlers/publickey.md
+++ b/java-chassis-reference/zh_CN/docs/references-handlers/publickey.md
@@ -16,6 +16,9 @@
 servicecomb:
   publicKey:
 accessControl:
+  enabled: true
+  includePathPatterns: '/authIncludePath'
+  excludePathPatterns: '/authExcludePath'
   black:
 list01:
   category: property ## property, fixed value
@@ -31,6 +34,16 @@ servicecomb:
   rule: cust*
 ```
 
-以上规则配置了黑名单,不允许微服务名称为hacker的访问;白名单,允许微服务名称为cust前缀的服务访问。
+以上为服务黑白名单规则配置,其中includePathPatterns为需要鉴权请求path,excludePathPatterns为不需要鉴权请求path,black/white分别为微服务黑白名单规则。
+
+includePathPatterns、excludePathPatterns规则设置支持前缀(xxx/)、后缀(/xxx)、精确三种匹配规则。
+
+判断当前请求是否需要鉴权逻辑:
+
+1、判断当前请求path是否能够匹配excludePathPatterns设置规则,如果匹配,则不需要鉴权;
+
+2、excludePathPatterns未满足条件,再判断includePathPatterns是否设置规则,如果未设置则所有请求均需要进行鉴权;如果有设置规则,则判断当前请求path是否能够匹配设置规则,如果匹配则需要鉴权,如果不匹配则不需要鉴权。
+
+微服务黑名单判断规则:不允许微服务名称为hacker的访问;白名单,允许微服务名称为cust前缀的服务访问。
 
 
ServiceComb提供了[trust-sample](https://github.com/apache/servicecomb-samples/tree/master/java-chassis-samples/trust-sample)来演示黑白名单功能。



(servicecomb-java-chassis) branch master updated: [SCB-2876]remove unused ExceptionToProducerResponseConverter SPI (#4326)

2024-05-05 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new 43d54c7d2 [SCB-2876]remove unused ExceptionToProducerResponseConverter 
SPI (#4326)
43d54c7d2 is described below

commit 43d54c7d22558a49758037a1afeaa6f50f8ebeac
Author: liubao68 
AuthorDate: Mon May 6 12:04:56 2024 +0800

[SCB-2876]remove unused ExceptionToProducerResponseConverter SPI (#4326)
---
 ...gumentExceptionToProducerResponseConverter.java |  46 -
 ...owableExceptionToProducerResponseConverter.java |  45 -
 exception.ExceptionToProducerResponseConverter |  19 ---
 .../impl/ErrorToProducerResponseConverter.java |  35 
 exception.ExceptionToProducerResponseConverter |  18 --
 ...efaultExceptionToProducerResponseConverter.java |  39 -
 ...faultExceptionToProducerResponseConverters.java |  78 -
 .../invocation/exception/ExceptionFactory.java |  12 +-
 .../ExceptionToProducerResponseConverter.java  |  36 
 .../ExceptionToProducerResponseConverters.java |  28 ---
 ...cationExceptionToProducerResponseConverter.java |  33 
 exception.ExceptionToProducerResponseConverter |  19 ---
 ...exception.ExceptionToProducerResponseConverters |  18 --
 .../ErrorToProducerResponseConverter.java  |  34 
 ...efaultExceptionToProducerResponseConverter.java |  40 -
 ...faultExceptionToProducerResponseConverters.java | 189 -
 .../invocation/exception/TestExceptionFactory.java |  34 
 ...cationExceptionToProducerResponseConverter.java |  40 -
 exception.ExceptionToProducerResponseConverter |  18 --
 ...lationExceptionToProducerResponseConverter.java |  43 -
 exception.ExceptionToProducerResponseConverter |  18 --
 21 files changed, 1 insertion(+), 841 deletions(-)

diff --git 
a/core/src/main/java/org/apache/servicecomb/core/exception/IllegalArgumentExceptionToProducerResponseConverter.java
 
b/core/src/main/java/org/apache/servicecomb/core/exception/IllegalArgumentExceptionToProducerResponseConverter.java
deleted file mode 100644
index 532c38b63..0
--- 
a/core/src/main/java/org/apache/servicecomb/core/exception/IllegalArgumentExceptionToProducerResponseConverter.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.core.exception;
-
-import jakarta.ws.rs.core.Response.Status;
-
-import org.apache.servicecomb.swagger.invocation.Response;
-import org.apache.servicecomb.swagger.invocation.SwaggerInvocation;
-import org.apache.servicecomb.swagger.invocation.exception.CommonExceptionData;
-import 
org.apache.servicecomb.swagger.invocation.exception.ExceptionToProducerResponseConverter;
-import org.apache.servicecomb.swagger.invocation.exception.InvocationException;
-
-public class IllegalArgumentExceptionToProducerResponseConverter implements
-ExceptionToProducerResponseConverter {
-  @Override
-  public Class getExceptionClass() {
-return IllegalArgumentException.class;
-  }
-
-  @Override
-  public int getOrder() {
-return 1;
-  }
-
-  @Override
-  public Response convert(SwaggerInvocation swaggerInvocation, 
IllegalArgumentException e) {
-InvocationException invocationException = new 
InvocationException(Status.BAD_REQUEST.getStatusCode(), "",
-new CommonExceptionData("Parameters not valid or types not match."), 
e);
-return Response.failResp(invocationException);
-  }
-}
diff --git 
a/core/src/main/java/org/apache/servicecomb/core/exception/ThrowableExceptionToProducerResponseConverter.java
 
b/core/src/main/java/org/apache/servicecomb/core/exception/ThrowableExceptionToProducerResponseConverter.java
deleted file mode 100644
index 501846426..0
--- 
a/core/src/main/java/org/apache/servicecomb/core/exception/ThrowableExceptionToProducerResponseConverter.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with

(servicecomb-java-chassis) branch master updated: [#4303]compatible to old systems allowing different response type in exception processing(#4307)

2024-05-05 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new 018a12f30 [#4303]compatible to old systems allowing different response 
type in exception processing(#4307)
018a12f30 is described below

commit 018a12f30f73556c38a16d1352e0e3bac3932341
Author: liubao68 
AuthorDate: Mon May 6 10:39:45 2024 +0800

[#4303]compatible to old systems allowing different response type in 
exception processing(#4307)
---
 .../common/rest/RestProducerInvocationFlow.java|  4 +-
 .../rest/filter/inner/RestServerCodecFilter.java   | 11 +++-
 .../core/exception/DefaultExceptionProcessor.java  |  3 +-
 .../apache/servicecomb/core/filter/FilterNode.java | 11 +---
 .../core/invocation/ProducerInvocationFlow.java| 72 --
 .../demo/springmvc/SpringmvcClient.java|  2 +-
 .../demo/springmvc/client/ResponseOKData.java  | 48 +++
 .../demo/springmvc/client/TestDownloadSchema.java  | 47 ++
 .../demo/springmvc/server/DownloadSchema.java  | 41 +---
 .../demo/springmvc/server/ResponseOKData.java  | 44 +
 .../demo/springmvc/server/ResponseOKException.java | 20 ++
 .../server/ResponseOKExceptionConverter.java   | 40 
 ...e.servicecomb.core.exception.ExceptionConverter | 18 ++
 .../highway/HighwayServerCodecFilter.java  | 12 +++-
 .../highway/HighwayServerCodecFilterTest.java  |  3 +-
 15 files changed, 305 insertions(+), 71 deletions(-)

diff --git 
a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/RestProducerInvocationFlow.java
 
b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/RestProducerInvocationFlow.java
index c8e32471f..b09406bd4 100644
--- 
a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/RestProducerInvocationFlow.java
+++ 
b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/RestProducerInvocationFlow.java
@@ -29,6 +29,7 @@ import 
org.apache.servicecomb.foundation.common.utils.PartUtils;
 import org.apache.servicecomb.foundation.vertx.http.HttpServletRequestEx;
 import org.apache.servicecomb.foundation.vertx.http.HttpServletResponseEx;
 import org.apache.servicecomb.swagger.invocation.Response;
+import org.apache.servicecomb.swagger.invocation.exception.InvocationException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -60,7 +61,8 @@ public class RestProducerInvocationFlow extends 
ProducerInvocationFlow {
   @Override
   protected void sendResponse(Invocation invocation, Response response) {
 invocation.getInvocationStageTrace().startProviderSendResponse();
-if (isDownloadFileResponseType(invocation, response)) {
+boolean failed = response.getResult() instanceof InvocationException;
+if (!failed && isDownloadFileResponseType(invocation, response)) {
   responseEx.sendPart(PartUtils.getSinglePart(null, response.getResult()))
   .whenComplete((r, e) -> flushResponse(invocation));
   return;
diff --git 
a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/filter/inner/RestServerCodecFilter.java
 
b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/filter/inner/RestServerCodecFilter.java
index d727a7141..b1b3c37b7 100644
--- 
a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/filter/inner/RestServerCodecFilter.java
+++ 
b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/filter/inner/RestServerCodecFilter.java
@@ -46,6 +46,7 @@ import 
org.apache.servicecomb.foundation.vertx.stream.BufferOutputStream;
 import org.apache.servicecomb.swagger.invocation.Response;
 import org.apache.servicecomb.swagger.invocation.context.TransportContext;
 import org.apache.servicecomb.swagger.invocation.exception.CommonExceptionData;
+import org.apache.servicecomb.swagger.invocation.exception.InvocationException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -124,13 +125,19 @@ public class RestServerCodecFilter extends AbstractFilter 
implements ProviderFil
 responseEx.setStatus(response.getStatusCode());
 copyHeadersToHttpResponse(response.getHeaders(), responseEx);
 
-if (download) {
+boolean failed = response.getResult() instanceof InvocationException;
+
+if (!failed && download) {
   return CompletableFuture.completedFuture(response);
 }
 
 responseEx.setContentType(produceProcessor.getName());
 try (BufferOutputStream output = new 
BufferOutputStream(Unpooled.compositeBuffer())) {
-  produceProcessor.encodeResponse(output, response.getResult());
+  if (failed) {
+produceProcessor.encodeResponse(output, ((InvocationException) 
response.getResult()).getErrorData());
+  } else {
+produceProcessor.en

(servicecomb-java-chassis) branch master updated: [#4300] black/white microservice authentication add apiWhiteList (#4301)

2024-05-05 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new 0c7f5e1bb [#4300] black/white microservice authentication add 
apiWhiteList (#4301)
0c7f5e1bb is described below

commit 0c7f5e1bb13e1f029f2fd861c5ff52b6fc8f5dfa
Author: Cheng YouLing <97039406+chengyoul...@users.noreply.github.com>
AuthorDate: Mon May 6 10:15:26 2024 +0800

[#4300] black/white microservice authentication add apiWhiteList (#4301)
---
 .../servicecomb/samples/ConsumerController.java|  5 ++
 .../servicecomb/samples/ProviderService.java   |  2 +
 .../consumer/src/main/resources/application.yml|  5 +-
 .../servicecomb/samples/ProviderController.java|  5 ++
 .../provider/src/main/resources/application.yml|  9 +++
 .../apache/servicecomb/samples/HelloWorldIT.java   | 11 +++
 .../authentication/provider/PathCheckUtils.java| 92 ++
 .../provider/ProviderAuthFilter.java   |  9 ++-
 8 files changed, 136 insertions(+), 2 deletions(-)

diff --git 
a/demo/demo-nacos/consumer/src/main/java/org/apache/servicecomb/samples/ConsumerController.java
 
b/demo/demo-nacos/consumer/src/main/java/org/apache/servicecomb/samples/ConsumerController.java
index 4ed0ecd85..437f88bfa 100644
--- 
a/demo/demo-nacos/consumer/src/main/java/org/apache/servicecomb/samples/ConsumerController.java
+++ 
b/demo/demo-nacos/consumer/src/main/java/org/apache/servicecomb/samples/ConsumerController.java
@@ -34,4 +34,9 @@ public class ConsumerController {
   public String sayHello(@RequestParam("name") String name) {
 return providerService.sayHello(name);
   }
+
+  @GetMapping("/authIncludePath")
+  public String authIncludePath() {
+return providerService.authIncludePath();
+  }
 }
diff --git 
a/demo/demo-nacos/consumer/src/main/java/org/apache/servicecomb/samples/ProviderService.java
 
b/demo/demo-nacos/consumer/src/main/java/org/apache/servicecomb/samples/ProviderService.java
index f327412b7..ee62a1106 100644
--- 
a/demo/demo-nacos/consumer/src/main/java/org/apache/servicecomb/samples/ProviderService.java
+++ 
b/demo/demo-nacos/consumer/src/main/java/org/apache/servicecomb/samples/ProviderService.java
@@ -19,4 +19,6 @@ package org.apache.servicecomb.samples;
 
 public interface ProviderService {
   String sayHello(String name);
+
+  String authIncludePath();
 }
diff --git a/demo/demo-nacos/consumer/src/main/resources/application.yml 
b/demo/demo-nacos/consumer/src/main/resources/application.yml
index 0110e6e27..d2317215e 100644
--- a/demo/demo-nacos/consumer/src/main/resources/application.yml
+++ b/demo/demo-nacos/consumer/src/main/resources/application.yml
@@ -29,5 +29,8 @@ servicecomb:
   rest:
 address: 0.0.0.0:9092
 
-
+  publicKey:
+accessControl:
+  enabled: true
+  excludePathPatterns: '/*'
 
diff --git 
a/demo/demo-nacos/provider/src/main/java/org/apache/servicecomb/samples/ProviderController.java
 
b/demo/demo-nacos/provider/src/main/java/org/apache/servicecomb/samples/ProviderController.java
index 6eea7776a..0076440d2 100644
--- 
a/demo/demo-nacos/provider/src/main/java/org/apache/servicecomb/samples/ProviderController.java
+++ 
b/demo/demo-nacos/provider/src/main/java/org/apache/servicecomb/samples/ProviderController.java
@@ -30,4 +30,9 @@ public class ProviderController {
   public String sayHello(@RequestParam("name") String name) {
 return "Hello " + name;
   }
+
+  @GetMapping("/authIncludePath")
+  public String authIncludePath() {
+return "success.";
+  }
 }
diff --git a/demo/demo-nacos/provider/src/main/resources/application.yml 
b/demo/demo-nacos/provider/src/main/resources/application.yml
index b24d281cd..ae6e029b7 100644
--- a/demo/demo-nacos/provider/src/main/resources/application.yml
+++ b/demo/demo-nacos/provider/src/main/resources/application.yml
@@ -31,3 +31,12 @@ servicecomb:
   rest:
 address: 0.0.0.0:9094
 
+  publicKey:
+accessControl:
+  enabled: true
+  includePathPatterns: '/authIncludePath'
+  black:
+authPath:
+  category: property
+  propertyName: serviceName
+  rule: consumer*
diff --git 
a/demo/demo-nacos/test-client/src/main/java/org/apache/servicecomb/samples/HelloWorldIT.java
 
b/demo/demo-nacos/test-client/src/main/java/org/apache/servicecomb/samples/HelloWorldIT.java
index 59d06bb1e..ad9460753 100644
--- 
a/demo/demo-nacos/test-client/src/main/java/org/apache/servicecomb/samples/HelloWorldIT.java
+++ 
b/demo/demo-nacos/test-client/src/main/java/org/apache/servicecomb/samples/HelloWorldIT.java
@@ -30,6 +30,7 @@ public class HelloWorldIT implements CategorizedTestCase {
   @Override
   public void testRestTransport() throws Exception {
 testHelloWorld();
+testAuthIncludePath();
   }
 
   private void testHell

(servicecomb-docs) branch master updated: add governance docs (#330)

2024-04-25 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-docs.git


The following commit(s) were added to refs/heads/master by this push:
 new fa1bb04  add governance docs (#330)
fa1bb04 is described below

commit fa1bb04c91aa97b62607c9e07fe70173d992e754
Author: liubao68 
AuthorDate: Thu Apr 25 17:47:35 2024 +0800

add governance docs (#330)
---
 .../references-handlers/gateway-governance.png | Bin 0 -> 69657 bytes
 .../governance-best-practise.md| 178 +
 .../zh_CN/docs/references-handlers/governance.md   |  98 ---
 .../zh_CN/docs/references-handlers/ratelimit.md|   2 +-
 .../docs/references-handlers/rule-governance.md| 296 +
 .../references-handlers/service-governance.png | Bin 0 -> 75797 bytes
 java-chassis-reference/zh_CN/mkdocs.yml|   3 +-
 7 files changed, 477 insertions(+), 100 deletions(-)

diff --git 
a/java-chassis-reference/zh_CN/docs/references-handlers/gateway-governance.png 
b/java-chassis-reference/zh_CN/docs/references-handlers/gateway-governance.png
new file mode 100644
index 000..3e78d7c
Binary files /dev/null and 
b/java-chassis-reference/zh_CN/docs/references-handlers/gateway-governance.png 
differ
diff --git 
a/java-chassis-reference/zh_CN/docs/references-handlers/governance-best-practise.md
 
b/java-chassis-reference/zh_CN/docs/references-handlers/governance-best-practise.md
new file mode 100644
index 000..07562da
--- /dev/null
+++ 
b/java-chassis-reference/zh_CN/docs/references-handlers/governance-best-practise.md
@@ -0,0 +1,178 @@
+# 流量特征治理最佳实践
+
+在[Java Chassis设计参考](../start/design.md)中总结了典型的微服务应用架构:
+
+![](../start/application-architect.png)
+
+参考这个架构,微服务系统有两个比较重要的微服务部件:应用网关和微服务。 
这两个部件是微服务治理的重点对象,它们所处的位置和作用存在一些差异,因此应用服务治理的策略也会有所不同。 本文以这个两个部件说明常见的治理策略设计。 
+
+首先,对应系统的所有API访问,做一个全局的业务定义。 
+
+```yaml
+servicecomb:
+  matchGroup:
+allOperation: |
+  matches:
+- apiPath:
+prefix: "/"
+```
+
+## 应用网关治理设计
+
+应用网关需要根据系统能够处理的最大流量,配置限流器,快速拒绝超过系统的流量,由用户(前端脚本)发起重试,在保证系统可用性的同时,尽可能降低对于用户体验的影响。还需要提供一定的基于背压的服务治理能力,比如如果后端服务某个实例不可用,或者某个服务刚刚启动完毕,需要初始化,发往这些服务的请求会表现为时延增加,如果不根据时延增加的反馈进行流量控制,就会导致用户体验极速下降。
+
+![](gateway-governance.png)
+
+应用网关配置限流器、熔断器和隔离仓。
+
+* 
服务端限流器:超过系统最大处理能力的请求场景,限流值的依据是压测的真实能力数据,可以控制在最大处理能力的80%左右。在系统上线初始阶段,默认设置全局限流器。在无法估算限流大小的时候,可以将流量限制设置为一个最大值,限流器也可以起到流量梳理平滑流量的作用。
+* 客户端熔断器:主要解决实例异常下线,本地缓存感知不及时的问题。实例熔断后会触发实例查询。因此,应用网关的熔断器的隔离时间会设置的比较短。
+* 
客户端隔离仓:主要解决故障场景,比如数据库故障恢复、实例重启等,系统吞吐量下降的情况;或者微服务第一次启动、微服务长期没有请求突然进来大量请求的场景,这些场景可以限制并发连接,避免造成微服务和网关CPU大量使用,请求超时。
+* 应用网关可选客户端容错配置。最佳的方案是由小程序、WEB端应用发起重试,进行客户端容错。 
+
+### 配置
+
+```yaml
+servicecomb:
+  matchGroup:
+allOperation: |
+  matches:
+   - apiPath:
+   prefix: "/"
+  rateLimiting:
+  ## 限流器每10毫秒允许通过100个请求,如果一个请求超过1000毫秒没有获取到
+  ## 许可,将被拒绝
+allOperation: |
+  rate: 100
+  limitRefreshPeriod: 10
+  timeoutDuration: 1000
+  instanceIsolation:
+  ## 熔断器错误率达到50%或者耗时请求达到100%,将开启。
+  ## 开启时间为5000毫秒,然后会放通10个请求。
+allOperation: |
+  minimumNumberOfCalls: 10
+  slidingWindowSize: 20
+  slidingWindowType: COUNT_BASED
+  failureRateThreshold: 50
+  slowCallRateThreshold: 100
+  slowCallDurationThreshold: 1000
+  waitDurationInOpenState: 5000
+  permittedNumberOfCallsInHalfOpenState: 10
+  instanceBulkhead:
+  ## 隔离仓限制正在处理的请求数为20个,新来的请求等待1000毫秒没有获取到
+  ## 许可,将被拒绝。
+allOperation: |
+  maxConcurrentCalls: 20
+  maxWaitDuration: 1000
+```
+
+### 持续演进
+场景一:耗时请求需要配置独立的限流策略。需要结合业务的持续演进,进行配置增加。
+
+```yaml
+servicecomb:
+  matchGroup:
+timeConsumingOperation: |
+  matches:
+- apiPath:
+prefix: "/timeConsumingOperation"
+  rateLimiting:
+  ## 限流器每100毫秒允许通过1个请求,如果一个请求超过1000毫秒没有获取到
+  ## 许可,将被拒绝
+  timeConsumingOperation: |
+  rate: 1
+  limitRefreshPeriod: 100
+  timeoutDuration: 1000
+```
+
+场景二:需要防止机器人的场景,或者需要防止DDOS的场景,需要先考虑应用网关的扩容,然后根据用户ID或者请求端IP进行分布式限流。应用系统在规划的时候,需要考虑将用户ID通过HTTP
 HEADER的方式传递;或者ELB需要将客户的IP通过x-real-ip HTTP HEADER传递。
+
+```yaml
+servicecomb:
+  matchGroup:
+allOperation: |
+  matches:
+- apiPath:
+prefix: "/"
+  identifierRateLimiting:
+  ## 限流器每100毫秒允许通过1个请求,如果一个请求超过1000毫秒没有获取到
+  ## 许可,将被拒绝。相当于限制每个用户1秒钟10个请求。
+allOperation: |
+  rate: 1
+  limitRefreshPeriod: 100
+  timeoutDuration: 1000
+  identifier: user-id
+```
+
+## 微服务治理设计
+
+微服务治理设计和网关设计有很多类似之处,也有少量的差异。 
+
+![](service-governance.png)
+
+微服务配置服务端限流、服务端隔离仓、客户端容错、客户端熔断和客户端隔离仓。
+
+* 
服务端限流器:超过系统最大处理能力的请求场景,限流值的依据是压测的真实能力数据,可以控制在最大处理能力的80%左右。在系统上线初始阶段,默认设置全局限流器。在无法估算限流大小的时候,可以将流量限制设置为一个最大值,限流器也可以起到流量梳理平滑流量的作用。
+* 服务端隔离仓:主要针对耗时请求进行配置,防止耗时请求占用其他请求的处理资源。
+* 客户端重试器:主要解决网络错误、服务上下线的短暂故障等进行快速重试,降低错误率。该重试器只针对发送请求失败的场景,不涉及接口幂等问题。
+* 客户端熔断器:主要解决实例故障客户端没感知的场景,实现实例的快速刷新和同步。
+* 
客户端隔离仓:主要解决故障场景,比如数据库故障恢复、实例重启等,系统吞吐量下降的情况;或者微服务第一次启动、微服务长期没有请求突

(servicecomb-docs) branch master updated: add api first development (#329)

2024-04-25 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-docs.git


The following commit(s) were added to refs/heads/master by this push:
 new 7f728bb  add api first development (#329)
7f728bb is described below

commit 7f728bbe4352a9d2ee88b5e2e6e639a49507e1ec
Author: liubao68 
AuthorDate: Thu Apr 25 15:08:38 2024 +0800

add api first development (#329)
---
 .../zh_CN/docs/featured-topics/secrets.md  |   1 +
 .../featured-topics/secrets/api-first-flow.png | Bin 0 -> 44201 bytes
 .../docs/featured-topics/secrets/api-first.md  | 149 +
 3 files changed, 150 insertions(+)

diff --git a/java-chassis-reference/zh_CN/docs/featured-topics/secrets.md 
b/java-chassis-reference/zh_CN/docs/featured-topics/secrets.md
index dba7b6a..5a670b9 100644
--- a/java-chassis-reference/zh_CN/docs/featured-topics/secrets.md
+++ b/java-chassis-reference/zh_CN/docs/featured-topics/secrets.md
@@ -9,3 +9,4 @@
 * [Java Chassis 3技术解密:易扩展的多种注册中心支持](secrets/registries.md)
 * [Java Chassis 3技术解密:与Spring Cloud的互操作](secrets/interoperability.md)
 * [Java Chassis 3技术解密:ZooKeeper注册和配置中心](secrets/zookeeper.md)
+* [Java Chassis 3技术解密:契约优先(API First)开发](secrets/api-first.md)
diff --git 
a/java-chassis-reference/zh_CN/docs/featured-topics/secrets/api-first-flow.png 
b/java-chassis-reference/zh_CN/docs/featured-topics/secrets/api-first-flow.png
new file mode 100644
index 000..54178ac
Binary files /dev/null and 
b/java-chassis-reference/zh_CN/docs/featured-topics/secrets/api-first-flow.png 
differ
diff --git 
a/java-chassis-reference/zh_CN/docs/featured-topics/secrets/api-first.md 
b/java-chassis-reference/zh_CN/docs/featured-topics/secrets/api-first.md
new file mode 100644
index 000..7f1e50a
--- /dev/null
+++ b/java-chassis-reference/zh_CN/docs/featured-topics/secrets/api-first.md
@@ -0,0 +1,149 @@
+# Java Chassis 3技术解密:契约优先(API First)开发
+
+契约优先(API First)开发是指应用程序开发过程中,将API设计作为第一优先级的任务。契约优先开发随着Web 
Services概念的发展而不断得到重视,特别是微服务架构出现以后,API设计成为影响功能开放、性能优化等问题的关键因素。常见的契约优先开发框架和模式有如下几种:
+
+* Web 
Services技术可以由设计人员先编写WSDL描述WEB服务内容,然后结合工具生成代码。WSDL可以进行分发,不同的语言都可以结合WSDL生成客户端。
+* gRPC技术可以由设计人员先编写IDL描述RPC服务内容,然后结合工具生成代码。gRPC主要解决服务内部之间的调用。
+* Spring Boot允许开发人员利用swagger工具,先编写Open API接口,然后通过工具生成RESTFul的服务端代码。
+
+这些技术都要求设计人员掌握一种语言无关的描述语言(WSDL、IDL、Swagger等),并且通过工具生成具体语言的代码。它们支持的应用场景也有所差异,Web 
Service适合对外的WEB服务,gRPC适合对内的RPC服务。Java Chassis契约优先开发具备下面的几个改进:
+
+* 允许直接使用Java语言定义服务接口,不需要设计者掌握新的描述语言。
+* 同时定义Web服务接口和内部RPC接口。
+
+和Spring Boot一样, Java Chassis的语言无关性描述语言仍然是Open API,通过Open API,可以满足跨语言和服务分发的要求。
+
+## 契约优先开发的过程
+
+契约优先开发可以涵盖设计、开发、测试、部署、运维等软件开发的全流程,通过契约可以实现不同环节的并行工作,从而提高开发效率。 一个简单的契约开发过程如下:
+
+![](api-first-flow.png)
+
+下面通过代码简单展示通过Java语义定义契约,并实现提供者和消费者的过程。
+
+* 定义服务契约
+
+```java
+@RequestMapping(path = "/provider")
+public interface ProviderService {
+  @GetMapping("/sayHello")
+  String sayHello(@RequestParam("name") String name);
+}
+```
+
+* 定义提供者
+
+```java
+@RestSchema(schemaId = "ProviderController", schemaInterface = 
ProviderService.class)
+public class ProviderController implements ProviderService {
+  @Override
+  public String sayHello(String name) {
+return "Hello " + name;
+  }
+}
+```
+
+* 定义消费者
+
+```java
+@Configuration
+public class ProviderServiceConfiguration {
+  @Bean
+  public ProviderService providerService() {
+return Invoker.createProxy("provider", "ProviderController", 
ProviderService.class);
+  }
+}
+```
+
+使用RPC方式访问提供者。
+
+```java
+@RestSchema(schemaId = "ConsumerController", schemaInterface = 
ConsumerService.class)
+public class ConsumerController implements ConsumerService {
+  private ProviderService providerService;
+
+  @Autowired
+  public void setProviderService(ProviderService providerService) {
+this.providerService = providerService;
+  }
+
+  @Override
+  public String sayHello(String name) {
+return providerService.sayHello(name);
+  }
+}
+```
+
+* 服务分发和Web服务访问
+
+提供者的服务定义会生成如下Open API信息
+
+```yaml
+openapi: 3.0.1
+info:
+  title: swagger definition for 
org.apache.servicecomb.samples.api.ProviderService
+  version: 1.0.0
+servers:
+- url: /provider
+paths:
+  /sayHello:
+get:
+  operationId: sayHello
+  parameters:
+  - name: name
+in: query
+required: true
+schema:
+  type: string
+  responses:
+"200":
+  description: response of 200
+  content:
+application/json:
+  schema:
+type: string
+application/protobuf:
+  schema:
+type: string
+text/plain:
+  schema:
+type: string
+components: {}
+```
+这个信息可以用于WEB服务访问,比如上面的信息可以使用
+
+```text
+GET /providers/sayHello?name=World
+```
+
+的HTTP请求来访问。 对于其他框架或者语言,也可以使用Open API生成对应的代码来访问。 
+
+## 服务治理
+
+服务治理被设计为独立于开发过程,结合Op

(servicecomb-docs) branch master updated: remove some old docs (#328)

2024-04-24 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-docs.git


The following commit(s) were added to refs/heads/master by this push:
 new c1182bb  remove some old docs (#328)
c1182bb is described below

commit c1182bb7ef3b6e5d0ecbf4059ad5cb649b866b9d
Author: liubao68 
AuthorDate: Thu Apr 25 09:13:10 2024 +0800

remove some old docs (#328)
---
 .../docs/build-provider/service-configuration.md   | 13 
 .../zh_CN/docs/catalog/build-consumer.md   | 27 
 .../zh_CN/docs/catalog/build-provider.md   | 40 
 .../zh_CN/docs/catalog/config.md   |  2 -
 .../zh_CN/docs/catalog/data-conform.md |  0
 .../zh_CN/docs/catalog/general-develop.md  | 74 --
 .../zh_CN/docs/catalog/securety.md |  0
 .../zh_CN/docs/catalog/security.md |  5 --
 .../zh_CN/docs/catalog/service-package-run.md  |  6 --
 java-chassis-reference/zh_CN/docs/catalog/start.md | 15 -
 .../zh_CN/docs/catalog/use-tool.md |  0
 .../docs/config-reference/config-center-client.md  | 22 ---
 .../zh_CN/docs/config-reference/kie-client.md  | 22 ---
 .../docs/config-reference/service-center-client.md | 25 
 .../zh_CN/docs/registry/service-center.md  |  2 -
 java-chassis-reference/zh_CN/mkdocs.yml|  3 -
 16 files changed, 256 deletions(-)

diff --git 
a/java-chassis-reference/zh_CN/docs/build-provider/service-configuration.md 
b/java-chassis-reference/zh_CN/docs/build-provider/service-configuration.md
deleted file mode 100644
index 257fe78..000
--- a/java-chassis-reference/zh_CN/docs/build-provider/service-configuration.md
+++ /dev/null
@@ -1,13 +0,0 @@
-## [负载均衡策略](/build-provider/configuration/lb-strategy.html)
-• 
ServiceComb提供了基于Ribbon的负载均衡方案,用户可以通过配置文件配置负载均衡策略,当前支持随机、顺序、基于响应时间的权值等多种负载均衡路由策略##
 [Service 
Center](https://github.com/apache/incubator-servicecomb-saga){:target="_blank"} 
 
-
-## [限流策略](/build-provider/configuration/ratelimite-strategy.html) 
-• 用户在provider端使用限流策略,可以限制指定微服务向其发送请求的频率,达到限制每秒钟最大请求数量的效果。  
-
-
-## [降级策略](/build-provider/configuration/parameter-validator.html)  
-• 降级策略是当服务请求异常时,微服务所采用的异常处理策略。
-
-
-## [参数效验](/build-provider/configuration/parameter-validator.html)
-• 用户在provider端使用参数效验,可以对相应的参数输入要求预先进行设置,在接口实际调用前进行效验处理,达到控制参数输入标准的效果。
diff --git a/java-chassis-reference/zh_CN/docs/catalog/build-consumer.md 
b/java-chassis-reference/zh_CN/docs/catalog/build-consumer.md
deleted file mode 100644
index c3f5fb8..000
--- a/java-chassis-reference/zh_CN/docs/catalog/build-consumer.md
+++ /dev/null
@@ -1,27 +0,0 @@
-## 使用RestTemplate开发服务消费者
-RestTemplate是Spring提供的RESTful访问接口,ServiceComb提供该接口的实现类用于服务的调用。
-
-## 使用AsyncRestTemplate开发服务消费者
-AsyncRestTemplate 开发方式允许用户异步的进行服务调用。具体的业务流程和 RestTemplate 类似,只是这里以异步的形式进行服务的调用。
-
-## 使用透明RPC方式开发服务消费者
-
-透明RPC开发模式允许用户通过简单的java interface像本地调用一样进行服务调用。
-
-## 使用服务契约
-当服务消费者调用服务提供者的服务时,需要获取服务契约。消费者有两种方式获取提供者的服务契约,一种是从服务的提供方离线获取契约文件,手工配置到项目中;另一种是从服务中心自动下载契约。
-
-## 调用控制
-
-### 实例级故障隔离
-实例级故障隔离功能允许在微服务的部分实例调用失败时,停止向故障实例发送请求,从而达到隔离故障实例的功能。
-
-### 熔断策略
-熔断策略是对ServiceComb熔断功能的设置,用户通过配置熔断策略可以指定在何种条件下ServiceComb框架将终止发送请求。
-
-### 限流策略
-用户在consumer端使用限流策略,可以限制发往指定微服务的请求的频率。
-
-### 故障注入
-用户在consumer端使用故障注入,可以设置发往指定微服务的请求的时延和错误及其触发概率。
-
diff --git a/java-chassis-reference/zh_CN/docs/catalog/build-provider.md 
b/java-chassis-reference/zh_CN/docs/catalog/build-provider.md
deleted file mode 100644
index 156ec0a..000
--- a/java-chassis-reference/zh_CN/docs/catalog/build-provider.md
+++ /dev/null
@@ -1,40 +0,0 @@
-## [服务定义](/build-provider/definition/service-definition.html)
-• 服务定义信息是微服务的身份标识,它定义了服务从属于哪个应用,以及名字和版本。服务定义信息中也可以有扩展信息,用于定义服务的属性元数据。
- 
-
-## [定义服务契约](/build-provider/define-contract.html) 
-• 服务契约,指基于OpenAPI规范的微服务接口契约,是服务端与消费端对于接口的定义。java chassis提供了两种方式定义契约:code 
first和contract first。
-
-
-## [使用隐式契约](/build-provider/code-first.html)  
-• 降级策略是当服务请求异常时,微服务所采用的异常处理策略。
-
-
-## [使用 Swagger 注解](/build-provider/swagger-annotation.html)
-• Swagger提供了一套注解用于描述接口契约,用户使用注解,可以在代码中增加对于契约的描述信息。ServiceComb支持其中的部分注解。
-
-
-## [用SpringMVC 开发微服务](/build-provider/springmvc.html)
-• ServiceComb支持SpringMVC注解,允许使用SpringMVC风格开发微服务。建议参照着项目 SpringMVC进行详细阅读。
-
-## [用JAX-RS开发微服务](/build-provider/jaxrs.html)
-• ServiceComb支持开发者使用JAX-RS注解,使用JAX-RS模式开发服务。
-
-## [用透明RPC开发微服务](/build-provider/transparent-rpc.html)
-• 透明RPC开发模式是一种基于接口和接口实现的开发模式,服务的开发者不需要使用Spring MVC和JAX-RS注解。
-
-## [接口定义和数据类型](/build-provider/swagger-annotation.html)
-• 
ServiceComb-Java-Chassis建议接口定义遵循一个简单的原则:接口定义即接口使用说明,不用通过查看代码实现,就能识别如何调用这个接口。可以看出,这个原则站在使用者这边,以更容易被使用作为参考。ServiceComb会根据接口定义生成接口契约,符合这个原则的接口,生成的契约也是用户容易阅读的。
-
-## [服务监听地址和发布地址](/build-provider/listen-address-and-publish-address.html)
-•在JavaChassis中,服务的监听地址和发布地址是两个独立的概念,可以独立配置:
-
-   监听地址:指微服务实例启动时监听的地址。该配置项决定了可以通过哪些IP访问此服务。
-   
发布地址:指微服务实例注册到服务中心的地址。其他的微服务实例会通过服务中心获取此实例的信息,根据发布地址访问

(servicecomb-java-chassis) branch master updated: update read me using api first example (#4306)

2024-04-24 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new 66b99e8f0 update read me using api first example (#4306)
66b99e8f0 is described below

commit 66b99e8f080e134ee3800ba1b1d1f654ea182a6f
Author: liubao68 
AuthorDate: Wed Apr 24 14:10:20 2024 +0800

update read me using api first example (#4306)
---
 README.md| 77 ++--
 README_ZH.md | 76 +--
 2 files changed, 70 insertions(+), 83 deletions(-)

diff --git a/README.md b/README.md
index 9e5f6f845..9c3e61802 100644
--- a/README.md
+++ b/README.md
@@ -6,8 +6,8 @@ Apache ServiceComb Java Chassis is a Software Development Kit 
(SDK) for rapid de
 
 | Release Train  | Latest Version | Compiled JDK Version | Tested JDK Version 
| Open API | Notes|
 
|||--||--|--|
-| Java Chassis 3 | 3.0.1  | OpenJDK 17   | OpenJDK 17 
| 3.0.x| Depends on Spring Boot 3 |
-| Java Chassis 2 | 2.8.14 | OpenJDK 8| OpenJDK 8, 11, 17  
| 2.0.x| Depends on Spring 5  |
+| Java Chassis 3 | 3.1.0  | OpenJDK 17   | OpenJDK 17 
| 3.0.x| Depends on Spring Boot 3 |
+| Java Chassis 2 | 2.8.16 | OpenJDK 8| OpenJDK 8, 11, 17  
| 2.0.x| Depends on Spring 5  |
 | Java Chassis 1 | 1.3.11 | OpenJDK 8| OpenJDK 8  
| 2.0.x| End of Support   |
 
 >>>NOTICE: Since Open API 3.0.x is not compatible with 2.0.x, Java Chassis 2 
 >>>and Java Chassis 1 can not 
@@ -15,63 +15,52 @@ Apache ServiceComb Java Chassis is a Software Development 
Kit (SDK) for rapid de
 
 >>>NOTICE: Java Chassis 1 reached its end of support now after it's first 
 >>>release from 2018. 
 
-# Why use Java Chassis
+# Quick Start
 
-- **High performance**
-
-  The transport capability of Java Chassis is based on 
[Vert.x](https://vertx.io), which enables Java Chassis to process
-  massive requests with relatively less hardware resources, and support 
[reactive develop style](https://www.reactivemanifesto.org).
-
-- **Native support for OpenAPI**
-
-  Java Chassis describes the APIs of the microservices via 
[Swagger](https://swagger.io) natively, to help
-  developers to design microservices that comply to [OpenAPI 
standard](https://swagger.io/specification/v3/).
-
-- **Flexible develop style**
-
-  Java Chassis allows developers to develop their microservice APIs in 
`SpringMVC`/`JAX-RS`/`Transparent RPC` styles,
-  and to send the request in `RPC`/`RestTemplate` styles. And there are three 
kind of build-in transport mode:
-  `Rest over Vertx`/`Rest over Servlet`/`Highway`. All of these features can 
be combined and replaced easily,
-  because they are decoupled and all based on the Swagger schema, which can 
provide high flexibility.
-
-- **Out-of-box microservice governance features**
-
-  Java Chassis provides a lot of features for microservice governance and 
monitor.
-
-# Quick Start (Spring MVC)
-
-Provider service:
+* Define API
 ```java
-@RestSchema(schemaId = "ProviderController")
-@RequestMapping(path = "/")
-public class ProviderController {
+@RequestMapping(path = "/provider")
+public interface ProviderService {
   @GetMapping("/sayHello")
-  public String sayHello(@RequestParam("name") String name) {
+  String sayHello(@RequestParam("name") String name);
+}
+```
+
+* Provider service
+```java
+@RestSchema(schemaId = "ProviderController", schemaInterface = 
ProviderService.class)
+public class ProviderController implements ProviderService {
+  @Override
+  public String sayHello(String name) {
 return "Hello " + name;
   }
 }
 ```
 
-Consumer service:
-
-Declare Provider service interface to match the Provider method signature. 
(Method name, return type, parameter name, parameter type)
+* Consumer service
 ```java
-public interface ProviderService {
-  String sayHello(String name);
+@Configuration
+public class ProviderServiceConfiguration {
+  @Bean
+  public ProviderService providerService() {
+return Invoker.createProxy("provider", "ProviderController", 
ProviderService.class);
+  }
 }
 ```
 
 Invoke Provider service with RPC
 ```java
-@RestSchema(schemaId = "ConsumerController")
-@RequestMapping(path = "/")
-public class ConsumerController {
-  @RpcReference(schemaId = "ProviderController", microserviceName = "provider")
+@RestSchema(schemaId = "ConsumerController", schemaInterface = 
ConsumerService.class)
+public class 

(servicecomb-samples) branch master updated: update using API first development (#140)

2024-04-24 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-samples.git


The following commit(s) were added to refs/heads/master by this push:
 new 7440575  update using API first development (#140)
7440575 is described below

commit 7440575dae07b8202e2d6e14e3f25c3770e1da7c
Author: liubao68 
AuthorDate: Wed Apr 24 14:10:29 2024 +0800

update using API first development (#140)
---
 basic/{consumer => apis/consumer-api}/pom.xml  | 20 +++--
 .../servicecomb/samples/api/ConsumerService.java}  | 13 ---
 basic/{consumer => apis}/pom.xml   | 23 ++--
 basic/{consumer => apis/provider-api}/pom.xml  | 20 +++--
 .../servicecomb/samples/api}/ProviderService.java  | 11 --
 basic/consumer/pom.xml | 10 +
 .../servicecomb/samples/ConsumerController.java| 25 +++---
 ...vice.java => ProviderServiceConfiguration.java} | 13 ---
 basic/pom.xml  |  3 ++-
 basic/provider/pom.xml |  5 +
 .../servicecomb/samples/ProviderController.java| 16 ++
 11 files changed, 78 insertions(+), 81 deletions(-)

diff --git a/basic/consumer/pom.xml b/basic/apis/consumer-api/pom.xml
similarity index 71%
copy from basic/consumer/pom.xml
copy to basic/apis/consumer-api/pom.xml
index 53f15b2..4faa106 100644
--- a/basic/consumer/pom.xml
+++ b/basic/apis/consumer-api/pom.xml
@@ -1,3 +1,4 @@
+
 

(servicecomb-docs) branch master updated: update first example using api first (#327)

2024-04-23 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-docs.git


The following commit(s) were added to refs/heads/master by this push:
 new 791eea1  update first example using api first (#327)
791eea1 is described below

commit 791eea12963376eb9185d0208a5b0f75f6804308
Author: liubao68 
AuthorDate: Wed Apr 24 11:55:07 2024 +0800

update first example using api first (#327)
---
 .../docs/featured-topics/secrets/zookeeper.md  |  9 ++--
 .../zh_CN/docs/start/first-sample.md   | 60 +-
 2 files changed, 40 insertions(+), 29 deletions(-)

diff --git 
a/java-chassis-reference/zh_CN/docs/featured-topics/secrets/zookeeper.md 
b/java-chassis-reference/zh_CN/docs/featured-topics/secrets/zookeeper.md
index a90c355..751dd4c 100644
--- a/java-chassis-reference/zh_CN/docs/featured-topics/secrets/zookeeper.md
+++ b/java-chassis-reference/zh_CN/docs/featured-topics/secrets/zookeeper.md
@@ -61,7 +61,7 @@ ZooKeeper自身被设计为一个高可靠的中间件,Java Chassis 3进一步
 
 有观点认为, ZooKeeper不适合作为注册中心,一般的,CP系统都不适合作为注册中心,而AP作为注册中心才是最佳选择。 
个人觉得这样的观点是片面而且非常不恰当的。 
 
-从[ZooKeeper 
并不适合做注册中心](https://blog.csdn.net/lk/article/details/109168239?spm=1001.2014.3001.5501)
 和 [为什么我们要把服务注册发现改为阿里巴巴的Nacos而不用 ZooKeeper?](zoo-nacos) 摘取了几个核心观点:
+从[ZooKeeper 
并不适合做注册中心](https://blog.csdn.net/lk/article/details/109168239?spm=1001.2014.3001.5501)
 和 [为什么我们要把服务注册发现改为阿里巴巴的Nacos而不用 
ZooKeeper?](https://blog.csdn.net/u012921921/article/details/106521181/?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1--blog-109168239.235^v43^pc_blog_bottom_relevance_base3=1001.2101.3001.4242.)
 摘取了几个核心观点(后面简称“观点文章”):
 
 * 网络分区隔离情况下,ZooKeeper会导致服务间调用错误,也会导致新的服务无法注册,不适合作为注册中心。
 * ZooKeeper所有写操作都在Leader进行,无法支持大规模微服务实例,不适合作为注册中心。
@@ -70,9 +70,9 @@ ZooKeeper自身被设计为一个高可靠的中间件,Java Chassis 3进一步
 
 ### 关于网络分区隔离
 
-网络分区隔离的场景比较多,在[Java Chassis 3技术解密:注册中心分区隔离](zone-isolation.md)描述的场景下,Java 
Chassis能够保证服务之间的调用不受影响。在[为什么我们要把服务注册发现改为阿里巴巴的Nacos而不用 
ZooKeeper?](zoo-nacos)提到的场景中,Java 
Chassis也能够保证服务之间的调用不受影响,但是服务无法注册。网络分区隔离场景下,核心需要讨论的问题变成是否需要允许服务进行注册/扩容?尽管可能存在争议,但我们的观点是系统出现部分故障的情况下,系统不应该扩容,而是尽可能维持处理能力不变,这样会使得故障恢复更加可控,从而减少系统恢复时间。
+网络分区隔离的场景比较多,在[Java Chassis 3技术解密:注册中心分区隔离](zone-isolation.md)描述的场景下,Java 
Chassis能够保证服务之间的调用不受影响。在观点文章提到的场景中,Java 
Chassis也能够保证服务之间的调用不受影响,但是服务无法注册。网络分区隔离场景下,核心需要讨论的问题变成是否需要允许服务进行注册/扩容?尽管可能存在争议,但我们的观点是系统出现部分故障的情况下,系统不应该扩容,而是尽可能维持处理能力不变,这样会使得故障恢复更加可控,从而减少系统恢复时间。
 
-[为什么我们要把服务注册发现改为阿里巴巴的Nacos而不用 
ZooKeeper?](zoo-nacos)提到的场景相对于实际部署场景还过于简单,我们把它扩展到实际场景:
+观点文章提到的场景相对于实际部署场景还过于简单,我们把它扩展到实际场景:
 
 ![](zookeeper-scale.png)
 
@@ -90,6 +90,3 @@ ZooKeeper只有Leader可以写入,通过扩容Learner(Follower/Observer)提升
 
 Java Chassis 
3使用ZooKeeper作为注册中心是非常好的选择,ZooKeeper可以在应用系统中同时扮演注册、配置和选举等功能,能够极大的简化应用部署和服务依赖。CP一致性也使得常见故障场景下应用程序的行为具备更好的预测性。大规模系统可以采用微服务网关来提升系统韧性,降低系统爆炸半径。
 
-
-zoo-nacos: 
https://blog.csdn.net/u012921921/article/details/106521181/?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1--blog-109168239.235^v43^pc_blog_bottom_relevance_base3=1001.2101.3001.4242.
-
diff --git a/java-chassis-reference/zh_CN/docs/start/first-sample.md 
b/java-chassis-reference/zh_CN/docs/start/first-sample.md
index 8e60e02..f73c2e6 100644
--- a/java-chassis-reference/zh_CN/docs/start/first-sample.md
+++ b/java-chassis-reference/zh_CN/docs/start/first-sample.md
@@ -142,14 +142,26 @@ public class ProviderApplication {
 ```
 
 ### 编写服务
+本例子采用契约优先的开发方法。
 
-在工程中添加一个REST接口类用于接收请求:
+首先定义服务接口:
 
 ```java
+@RequestMapping(path = "/provider")
+public interface ProviderService {
+  @GetMapping("/sayHello")
+  String sayHello(@RequestParam("name") String name);
+
+  @GetMapping("/exampleConfig")
+  String exampleConfig();
+}
+```
+
+在工程中添加一个REST接口类用于接收请求:
 
-@RestSchema(schemaId = "ProviderController")
-@RequestMapping(path = "/")
-public class ProviderController {
+```java
+@RestSchema(schemaId = "ProviderController", schemaInterface = 
ProviderService.class)
+public class ProviderController implements ProviderService {
   private DynamicProperties dynamicProperties;
 
   private String example;
@@ -161,13 +173,12 @@ public class ProviderController {
 value -> this.example = value, "not set");
   }
 
-  // a very simple service to echo the request parameter
-  @GetMapping("/sayHello")
-  public String sayHello(@RequestParam("name") String name) {
+  @Override
+  public String sayHello(String name) {
 return "Hello " + name;
   }
 
-  @GetMapping("/exampleConfig")
+  @Override
   public String exampleConfig() {
 return example;
   }
@@ -198,33 +209,36 @@ public class ProviderController {
 
 ### 调用服务
 
-在 Consumer 里面,演示了如何调用 Provider 的服务。 首先声明一个 PRC 接口, 该接口的方法名称、参数名称需要和服务端保持一致。
+在 Consumer 里面,演示了如何调用 Provider 的服务。 首先声明一个 PRC 接口的 Bean。
 
 ```jav

(servicecomb-docs) branch master updated: add zookeeper docs (#326)

2024-04-22 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-docs.git


The following commit(s) were added to refs/heads/master by this push:
 new d69cb48  add zookeeper docs (#326)
d69cb48 is described below

commit d69cb485e2d562bb144460009a47c42b914973f5
Author: liubao68 
AuthorDate: Tue Apr 23 11:37:59 2024 +0800

add zookeeper docs (#326)
---
 .../zh_CN/docs/featured-topics/secrets.md  |   2 +-
 .../featured-topics/secrets/zookeeper-scale.png| Bin 0 -> 13994 bytes
 .../docs/featured-topics/secrets/zookeeper.md  |  95 +
 .../zh_CN/docs/registry/zookeeper.md   |  30 +++
 4 files changed, 111 insertions(+), 16 deletions(-)

diff --git a/java-chassis-reference/zh_CN/docs/featured-topics/secrets.md 
b/java-chassis-reference/zh_CN/docs/featured-topics/secrets.md
index 41309d2..dba7b6a 100644
--- a/java-chassis-reference/zh_CN/docs/featured-topics/secrets.md
+++ b/java-chassis-reference/zh_CN/docs/featured-topics/secrets.md
@@ -8,4 +8,4 @@
 * [Java Chassis 3技术解密:应用视角的配置管理](secrets/applied-config.md)
 * [Java Chassis 3技术解密:易扩展的多种注册中心支持](secrets/registries.md)
 * [Java Chassis 3技术解密:与Spring Cloud的互操作](secrets/interoperability.md)
-
+* [Java Chassis 3技术解密:ZooKeeper注册和配置中心](secrets/zookeeper.md)
diff --git 
a/java-chassis-reference/zh_CN/docs/featured-topics/secrets/zookeeper-scale.png 
b/java-chassis-reference/zh_CN/docs/featured-topics/secrets/zookeeper-scale.png
new file mode 100644
index 000..2921e26
Binary files /dev/null and 
b/java-chassis-reference/zh_CN/docs/featured-topics/secrets/zookeeper-scale.png 
differ
diff --git 
a/java-chassis-reference/zh_CN/docs/featured-topics/secrets/zookeeper.md 
b/java-chassis-reference/zh_CN/docs/featured-topics/secrets/zookeeper.md
new file mode 100644
index 000..a90c355
--- /dev/null
+++ b/java-chassis-reference/zh_CN/docs/featured-topics/secrets/zookeeper.md
@@ -0,0 +1,95 @@
+# Java Chassis 3技术解密:ZooKeeper注册和配置中心
+
+[ZooKeeper](https://zookeeper.apache.org/) 
是一个高可用的分布式协调系统,它也被广泛用于服务注册发现、服务配置等场景。 
+
+Java Chassis 3 使用 [Curator Service Discovery 
Extensions](https://curator.apache.org/docs/service-discovery) 实现注册发现。 
+
+## 注册和配置基本原理
+
+使用ZooKeeper实现注册配置的原理比较简单,只需要将实例信息和配置信息作为合适的 key-value 对写入。注册场景使用下面的结构:
+
+```
+servicecomb:
+  registry:
+${environment}
+  ${application}:
+${service}:
+  ${instance-id}: 详细的注册内容
+```
+
+配置场景使用下面的结构:
+
+```
+servicecomb:
+  config:
+environment:  
+  ${environment}: 详细的配置内容
+application:
+  ${environment}:
+${application}: 详细的配置内容
+service:
+  ${environment}:
+${application}:
+  ${service}: 详细的配置内容
+version:
+  ${environment}:
+${application}:
+  ${service}:
+${version}: 详细的配置内容
+tag:
+  ${environment}:
+${application}:
+  ${service}:
+${tag}: 详细的配置内容
+```
+
+## 可靠性设计
+
+ZooKeeper自身被设计为一个高可靠的中间件,Java Chassis 
3进一步增强了其作为注册中心的可靠性,即使在ZooKeeper自身不可用的情况下,仍然不影响服务之间的调用,详细了解这个机制,可以参考[Java 
Chassis 3技术解密:注册中心分区隔离](zone-isolation.md)。 
+
+为了验证这部分可靠性,可以设计一个简单的测试场景:
+
+```
+测试工具 -> edge service -> consumer -> provider
+```
+
+启动 edge service、 consumer 和 provider, 通过测试工具请求接口。 然后停止 ZooKeeper, 
并使用测试工具持续调用,可以发现这个过程中没有请求失败。 启动 Zookeeper, 服务注册信息恢复,这个过程中仍然没有请求失败。 
+
+当然,在ZooKeeper不可用的过程中,无法注册新的实例。
+
+## 关于 Zookeeper 作为注册中心的深入讨论
+
+有观点认为, ZooKeeper不适合作为注册中心,一般的,CP系统都不适合作为注册中心,而AP作为注册中心才是最佳选择。 
个人觉得这样的观点是片面而且非常不恰当的。 
+
+从[ZooKeeper 
并不适合做注册中心](https://blog.csdn.net/lk/article/details/109168239?spm=1001.2014.3001.5501)
 和 [为什么我们要把服务注册发现改为阿里巴巴的Nacos而不用 ZooKeeper?](zoo-nacos) 摘取了几个核心观点:
+
+* 网络分区隔离情况下,ZooKeeper会导致服务间调用错误,也会导致新的服务无法注册,不适合作为注册中心。
+* ZooKeeper所有写操作都在Leader进行,无法支持大规模微服务实例,不适合作为注册中心。
+
+下面简单讨论下这两个观点。
+
+### 关于网络分区隔离
+
+网络分区隔离的场景比较多,在[Java Chassis 3技术解密:注册中心分区隔离](zone-isolation.md)描述的场景下,Java 
Chassis能够保证服务之间的调用不受影响。在[为什么我们要把服务注册发现改为阿里巴巴的Nacos而不用 
ZooKeeper?](zoo-nacos)提到的场景中,Java 
Chassis也能够保证服务之间的调用不受影响,但是服务无法注册。网络分区隔离场景下,核心需要讨论的问题变成是否需要允许服务进行注册/扩容?尽管可能存在争议,但我们的观点是系统出现部分故障的情况下,系统不应该扩容,而是尽可能维持处理能力不变,这样会使得故障恢复更加可控,从而减少系统恢复时间。
+
+[为什么我们要把服务注册发现改为阿里巴巴的Nacos而不用 
ZooKeeper?](zoo-nacos)提到的场景相对于实际部署场景还过于简单,我们把它扩展到实际场景:
+
+![](zookeeper-scale.png)
+
+实际场景除了保障单AZ内的请求闭环,还需要保证不同AZ的实例能够分担流量。当出现AZ网络隔离,由于每个AZ实例感知到的总的实例数减少,会触发弹性扩缩容,从而需要注册中心支持新实例注册。
 但是本质上,这个场景系统的处理能力并没有降低,弹性扩缩容将会是一个错误的行为,这个错误的行为,会给系统资源的使用和故障恢复带来更多的不可预测因素。
+
+### 关于性能
+
+ZooKeeper只有Leader可以写入,通过扩容Learner(Follower/Observer)提升读取性能。注册配置中心的场景实际上是一个读要求高,写要求不高的场景,
 ZooKeeper很好的满足了写不频繁,读很频繁的要求。 
最复杂的业务系统,ZooKeeper管理的实例个数在1以下,即使这些系统被设计为允许动态弹性扩缩容。超大规模的业务系统,一般微服务网关来提升系统韧性,并防止未知故障带来的爆炸半径扩大。
 在前期[Java Chassis 3技术解密:与Spring Cloud的互操作](interoperability.md)分享了架构韧性的一些内容。
+
+![](serialization-arch.png)
+
+因此,支持超大规模服务注册的场景,不具备大的现实意义。 
关于超大规模实例管理的问题,可能更多来自于不恰当的架构设计或者微服务发现机制(比如早期Dubbo版本使用的基于接口的服务发现,实例个数和接口数量成正比)。
+
+## 总结
+
+Java Chassis 
3使用ZooKeeper作为注册中心是非常好的选择,ZooKeeper可以在应用系

(servicecomb-java-chassis) branch master updated: [SCB-2873]Fix zookeeper default address is not correct (#4304)

2024-04-21 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new 4f27591e3 [SCB-2873]Fix zookeeper default address is not correct 
(#4304)
4f27591e3 is described below

commit 4f27591e3fe78f68dd964a16ab636f588a5cdce4
Author: liubao68 
AuthorDate: Mon Apr 22 11:02:10 2024 +0800

[SCB-2873]Fix zookeeper default address is not correct (#4304)
---
 .../java/org/apache/servicecomb/config/zookeeper/ZookeeperConfig.java   | 2 +-
 .../servicecomb/registry/zookeeper/ZookeeperRegistryProperties.java | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/dynamic-config/config-zookeeper/src/main/java/org/apache/servicecomb/config/zookeeper/ZookeeperConfig.java
 
b/dynamic-config/config-zookeeper/src/main/java/org/apache/servicecomb/config/zookeeper/ZookeeperConfig.java
index 074939c58..a1a86bc8e 100644
--- 
a/dynamic-config/config-zookeeper/src/main/java/org/apache/servicecomb/config/zookeeper/ZookeeperConfig.java
+++ 
b/dynamic-config/config-zookeeper/src/main/java/org/apache/servicecomb/config/zookeeper/ZookeeperConfig.java
@@ -38,7 +38,7 @@ public class ZookeeperConfig {
   }
 
   public String getConnectString() {
-return environment.getProperty(PROPERTY_CONNECT_STRING);
+return environment.getProperty(PROPERTY_CONNECT_STRING, "127.0.0.1:2181");
   }
 
   public int getSessionTimeoutMillis() {
diff --git 
a/service-registry/registry-zookeeper/src/main/java/org/apache/servicecomb/registry/zookeeper/ZookeeperRegistryProperties.java
 
b/service-registry/registry-zookeeper/src/main/java/org/apache/servicecomb/registry/zookeeper/ZookeeperRegistryProperties.java
index cea946d99..0f74278fb 100644
--- 
a/service-registry/registry-zookeeper/src/main/java/org/apache/servicecomb/registry/zookeeper/ZookeeperRegistryProperties.java
+++ 
b/service-registry/registry-zookeeper/src/main/java/org/apache/servicecomb/registry/zookeeper/ZookeeperRegistryProperties.java
@@ -21,7 +21,7 @@ public class ZookeeperRegistryProperties {
 
   private boolean ephemeral = true;
 
-  private String connectString = "zookeeper://127.0.0.1:2181";
+  private String connectString = "127.0.0.1:2181";
 
   private String authenticationSchema;
 



svn commit: r68638 - in /release/servicecomb/servicecomb-java-chassis: 2.8.15/ 2.8.16/ 3.0.2/ 3.1.0/

2024-04-18 Thread liubao
Author: liubao
Date: Fri Apr 19 01:28:18 2024
New Revision: 68638

Log:
release 2.8.16 and 3.1.0

Added:
release/servicecomb/servicecomb-java-chassis/2.8.16/

release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip
   (with props)

release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip.asc

release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip.sha512

release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-src.zip
   (with props)

release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-src.zip.asc

release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-src.zip.sha512
release/servicecomb/servicecomb-java-chassis/3.1.0/

release/servicecomb/servicecomb-java-chassis/3.1.0/apache-servicecomb-java-chassis-distribution-3.1.0-bin.zip
   (with props)

release/servicecomb/servicecomb-java-chassis/3.1.0/apache-servicecomb-java-chassis-distribution-3.1.0-bin.zip.asc

release/servicecomb/servicecomb-java-chassis/3.1.0/apache-servicecomb-java-chassis-distribution-3.1.0-bin.zip.sha512

release/servicecomb/servicecomb-java-chassis/3.1.0/apache-servicecomb-java-chassis-distribution-3.1.0-src.zip
   (with props)

release/servicecomb/servicecomb-java-chassis/3.1.0/apache-servicecomb-java-chassis-distribution-3.1.0-src.zip.asc

release/servicecomb/servicecomb-java-chassis/3.1.0/apache-servicecomb-java-chassis-distribution-3.1.0-src.zip.sha512
Removed:
release/servicecomb/servicecomb-java-chassis/2.8.15/
release/servicecomb/servicecomb-java-chassis/3.0.2/

Added: 
release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip
==
Binary file - no diff available.

Propchange: 
release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip
--
svn:mime-type = application/octet-stream

Added: 
release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip.asc
==
--- 
release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip.asc
 (added)
+++ 
release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip.asc
 Fri Apr 19 01:28:18 2024
@@ -0,0 +1,16 @@
+-BEGIN PGP SIGNATURE-
+
+iQIzBAABCgAdFiEEgr9EsxMxTagaNq1NQCyw93alAPoFAmYc1C0ACgkQQCyw93al
+APoe7w/6AhxtECv6vxanDLr4Rz2gTIZsKPhZjD3zExUcnaux5sFi3G+a9tXgig75
+qAsb7HX0Ja6curIQAXr4FXnwftmq0A3vD14yCe4LpAW0D+JCPs459TAZZqHl1Im1
+NgJN/nKv3GHzxjRNIL5OpRDd6aGuefSEagXG8Kk+0eZjC9OWhT0K7erM/VIkNPax
+8/Ghp4dNmDOvDa4MfyrtG65u0uBw1+wUwVMopS56qGxu2vfR2vfZ0qFWwZH+B2Mh
+5TEnJxYnieE2oMG7TMaaQGcfGziu687Qw22Nxff5l40wkxJgmXttjeDb1Qw/UNV4
+6lJtder5jRUHtsfJQMTjNGbOo/fZcSThPhHEcBpQhjPbQBNHH2L+RCJz1phO9cFt
+K2G8TbGe6FgFbGW9B0akhwmDadGqk918SchSw3d4CxfQmHqWg1j5p700lxC6sfMY
+r4+6pq6ye0HRqOoJajCFaYTJI0rjqEmOsJpjUBg3AmRsl2To6AZGMfWc3JYwzp/w
+5ifPZnOAFID3IUlRZusBidsNyZvYBE1L6vOwS71XA2c30DrPuzyFwGo/bjDnQYLy
+99BWL7mhLz+wLDR50OhW/Cpjyn41A29j3J4tXysvyl7s/n8p14FUTms6WzcBTuF1
+AdF0KDnagMu5m66Rhd8I72hK3kBeLu9UHknD7UkYIMKA8AH9dcc=
+=hS2F
+-END PGP SIGNATURE-

Added: 
release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip.sha512
==
--- 
release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip.sha512
 (added)
+++ 
release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip.sha512
 Fri Apr 19 01:28:18 2024
@@ -0,0 +1 @@
+a8d4819e87a8638cc9c7ff70e4a7cfceabf8fd5cf4e785b9722c9de323325f239b9f2e3abb7f16dd54ab7700f10e7f2b7c79d371ab6f6e230d399c03fd063256
 *apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip

Added: 
release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-src.zip
==
Binary file - no diff available.

Propchange: 
release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-src.zip
--
svn:mime-type = application/octet-stream

Added: 
release/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-src.zip.asc

(servicecomb-docs) branch master updated: add documents for zookeeper (#325)

2024-04-16 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-docs.git


The following commit(s) were added to refs/heads/master by this push:
 new d984182  add documents for zookeeper (#325)
d984182 is described below

commit d984182c1d512ca146b7b87c668175b08004c3ce
Author: liubao68 
AuthorDate: Tue Apr 16 16:24:22 2024 +0800

add documents for zookeeper (#325)
---
 java-chassis-reference/zh_CN/docs/config/apollo.md |  27 +++
 .../zh_CN/docs/config/config-service.md| 185 -
 java-chassis-reference/zh_CN/docs/config/cse1.md   |  40 +
 .../zh_CN/docs/config/general-config.md|   4 +-
 java-chassis-reference/zh_CN/docs/config/kie.md|  54 ++
 java-chassis-reference/zh_CN/docs/config/nacos.md  |  50 ++
 .../zh_CN/docs/config/zookeeper.md |  83 +
 .../zh_CN/docs/registry/nacos.md   |   4 +-
 .../zh_CN/docs/registry/service-center.md  |   4 +-
 .../zh_CN/docs/registry/zookeeper.md   |  57 +++
 java-chassis-reference/zh_CN/mkdocs.yml|  11 +-
 11 files changed, 326 insertions(+), 193 deletions(-)

diff --git a/java-chassis-reference/zh_CN/docs/config/apollo.md 
b/java-chassis-reference/zh_CN/docs/config/apollo.md
new file mode 100644
index 000..e498151
--- /dev/null
+++ b/java-chassis-reference/zh_CN/docs/config/apollo.md
@@ -0,0 +1,27 @@
+# 使用 Apollo
+
+>>> 注意:本实现作为适配 Apollo 的参考,整体逻辑功能和设计规格不完善,不建议在生产环境使用。 如果在生产环境使用,建议基于 Apollo 提供的 
SDK 自行扩展实现。
+
+[Apollo](https://github.com/ctripcorp/apollo) 是携程框架部门研发的分布式配置中心。 
Apollo的下载安装请参考官网介绍。
+
+```xml
+
+  org.apache.servicecomb
+  config-apollo
+
+```
+
+然后在配置文件 microservice.yaml 中增加如下配置项:
+
+```yaml
+apollo:
+  config:
+serverUri: http://127.0.0.1:8070
+serviceName: apollo-test
+env: DEV
+clusters: test-cluster
+namespace: application
+token: xxx
+refreshInterval: 30
+firstRefreshInterval: 0
+```
diff --git a/java-chassis-reference/zh_CN/docs/config/config-service.md 
b/java-chassis-reference/zh_CN/docs/config/config-service.md
deleted file mode 100644
index 02988ee..000
--- a/java-chassis-reference/zh_CN/docs/config/config-service.md
+++ /dev/null
@@ -1,185 +0,0 @@
-# 配置中心参考
-
-配置中心是微服务架构下一个非常重要的中间件,通过配置中心用户可以增加和删除配置信息,配置信息会通过不同的通知机制, 将配置的变化推送到微服务实例。 Java 
Chassis 允许用户使用不同的配置中心, 并支持多个配置中心共存。
-
-## 使用 Kie
-
-* 下载安装
-   
-  可以通过 [Kie官网](https://kie.readthedocs.io/en/latest/get-started.html) 
下载和安装Kie。华为云提供了一个集成注册中心的本地版本,并提供了友好的界面,可以通过 
[华为云](https://support.huaweicloud.com/devg-cse/cse_04_0046.html) 下载和使用。 
-
-  
-* 开发使用
-
-  在 java-chassis 中使用 Kie, 需要引入下面的依赖:
-
-```xml
-
-  org.apache.servicecomb
-  config-kie
-
-```
-
-  然后在配置文件 microservice.yaml 中增加如下配置项:
-
-```yaml
-servicecomb:
-  kie:
-serverUri: http://127.0.0.1:30110
-```
-
-  
-* 使用配置中心增加配置
-
-  客户端默认会读取下面几个层次的配置:
-
-  * 应用级配置:Label只包含environment、app,并且与微服务的环境、应用匹配的配置。
-  * 服务级配置:Label只包含environment、app、service,并且与微服务的环境、应用、微服务名称匹配的配置。
-  * 版本级配置:Label只包含environment、app、service、version,并且与微服务的环境、应用、微服务名称、版本匹配的配置。
-  * 自定义配置:Label包含custom-label, 并且与 custom-value匹配的配置。 
-
-  上述的配置级别,优先级从低到高。 Kie 的 yaml 和 properties 类型会映射为多个配置项, 其他类型,比如 json, text, 
只会映射为一个配置项。开发者需要读取配置项自己解析内容。
-
-  
-* 配置项参考
-
-|配置项名| 含义  | 缺省值 |
-||-|---|
-|servicecomb.kie.serverUri| 
servicecomb-kie访问地址,格式为`http(s)://{ip}:{port}`,以`,`分隔多个地址 | 空   |
-|servicecomb.kie.enableLongPolling| Long Polling 模式是否开启
   | true|
-|servicecomb.kie.pollingWaitTime| Long Polling 模式下等待时间,单位为秒
 | 10  |
-|servicecomb.kie.firstPullRequired| 启动的时候第一次查询配置失败,是否终止启动。 
   | true|
-|servicecomb.kie.domainName| 区域名称  
| default |
-|servicecomb.kie.refresh_interval| Pull 模式下刷新配置项的时间间隔,单位为毫秒。   
  | 15000   |
-|servicecomb.kie.firstRefreshInterval| Pull 模式下启动过程中首次刷新时间间隔,单位为毫秒。
  | 3000|
-|servicecomb.kie.enableAppConfig| 是否开启应用配置  | true|
-|servicecomb.kie.enableServiceConfig| 是否开启服务配置 | true|
-|servicecomb.kie.enableVersionConfig| 是否开启版本配置 | true|
-|servicecomb.kie.enableVersionConfig| 是否开启自定义配置 | true|
-|servicecomb.kie.customLabel| 自定义配置的Label | public|
-|servicecomb.kie.customLabelValue| 自定义配置的Value | 空|
-
-
-## 使用 nacos
-
-* 下载安装
-
-  可以通过 [nacos官网](https://github.com/alibaba/nacos) 下载和安装 Nacos。
-
-  
-
-* 开发使用
-使用nacos,需要在项目中引入如下依赖:
-
-```xml
-
-  org.apache.servicecomb
-  config-nacos
-
-```
-
-然后在配置文件 microservice.yaml 中增加如下配置项:
-
-```yaml
-servicecomb:
-  nacos:
-serverAddr: http://127.0.0.1:8848
-```
-  
-
-* 使用配置中心增加配置
-
-  Nacos的namespa

svn commit: r68524 - in /dev/servicecomb/servicecomb-java-chassis: 2.8.15/ 2.8.16/ 3.0.2/ 3.1.0/

2024-04-15 Thread liubao
Author: liubao
Date: Mon Apr 15 09:32:10 2024
New Revision: 68524

Log:
release 2.8.16/3.1.0

Added:
dev/servicecomb/servicecomb-java-chassis/2.8.16/

dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip
   (with props)

dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip.asc

dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip.sha512

dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-src.zip
   (with props)

dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-src.zip.asc

dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-src.zip.sha512
dev/servicecomb/servicecomb-java-chassis/3.1.0/

dev/servicecomb/servicecomb-java-chassis/3.1.0/apache-servicecomb-java-chassis-distribution-3.1.0-bin.zip
   (with props)

dev/servicecomb/servicecomb-java-chassis/3.1.0/apache-servicecomb-java-chassis-distribution-3.1.0-bin.zip.asc

dev/servicecomb/servicecomb-java-chassis/3.1.0/apache-servicecomb-java-chassis-distribution-3.1.0-bin.zip.sha512

dev/servicecomb/servicecomb-java-chassis/3.1.0/apache-servicecomb-java-chassis-distribution-3.1.0-src.zip
   (with props)

dev/servicecomb/servicecomb-java-chassis/3.1.0/apache-servicecomb-java-chassis-distribution-3.1.0-src.zip.asc

dev/servicecomb/servicecomb-java-chassis/3.1.0/apache-servicecomb-java-chassis-distribution-3.1.0-src.zip.sha512
Removed:
dev/servicecomb/servicecomb-java-chassis/2.8.15/
dev/servicecomb/servicecomb-java-chassis/3.0.2/

Added: 
dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip
==
Binary file - no diff available.

Propchange: 
dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip
--
svn:mime-type = application/octet-stream

Added: 
dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip.asc
==
--- 
dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip.asc
 (added)
+++ 
dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip.asc
 Mon Apr 15 09:32:10 2024
@@ -0,0 +1,16 @@
+-BEGIN PGP SIGNATURE-
+
+iQIzBAABCgAdFiEEgr9EsxMxTagaNq1NQCyw93alAPoFAmYc1C0ACgkQQCyw93al
+APoe7w/6AhxtECv6vxanDLr4Rz2gTIZsKPhZjD3zExUcnaux5sFi3G+a9tXgig75
+qAsb7HX0Ja6curIQAXr4FXnwftmq0A3vD14yCe4LpAW0D+JCPs459TAZZqHl1Im1
+NgJN/nKv3GHzxjRNIL5OpRDd6aGuefSEagXG8Kk+0eZjC9OWhT0K7erM/VIkNPax
+8/Ghp4dNmDOvDa4MfyrtG65u0uBw1+wUwVMopS56qGxu2vfR2vfZ0qFWwZH+B2Mh
+5TEnJxYnieE2oMG7TMaaQGcfGziu687Qw22Nxff5l40wkxJgmXttjeDb1Qw/UNV4
+6lJtder5jRUHtsfJQMTjNGbOo/fZcSThPhHEcBpQhjPbQBNHH2L+RCJz1phO9cFt
+K2G8TbGe6FgFbGW9B0akhwmDadGqk918SchSw3d4CxfQmHqWg1j5p700lxC6sfMY
+r4+6pq6ye0HRqOoJajCFaYTJI0rjqEmOsJpjUBg3AmRsl2To6AZGMfWc3JYwzp/w
+5ifPZnOAFID3IUlRZusBidsNyZvYBE1L6vOwS71XA2c30DrPuzyFwGo/bjDnQYLy
+99BWL7mhLz+wLDR50OhW/Cpjyn41A29j3J4tXysvyl7s/n8p14FUTms6WzcBTuF1
+AdF0KDnagMu5m66Rhd8I72hK3kBeLu9UHknD7UkYIMKA8AH9dcc=
+=hS2F
+-END PGP SIGNATURE-

Added: 
dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip.sha512
==
--- 
dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip.sha512
 (added)
+++ 
dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip.sha512
 Mon Apr 15 09:32:10 2024
@@ -0,0 +1 @@
+a8d4819e87a8638cc9c7ff70e4a7cfceabf8fd5cf4e785b9722c9de323325f239b9f2e3abb7f16dd54ab7700f10e7f2b7c79d371ab6f6e230d399c03fd063256
 *apache-servicecomb-java-chassis-distribution-2.8.16-bin.zip

Added: 
dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-src.zip
==
Binary file - no diff available.

Propchange: 
dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-src.zip
--
svn:mime-type = application/octet-stream

Added: 
dev/servicecomb/servicecomb-java-chassis/2.8.16/apache-servicecomb-java-chassis-distribution-2.8.16-src.zip.asc
==
--- 
dev/servicecomb/servicecomb-java-chassis/2.8.16

(servicecomb-java-chassis) tag 3.1.0 created (now cb9c34759)

2024-04-15 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to tag 3.1.0
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


  at cb9c34759 (commit)
No new revisions were added by this update.



(servicecomb-java-chassis) tag 2.8.16 created (now a267b41e5)

2024-04-15 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to tag 2.8.16
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


  at a267b41e5 (commit)
No new revisions were added by this update.



(servicecomb-java-chassis) branch 2.8.x updated: [SCB-2872]Fix idle timeout for read and write is not properly set problem

2024-04-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch 2.8.x
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/2.8.x by this push:
 new a267b41e5 [SCB-2872]Fix idle timeout for read and write is not 
properly set problem
a267b41e5 is described below

commit a267b41e5b0e7fdab52c95c1083cd7de44bc1e5c
Author: liubao68 
AuthorDate: Mon Apr 15 10:50:14 2024 +0800

[SCB-2872]Fix idle timeout for read and write is not properly set problem
---
 .../foundation/vertx/client/http/HttpClientOptionsSPI.java| 2 --
 .../servicecomb/transport/rest/vertx/RestServerVerticle.java  | 8 +---
 2 files changed, 1 insertion(+), 9 deletions(-)

diff --git 
a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/http/HttpClientOptionsSPI.java
 
b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/http/HttpClientOptionsSPI.java
index 14b5cbed1..7a483fe96 100644
--- 
a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/http/HttpClientOptionsSPI.java
+++ 
b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/http/HttpClientOptionsSPI.java
@@ -108,8 +108,6 @@ public interface HttpClientOptionsSPI {
 httpClientOptions.setProtocolVersion(spi.getHttpVersion());
 httpClientOptions.setConnectTimeout(spi.getConnectTimeoutInMillis());
 httpClientOptions.setIdleTimeout(spi.getIdleTimeoutInSeconds());
-httpClientOptions.setReadIdleTimeout(spi.getIdleTimeoutInSeconds());
-httpClientOptions.setWriteIdleTimeout(spi.getIdleTimeoutInSeconds());
 httpClientOptions.setTryUseCompression(spi.isTryUseCompression());
 httpClientOptions.setMaxWaitQueueSize(spi.getMaxWaitQueueSize());
 httpClientOptions.setMaxPoolSize(spi.getMaxPoolSize());
diff --git 
a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java
 
b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java
index 1ec8b1489..c9266b180 100644
--- 
a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java
+++ 
b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java
@@ -68,14 +68,12 @@ public class RestServerVerticle extends AbstractVerticle {
 
   private static final String SSL_KEY = "rest.provider";
 
-  private Endpoint endpoint;
-
   private URIEndpointObject endpointObject;
 
   @Override
   public void init(Vertx vertx, Context context) {
 super.init(vertx, context);
-this.endpoint = (Endpoint) 
context.config().getValue(AbstractTransport.ENDPOINT_KEY);
+Endpoint endpoint = (Endpoint) 
context.config().getValue(AbstractTransport.ENDPOINT_KEY);
 this.endpointObject = (URIEndpointObject) endpoint.getAddress();
   }
 
@@ -271,8 +269,6 @@ public class RestServerVerticle extends AbstractVerticle {
   serverOptions.setUseAlpn(TransportConfig.getUseAlpn())
   
.setHttp2ConnectionWindowSize(TransportConfig.getHttp2ConnectionWindowSize())
   
.setIdleTimeout(TransportConfig.getHttp2ConnectionIdleTimeoutInSeconds())
-  
.setReadIdleTimeout(TransportConfig.getHttp2ConnectionIdleTimeoutInSeconds())
-  
.setWriteIdleTimeout(TransportConfig.getHttp2ConnectionIdleTimeoutInSeconds())
   .setInitialSettings(new 
Http2Settings().setPushEnabled(TransportConfig.getPushEnabled())
   
.setMaxConcurrentStreams(TransportConfig.getMaxConcurrentStreams())
   .setHeaderTableSize(TransportConfig.getHttp2HeaderTableSize())
@@ -282,8 +278,6 @@ public class RestServerVerticle extends AbstractVerticle {
   );
 } else {
   
serverOptions.setIdleTimeout(TransportConfig.getConnectionIdleTimeoutInSeconds());
-  
serverOptions.setReadIdleTimeout(TransportConfig.getConnectionIdleTimeoutInSeconds());
-  
serverOptions.setWriteIdleTimeout(TransportConfig.getConnectionIdleTimeoutInSeconds());
 }
 if (endpointObject.isSslEnabled()) {
   SSLOptionFactory factory =



(servicecomb-java-chassis) branch master updated: [SCB-2872]Fix idle timeout for read and write is not properly set problem (#4297)

2024-04-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new cb9c34759 [SCB-2872]Fix idle timeout for read and write is not 
properly set problem (#4297)
cb9c34759 is described below

commit cb9c34759d1602b0f651bad150cad2eae3fdec1a
Author: liubao68 
AuthorDate: Mon Apr 15 09:51:21 2024 +0800

[SCB-2872]Fix idle timeout for read and write is not properly set problem 
(#4297)
---
 .../foundation/vertx/client/http/HttpClientOptionsSPI.java|  2 --
 .../servicecomb/transport/rest/vertx/RestServerVerticle.java  | 11 ++-
 2 files changed, 2 insertions(+), 11 deletions(-)

diff --git 
a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/http/HttpClientOptionsSPI.java
 
b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/http/HttpClientOptionsSPI.java
index 1545081a5..78a12d099 100644
--- 
a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/http/HttpClientOptionsSPI.java
+++ 
b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/http/HttpClientOptionsSPI.java
@@ -103,8 +103,6 @@ public interface HttpClientOptionsSPI {
 httpClientOptions.setProtocolVersion(spi.getHttpVersion());
 httpClientOptions.setConnectTimeout(spi.getConnectTimeoutInMillis());
 httpClientOptions.setIdleTimeout(spi.getIdleTimeoutInSeconds());
-httpClientOptions.setReadIdleTimeout(spi.getIdleTimeoutInSeconds());
-httpClientOptions.setWriteIdleTimeout(spi.getIdleTimeoutInSeconds());
 httpClientOptions.setTryUseCompression(spi.isTryUseCompression());
 httpClientOptions.setMaxWaitQueueSize(spi.getMaxWaitQueueSize());
 httpClientOptions.setMaxPoolSize(spi.getMaxPoolSize());
diff --git 
a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java
 
b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java
index 93920dbc1..c72e50435 100644
--- 
a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java
+++ 
b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java
@@ -67,14 +67,12 @@ public class RestServerVerticle extends AbstractVerticle {
 
   private static final String SSL_KEY = "rest.provider";
 
-  private Endpoint endpoint;
-
   private URIEndpointObject endpointObject;
 
   @Override
   public void init(Vertx vertx, Context context) {
 super.init(vertx, context);
-this.endpoint = (Endpoint) 
context.config().getValue(AbstractTransport.ENDPOINT_KEY);
+Endpoint endpoint = (Endpoint) 
context.config().getValue(AbstractTransport.ENDPOINT_KEY);
 this.endpointObject = (URIEndpointObject) endpoint.getAddress();
   }
 
@@ -137,9 +135,8 @@ public class RestServerVerticle extends AbstractVerticle {
 return;
   }
   HttpServerResponse response = ctx.response();
-  if (ctx.failure() instanceof InvocationException) {
+  if (ctx.failure() instanceof InvocationException exception) {
 // ServiceComb defined exception
-InvocationException exception = (InvocationException) 
ctx.failure();
 response.setStatusCode(exception.getStatusCode());
 response.setStatusMessage(exception.getReasonPhrase());
 response.end(exception.getErrorData().toString());
@@ -270,8 +267,6 @@ public class RestServerVerticle extends AbstractVerticle {
   serverOptions.setUseAlpn(TransportConfig.getUseAlpn())
   
.setHttp2ConnectionWindowSize(TransportConfig.getHttp2ConnectionWindowSize())
   
.setIdleTimeout(TransportConfig.getHttp2ConnectionIdleTimeoutInSeconds())
-  
.setReadIdleTimeout(TransportConfig.getHttp2ConnectionIdleTimeoutInSeconds())
-  
.setWriteIdleTimeout(TransportConfig.getHttp2ConnectionIdleTimeoutInSeconds())
   .setInitialSettings(new 
Http2Settings().setPushEnabled(TransportConfig.getPushEnabled())
   
.setMaxConcurrentStreams(TransportConfig.getMaxConcurrentStreams())
   .setHeaderTableSize(TransportConfig.getHttp2HeaderTableSize())
@@ -281,8 +276,6 @@ public class RestServerVerticle extends AbstractVerticle {
   );
 } else {
   
serverOptions.setIdleTimeout(TransportConfig.getConnectionIdleTimeoutInSeconds());
-  
serverOptions.setReadIdleTimeout(TransportConfig.getConnectionIdleTimeoutInSeconds());
-  
serverOptions.setWriteIdleTimeout(TransportConfig.getConnectionIdleTimeoutInSeconds());
 }
 if (endpointObject.isSslEnabled()) {
   SSLOptionFactory factory =



(servicecomb-java-chassis) branch Branch_2.7.2 deleted (was 154f458f0)

2024-04-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch Branch_2.7.2
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


 was 154f458f0 release java chassis 2.7.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.



(servicecomb-java-chassis) branch Branch_2.7.7 deleted (was a23824a8e)

2024-04-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch Branch_2.7.7
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


 was a23824a8e [SCB-2509] Bump vertx version from 4.2.7 to 4.3.2 (#3244)

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(servicecomb-java-chassis) branch release/1.3.0 deleted (was 3896be3af)

2024-04-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch release/1.3.0
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


 was 3896be3af release 1.3.0

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(servicecomb-java-chassis) branch test_case deleted (was fb290c060)

2024-04-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch test_case
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


 was fb290c060 add test case

This change permanently discards the following revisions:

 discard fb290c060 add test case



(servicecomb-java-chassis) branch dependabot/maven/com.google.protobuf-protobuf-java-3.25.1 deleted (was 49809c6ee)

2024-04-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch 
dependabot/maven/com.google.protobuf-protobuf-java-3.25.1
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


 was 49809c6ee Bump com.google.protobuf:protobuf-java from 3.23.4 to 3.25.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.



(servicecomb-java-chassis) branch multi-protocol deleted (was edd9d79b5)

2024-04-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch multi-protocol
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


 was edd9d79b5 [SCB-2805]change default settings for http keepalive timeout 
and idle timeout (#3927)

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(servicecomb-java-chassis) branch release/1.2.0 deleted (was 04c882beb)

2024-04-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch release/1.2.0
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


 was 04c882beb [SCB-1240] allowed one prometheus cluster support multiple 
apps

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(servicecomb-java-chassis) branch url_pattern deleted (was e8e6ad0db)

2024-04-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch url_pattern
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


 was e8e6ad0db [#3893]fix host name too long and unit test error

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(servicecomb-java-chassis) branch dependabot/maven/dyuproject-protostuff.version-1.2.2 deleted (was a8be2d0cc)

2024-04-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch 
dependabot/maven/dyuproject-protostuff.version-1.2.2
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


 was a8be2d0cc Bump dyuproject-protostuff.version from 1.0.7.fixed.3500 to 
1.2.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.



(servicecomb-java-chassis) branch release/1.1.0 deleted (was 1fa249993)

2024-04-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch release/1.1.0
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


 was 1fa249993 Cut 1.1.0 release

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(servicecomb-java-chassis) branch Branch_2.7.3 deleted (was f8c6a2c2b)

2024-04-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch Branch_2.7.3
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


 was f8c6a2c2b release java chassis 2.7.3

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(servicecomb-java-chassis) branch Branch_2.7.1 deleted (was 3487bb807)

2024-04-14 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch Branch_2.7.1
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


 was 3487bb807 release java chassis 2.7.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.



(servicecomb-java-chassis) branch master updated (a81d546ab -> 0479ea7bf)

2024-04-02 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


from a81d546ab Bump io.fabric8:docker-maven-plugin from 0.43.4 to 0.44.0 
(#4245)
 add 0479ea7bf Bump spring boot from 3.0.7 to 3.1.10 (#4293)

No new revisions were added by this update.

Summary of changes:
 dependencies/default/pom.xml | 17 -
 pom.xml  |  4 ++--
 2 files changed, 18 insertions(+), 3 deletions(-)



(servicecomb-java-chassis) branch master updated: Bump io.fabric8:docker-maven-plugin from 0.43.4 to 0.44.0 (#4245)

2024-04-02 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new a81d546ab Bump io.fabric8:docker-maven-plugin from 0.43.4 to 0.44.0 
(#4245)
a81d546ab is described below

commit a81d546ab6c69b42722e4149590b5e9ad90c6458
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Wed Apr 3 09:26:01 2024 +0800

Bump io.fabric8:docker-maven-plugin from 0.43.4 to 0.44.0 (#4245)
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index ca4a7f37a..6b4b154e7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,7 +47,7 @@
 3.3.1
 4.3.0
 
9.0.9
-0.43.4
+0.44.0
 3.2.0
 3.2.2
 0.8.11



(servicecomb-java-chassis) branch master updated (d055223c2 -> a3a54c012)

2024-04-02 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


from d055223c2 Bump org.java-websocket:Java-WebSocket from 1.5.5 to 1.5.6 
(#4252)
 add a3a54c012 Bump org.assertj:assertj-core from 3.25.2 to 3.25.3 (#4247)

No new revisions were added by this update.

Summary of changes:
 dependencies/default/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(servicecomb-java-chassis) branch master updated (3838cd7c3 -> 03b5873da)

2024-04-02 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


from 3838cd7c3 Bump io.swagger.core.v3:swagger-core-jakarta from 2.2.20 to 
2.2.21 (#4279)
 add 03b5873da Bump org.apache.maven.plugins:maven-gpg-plugin from 3.1.0 to 
3.2.2 (#4278)

No new revisions were added by this update.

Summary of changes:
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(servicecomb-java-chassis) branch master updated (e71070c47 -> d055223c2)

2024-04-02 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


from e71070c47 Bump io.netty:netty-bom from 4.1.106.Final to 4.1.108.Final 
(#4277)
 add d055223c2 Bump org.java-websocket:Java-WebSocket from 1.5.5 to 1.5.6 
(#4252)

No new revisions were added by this update.

Summary of changes:
 dependencies/default/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(servicecomb-java-chassis) branch master updated (03b5873da -> e71070c47)

2024-04-02 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


from 03b5873da Bump org.apache.maven.plugins:maven-gpg-plugin from 3.1.0 to 
3.2.2 (#4278)
 add e71070c47 Bump io.netty:netty-bom from 4.1.106.Final to 4.1.108.Final 
(#4277)

No new revisions were added by this update.

Summary of changes:
 dependencies/default/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(servicecomb-java-chassis) branch master updated (95e117d92 -> 3838cd7c3)

2024-04-02 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


from 95e117d92 Bump org.apache.maven.plugins:maven-compiler-plugin (#4280)
 add 3838cd7c3 Bump io.swagger.core.v3:swagger-core-jakarta from 2.2.20 to 
2.2.21 (#4279)

No new revisions were added by this update.

Summary of changes:
 dependencies/default/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(servicecomb-java-chassis) branch master updated: Bump org.apache.maven.plugins:maven-compiler-plugin (#4280)

2024-04-02 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new 95e117d92 Bump org.apache.maven.plugins:maven-compiler-plugin (#4280)
95e117d92 is described below

commit 95e117d92a34e6a50eb086e9e38c5b0e6e85801c
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Wed Apr 3 09:23:45 2024 +0800

Bump org.apache.maven.plugins:maven-compiler-plugin (#4280)
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 21677fd2d..0fddf2e13 100644
--- a/pom.xml
+++ b/pom.xml
@@ -53,7 +53,7 @@
 0.8.11
 3.6.3
 2.5
-3.12.1
+3.13.0
 3.2.5
 3.3.0
 
3.5.0



(servicecomb-java-chassis) branch master updated: Bump org.apache.maven.plugins:maven-remote-resources-plugin (#4281)

2024-04-02 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new a1169a286 Bump org.apache.maven.plugins:maven-remote-resources-plugin 
(#4281)
a1169a286 is described below

commit a1169a2866ba10fdba4bcad9d89e9ea13fa9
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Wed Apr 3 09:23:13 2024 +0800

Bump org.apache.maven.plugins:maven-remote-resources-plugin (#4281)
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index ce01aedd6..21677fd2d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,7 +57,7 @@
 3.2.5
 3.3.0
 
3.5.0
-
3.1.0
+
3.2.0
 1.7.1
 0.6.1
 3.19.2



(servicecomb-java-chassis) branch master updated (15167d81a -> 458f7b720)

2024-04-02 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


from 15167d81a Bump log4j2.version from 2.23.0 to 2.23.1 (#4285)
 add 458f7b720 Bump com.google.guava:guava from 33.0.0-jre to 33.1.0-jre 
(#4284)

No new revisions were added by this update.

Summary of changes:
 dependencies/default/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(servicecomb-java-chassis) branch master updated (b8bf66a22 -> b646f8808)

2024-04-02 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


from b8bf66a22 Bump io.micrometer:micrometer-bom from 1.12.2 to 1.12.4 
(#4290)
 add b646f8808 Bump com.alibaba.nacos:nacos-client from 2.3.0 to 2.3.1 
(#4286)

No new revisions were added by this update.

Summary of changes:
 dependencies/default/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(servicecomb-java-chassis) branch master updated (458f7b720 -> f3e033128)

2024-04-02 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


from 458f7b720 Bump com.google.guava:guava from 33.0.0-jre to 33.1.0-jre 
(#4284)
 add f3e033128 Bump io.zipkin.zipkin2:zipkin from 2.26.0 to 3.1.1 (#4283)

No new revisions were added by this update.

Summary of changes:
 dependencies/default/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(servicecomb-java-chassis) branch master updated (b646f8808 -> 15167d81a)

2024-04-02 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


from b646f8808 Bump com.alibaba.nacos:nacos-client from 2.3.0 to 2.3.1 
(#4286)
 add 15167d81a Bump log4j2.version from 2.23.0 to 2.23.1 (#4285)

No new revisions were added by this update.

Summary of changes:
 dependencies/default/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(servicecomb-java-chassis) branch master updated: Bump io.micrometer:micrometer-bom from 1.12.2 to 1.12.4 (#4290)

2024-04-02 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new b8bf66a22 Bump io.micrometer:micrometer-bom from 1.12.2 to 1.12.4 
(#4290)
b8bf66a22 is described below

commit b8bf66a221034d463a2ed4a00a10ea03ea8fd018
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Wed Apr 3 09:21:31 2024 +0800

Bump io.micrometer:micrometer-bom from 1.12.2 to 1.12.4 (#4290)
---
 dependencies/default/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dependencies/default/pom.xml b/dependencies/default/pom.xml
index 28c6de4b8..35a1af44e 100644
--- a/dependencies/default/pom.xml
+++ b/dependencies/default/pom.xml
@@ -65,7 +65,7 @@
 1.2.17
 2.23.0
 3.9.6
-1.12.2
+1.12.4
 5.15.0
 2.3.0
 0.3.0



(servicecomb-java-chassis) branch master updated: [SCB-2863]support zookeeper authentication (#4292)

2024-04-02 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new 5ff9fa07b [SCB-2863]support zookeeper authentication (#4292)
5ff9fa07b is described below

commit 5ff9fa07b75151a5c9fac1dd98cb18e399153b69
Author: liubao68 
AuthorDate: Tue Apr 2 20:37:43 2024 +0800

[SCB-2863]support zookeeper authentication (#4292)
---
 .../config/zookeeper/ZookeeperClient.java  | 48 +++--
 .../config/zookeeper/ZookeeperConfig.java  | 12 ++
 .../registry/zookeeper/ZookeeperDiscovery.java | 48 +++--
 .../registry/zookeeper/ZookeeperRegistration.java  | 49 --
 .../zookeeper/ZookeeperRegistryProperties.java | 20 +
 5 files changed, 168 insertions(+), 9 deletions(-)

diff --git 
a/dynamic-config/config-zookeeper/src/main/java/org/apache/servicecomb/config/zookeeper/ZookeeperClient.java
 
b/dynamic-config/config-zookeeper/src/main/java/org/apache/servicecomb/config/zookeeper/ZookeeperClient.java
index 56d9ff7b8..32554923e 100644
--- 
a/dynamic-config/config-zookeeper/src/main/java/org/apache/servicecomb/config/zookeeper/ZookeeperClient.java
+++ 
b/dynamic-config/config-zookeeper/src/main/java/org/apache/servicecomb/config/zookeeper/ZookeeperClient.java
@@ -24,6 +24,9 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
+import javax.security.auth.login.AppConfigurationEntry;
+import javax.security.auth.login.Configuration;
+
 import org.apache.commons.lang3.StringUtils;
 import org.apache.curator.framework.CuratorFramework;
 import org.apache.curator.framework.CuratorFrameworkFactory;
@@ -31,6 +34,7 @@ import 
org.apache.curator.framework.recipes.cache.CuratorCache;
 import org.apache.curator.retry.ExponentialBackoffRetry;
 import org.apache.servicecomb.config.BootStrapProperties;
 import 
org.apache.servicecomb.config.zookeeper.ZookeeperDynamicPropertiesSource.UpdateHandler;
+import org.apache.zookeeper.server.auth.DigestLoginModule;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;
@@ -38,6 +42,29 @@ import org.springframework.core.env.Environment;
 import org.springframework.core.io.ByteArrayResource;
 
 public class ZookeeperClient {
+  static class ZookeeperSASLConfig extends Configuration {
+AppConfigurationEntry entry;
+
+public ZookeeperSASLConfig(String username,
+String password) {
+  Map options = new HashMap<>();
+  options.put("username", username);
+  options.put("password", password);
+  this.entry = new AppConfigurationEntry(
+  DigestLoginModule.class.getName(),
+  AppConfigurationEntry.LoginModuleControlFlag.REQUIRED,
+  options
+  );
+}
+
+@Override
+public AppConfigurationEntry[] getAppConfigurationEntry(String name) {
+  AppConfigurationEntry[] array = new AppConfigurationEntry[1];
+  array[0] = entry;
+  return array;
+}
+  }
+
   private static final Logger LOGGER = 
LoggerFactory.getLogger(ZookeeperClient.class);
 
   public static final String PATH_ENVIRONMENT = 
"/servicecomb/config/environment/%s";
@@ -70,6 +97,7 @@ public class ZookeeperClient {
 
   private Map allLast = new HashMap<>();
 
+
   public ZookeeperClient(UpdateHandler updateHandler, Environment environment) 
{
 this.updateHandler = updateHandler;
 this.zookeeperConfig = new ZookeeperConfig(environment);
@@ -77,9 +105,23 @@ public class ZookeeperClient {
   }
 
   public void refreshZookeeperConfig() throws Exception {
-CuratorFramework client = 
CuratorFrameworkFactory.newClient(zookeeperConfig.getConnectString(),
-zookeeperConfig.getSessionTimeoutMillis(), 
zookeeperConfig.getConnectionTimeoutMillis(),
-new ExponentialBackoffRetry(1000, 3));
+CuratorFrameworkFactory.Builder builder = CuratorFrameworkFactory.builder()
+.connectString(zookeeperConfig.getConnectString())
+.sessionTimeoutMs(zookeeperConfig.getSessionTimeoutMillis())
+.retryPolicy(new ExponentialBackoffRetry(1000, 3));
+String authSchema = zookeeperConfig.getAuthSchema();
+if (StringUtils.isNotEmpty(authSchema)) {
+  if (!"digest".equals(authSchema)) {
+throw new IllegalStateException("Not supported schema now. " + 
authSchema);
+  }
+  if (zookeeperConfig.getAuthInfo() == null) {
+throw new IllegalStateException("Auth info can not be empty. ");
+  }
+
+  String[] authInfo = zookeeperConfig.getAuthInfo().split(":");
+  Configuration.setConfiguration(new ZookeeperSASLConfig(authInfo[0], 
authInfo[1]));
+}
+CuratorFramework client = builder.build();
 client.start();
 
 String env = Boo

(servicecomb-java-chassis) branch master updated (3b07b6e2a -> 5444e46cd)

2024-04-01 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


from 3b07b6e2a [SCB-2863]support zookeeper registry (#4276)
 add 5444e46cd [SCB-2863]support zookeeper config (#4291)

No new revisions were added by this update.

Summary of changes:
 .../servicecomb/samples/ConsumerController.java|   5 +
 .../servicecomb/samples/ProviderService.java   |   2 +
 demo/demo-zookeeper/provider/pom.xml   |   4 +
 .../servicecomb/samples/ProviderController.java|  63 +-
 .../provider/src/main/resources/application.yml|   4 +-
 demo/demo-zookeeper/test-client/pom.xml|   2 +-
 .../apache/servicecomb/samples/HelloWorldIT.java   |  10 +
 dependencies/bom/pom.xml   |   5 +
 dependencies/default/pom.xml   |   5 +
 .../{config-nacos => config-zookeeper}/pom.xml |  14 +-
 .../config/zookeeper/ZookeeperClient.java  | 235 +
 .../config/zookeeper/ZookeeperConfig.java  |  41 ++--
 .../ZookeeperDynamicPropertiesSource.java} |  16 +-
 ...ache.servicecomb.config.DynamicPropertiesSource |   2 +-
 dynamic-config/pom.xml |   1 +
 .../config/ConfigEnvironmentPostProcessor.java |  17 +-
 .../servicecomb/registry/lightweight/Self.java |   6 +-
 .../localregistry/LocalRegistrationInstance.java   |   9 +-
 .../registry/nacos/NacosRegistration.java  |   4 +-
 .../registry/zookeeper/ZookeeperDiscovery.java |   2 +-
 .../registry/zookeeper/ZookeeperRegistration.java  |   6 +-
 .../zookeeper/ZookeeperRegistryProperties.java |  20 +-
 22 files changed, 398 insertions(+), 75 deletions(-)
 copy dynamic-config/{config-nacos => config-zookeeper}/pom.xml (82%)
 create mode 100644 
dynamic-config/config-zookeeper/src/main/java/org/apache/servicecomb/config/zookeeper/ZookeeperClient.java
 copy 
foundations/foundation-config/src/main/java/org/apache/servicecomb/config/priority/DynamicProperty.java
 => 
dynamic-config/config-zookeeper/src/main/java/org/apache/servicecomb/config/zookeeper/ZookeeperConfig.java
 (52%)
 copy 
dynamic-config/{config-nacos/src/main/java/org/apache/servicecomb/config/nacos/NacosDynamicPropertiesSource.java
 => 
config-zookeeper/src/main/java/org/apache/servicecomb/config/zookeeper/ZookeeperDynamicPropertiesSource.java}
 (79%)
 copy dynamic-config/{config-apollo => 
config-zookeeper}/src/main/resources/META-INF/services/org.apache.servicecomb.config.DynamicPropertiesSource
 (91%)



(servicecomb-java-chassis) branch master updated: [SCB-2863]support zookeeper registry (#4276)

2024-04-01 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new 3b07b6e2a [SCB-2863]support zookeeper registry (#4276)
3b07b6e2a is described below

commit 3b07b6e2afe86be03531695b6071f67bf763437e
Author: liubao68 
AuthorDate: Mon Apr 1 14:15:13 2024 +0800

[SCB-2863]support zookeeper registry (#4276)
---
 demo/demo-zookeeper/consumer/pom.xml   |  82 
 .../servicecomb/samples/ConsumerApplication.java   |  33 
 .../servicecomb/samples/ConsumerController.java|  37 
 .../servicecomb/samples/ProviderService.java   |  22 +++
 .../consumer/src/main/resources/application.yml|  34 
 .../consumer/src/main/resources/log4j2.xml |  41 
 demo/demo-zookeeper/gateway/pom.xml|  85 +
 .../servicecomb/samples/GatewayApplication.java|  33 
 .../gateway/src/main/resources/application.yml |  44 +
 .../gateway/src/main/resources/log4j2.xml  |  41 
 {service-registry => demo/demo-zookeeper}/pom.xml  |  43 +++--
 demo/demo-zookeeper/provider/pom.xml   |  86 +
 .../servicecomb/samples/ProviderApplication.java   |  33 
 .../servicecomb/samples/ProviderController.java|  33 
 .../provider/src/main/resources/application.yml|  33 
 .../provider/src/main/resources/log4j2.xml |  41 
 demo/demo-zookeeper/test-client/pom.xml| 209 +
 .../org/apache/servicecomb/samples/Config.java |  22 +++
 .../apache/servicecomb/samples/HelloWorldIT.java   |  40 
 .../servicecomb/samples/TestClientApplication.java |  49 +
 .../test-client/src/main/resources/application.yml |  25 +++
 .../test-client/src/main/resources/log4j2.xml  |  41 
 .../apache/servicecomb/samples/ZookeeperIT.java|  43 +
 demo/pom.xml   |   1 +
 dependencies/bom/pom.xml   |   5 +
 dependencies/default/pom.xml   |  12 ++
 service-registry/pom.xml   |   1 +
 service-registry/{ => registry-zookeeper}/pom.xml  |  43 +++--
 .../registry/zookeeper/ZookeeperConfiguration.java |  40 
 .../registry/zookeeper/ZookeeperConst.java |  29 +++
 .../registry/zookeeper/ZookeeperDiscovery.java | 165 
 .../zookeeper/ZookeeperDiscoveryInstance.java  |  36 
 .../registry/zookeeper/ZookeeperInstance.java  | 190 +++
 .../registry/zookeeper/ZookeeperRegistration.java  | 169 +
 .../zookeeper/ZookeeperRegistrationInstance.java   |  36 
 .../zookeeper/ZookeeperRegistryProperties.java |  79 
 ...rk.boot.autoconfigure.AutoConfiguration.imports |  18 ++
 37 files changed, 1947 insertions(+), 27 deletions(-)

diff --git a/demo/demo-zookeeper/consumer/pom.xml 
b/demo/demo-zookeeper/consumer/pom.xml
new file mode 100644
index 0..23a62be5f
--- /dev/null
+++ b/demo/demo-zookeeper/consumer/pom.xml
@@ -0,0 +1,82 @@
+
+
+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;>
+  4.0.0
+
+  
+org.apache.servicecomb.demo
+demo-zookeeper
+3.1.0-SNAPSHOT
+  
+
+  zookeeper-consumer
+  Java Chassis::Demo::Zookeeper::CONSUMER
+  jar
+
+  
+
+  org.apache.servicecomb
+  java-chassis-spring-boot-starter-standalone
+
+
+  org.apache.servicecomb
+  registry-zookeeper
+
+  
+
+  
+
+  
+org.springframework.boot
+spring-boot-maven-plugin
+  
+
+  
+
+  
+
+  docker
+  
+
+  
+io.fabric8
+docker-maven-plugin
+  
+  
+org.commonjava.maven.plugins
+directory-maven-plugin
+  
+  
+com.github.odavid.maven.plugins
+mixin-maven-plugin
+
+  
+
+  org.apache.servicecomb.demo
+  docker-build-config
+  ${project.version}
+
+  
+
+  
+
+  
+
+  
+
\ No newline at end of file
diff --git 
a/demo/demo-zookeeper/consumer/src/main/java/org/apache/servicecomb/samples/ConsumerApplication.java
 
b/demo/demo-zookeeper/consumer/src/main/java/org/apache/servicecomb/samples/ConsumerApplication.java
new file mode 100644
index 0..3e7a2a0e2
--- /dev/null
+++ 
b/demo/demo-zookeeper/consumer/src/main/java/org/apache/servicecomb/samples/ConsumerApplication.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed

  1   2   3   4   5   6   7   8   9   10   >