ddm-plugin-dubbo-support 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -38,10 +38,10 @@ __webpack_require__.r(__webpack_exports__);
38
38
  /* harmony import */ var appMain__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6);
39
39
  /* harmony import */ var appMain__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(appMain__WEBPACK_IMPORTED_MODULE_0__);
40
40
  /* harmony import */ var _main_datasource_zookeeper_ZookeeperDataSource__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10);
41
- /* harmony import */ var _main_datasource_nacos_NacosDataSource__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(366);
42
- /* harmony import */ var _main_datasource_nacos3_Nacos3DataSource__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(397);
43
- /* harmony import */ var _main_datasource_etcd_EtcdDataSource__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(399);
44
- /* harmony import */ var _main_datasource_dubboadmin_DubboAdminDataSource__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(401);
41
+ /* harmony import */ var _main_datasource_nacos_NacosDataSource__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(367);
42
+ /* harmony import */ var _main_datasource_nacos3_Nacos3DataSource__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(398);
43
+ /* harmony import */ var _main_datasource_etcd_EtcdDataSource__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(400);
44
+ /* harmony import */ var _main_datasource_dubboadmin_DubboAdminDataSource__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(402);
45
45
 
46
46
 
47
47
 
@@ -211,9 +211,7 @@ class ZookeeperDataSource {
211
211
  const exculdeName = ["mapping", "config", "metadata"];
212
212
  const serviceList = children.filter(e => !exculdeName.find(name => name === e)).map(e => {
213
213
  return {
214
- serviceName: e,
215
- uniqueServiceName: e,
216
- type: 'dubbo'
214
+ serviceName: e
217
215
  };
218
216
  });
219
217
  logger__WEBPACK_IMPORTED_MODULE_6___default().info(`【接口模式】-查询服务列表 耗时:${Date.now() - startTime}ms`);
@@ -286,7 +284,6 @@ class ZookeeperDataSource {
286
284
  serviceList.push({
287
285
  application,
288
286
  serviceName: service.name,
289
- uniqueServiceName: service.name,
290
287
  type: 'dubbo'
291
288
  });
292
289
  });
@@ -317,7 +314,6 @@ class ZookeeperDataSource {
317
314
  serviceList.push({
318
315
  application,
319
316
  serviceName,
320
- uniqueServiceName: serviceName,
321
317
  discoverMode: 'mapping'
322
318
  });
323
319
  });
@@ -444,7 +440,6 @@ class ZookeeperDataSource {
444
440
  protocol: applicationMetadata.protocol,
445
441
  application: instanceData.name,
446
442
  serviceName: serviceInfo.serviceName,
447
- uniqueServiceName: serviceInfo.uniqueServiceName || serviceInfo.serviceName,
448
443
  version: applicationMetadata.version || metadataParams?.version || '',
449
444
  methods: Array.from(new Set((metadataParams.methods || "").split(",").filter(Boolean))),
450
445
  revision: metadataParams.revision,
@@ -614,7 +609,6 @@ class ZookeeperDataSource {
614
609
  address: `${urlData.host}:${urlData.port}`,
615
610
  application: urlData.params.application,
616
611
  serviceName: urlData.params.interface,
617
- uniqueServiceName: urlData.params.interface,
618
612
  version: urlData.params.version,
619
613
  weight: urlData.params.weight,
620
614
  // 是否过时
@@ -44765,11 +44759,13 @@ __webpack_require__.r(__webpack_exports__);
44765
44759
  /* harmony export */ });
44766
44760
  /* harmony import */ var _main_invoker_TelnetInvoker_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(347);
44767
44761
  /* harmony import */ var _main_invoker_JavaInvoker_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(361);
44768
- /* harmony import */ var _main_invoker_InvokerAdapter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(365);
44762
+ /* harmony import */ var _main_invoker_TripleHttpInvoker_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(365);
44763
+ /* harmony import */ var _main_invoker_InvokerAdapter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(366);
44769
44764
 
44770
44765
 
44771
44766
 
44772
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new _main_invoker_InvokerAdapter__WEBPACK_IMPORTED_MODULE_2__["default"](new _main_invoker_JavaInvoker_js__WEBPACK_IMPORTED_MODULE_1__["default"](), new _main_invoker_TelnetInvoker_js__WEBPACK_IMPORTED_MODULE_0__["default"]()));
44767
+
44768
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new _main_invoker_InvokerAdapter__WEBPACK_IMPORTED_MODULE_3__["default"](new _main_invoker_JavaInvoker_js__WEBPACK_IMPORTED_MODULE_1__["default"](), new _main_invoker_TelnetInvoker_js__WEBPACK_IMPORTED_MODULE_0__["default"](), new _main_invoker_TripleHttpInvoker_js__WEBPACK_IMPORTED_MODULE_2__["default"]()));
44773
44769
 
44774
44770
  /***/ }),
44775
44771
  /* 347 */
@@ -49527,17 +49523,98 @@ module.exports = require("path");
49527
49523
  /* 365 */
49528
49524
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
49529
49525
 
49526
+ "use strict";
49527
+ __webpack_require__.r(__webpack_exports__);
49528
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
49529
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
49530
+ /* harmony export */ });
49531
+ /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7);
49532
+ /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_0__);
49533
+ /* harmony import */ var _common_JSONUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(354);
49534
+ /* harmony import */ var _main_invoker_InvokeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(359);
49535
+
49536
+
49537
+
49538
+ class TripleHttpInvoker {
49539
+ async invokeMethod(provider, methodInfo, code) {
49540
+ const startTime = Date.now();
49541
+ const url = this.buildUrl(provider, methodInfo);
49542
+ const headers = this.buildHeaders(provider);
49543
+ const params = _common_JSONUtils__WEBPACK_IMPORTED_MODULE_1__["default"].parseBigIntAsString(code);
49544
+ try {
49545
+ const response = await axios__WEBPACK_IMPORTED_MODULE_0___default().post(url, params, {
49546
+ headers,
49547
+ timeout: 30000,
49548
+ parseMode: "bigint"
49549
+ });
49550
+ return new _main_invoker_InvokeUtils_js__WEBPACK_IMPORTED_MODULE_2__["default"].InvokeResult(_common_JSONUtils__WEBPACK_IMPORTED_MODULE_1__["default"].stringifyBigIntAsBigInt(response.data, null, 2), Date.now() - startTime);
49551
+ } catch (error) {
49552
+ throw new Error(this.buildErrorMessage(error));
49553
+ }
49554
+ }
49555
+ buildUrl(provider, methodInfo) {
49556
+ const address = provider.address || `${provider.ip}:${provider.port}`;
49557
+ const baseUrl = /^https?:\/\//i.test(address) ? address : `http://${address}`;
49558
+ const serviceName = provider.serviceName;
49559
+ const methodName = methodInfo.methodName || methodInfo.name?.replace(/\(.*$/, '');
49560
+ return `${baseUrl.replace(/\/$/, '')}/${serviceName}/${methodName}`;
49561
+ }
49562
+ buildHeaders(provider) {
49563
+ const headers = {
49564
+ "Content-Type": "application/json",
49565
+ "Accept": "application/json",
49566
+ "tri-protocol-version": "1"
49567
+ };
49568
+ if (provider.version) {
49569
+ headers["tri-service-version"] = provider.version;
49570
+ }
49571
+ if (provider.group) {
49572
+ headers["tri-service-group"] = provider.group;
49573
+ }
49574
+ return headers;
49575
+ }
49576
+ buildErrorMessage(error) {
49577
+ if (error.response) {
49578
+ const responseData = this.stringifyErrorData(error.response.data);
49579
+ return `Triple HTTP 调用失败,状态码:${error.response.status}${responseData ? `,响应:${responseData}` : ''}`;
49580
+ }
49581
+ if (error.code === 'ECONNABORTED' || error.code === 'ETIMEDOUT' || /timeout/i.test(error.message || '')) {
49582
+ return "Triple HTTP 调用超时(30000ms)";
49583
+ }
49584
+ return `Triple HTTP 调用失败:${error.message || error}`;
49585
+ }
49586
+ stringifyErrorData(data) {
49587
+ if (data === undefined || data === null || data === '') {
49588
+ return '';
49589
+ }
49590
+ if (typeof data === 'string') {
49591
+ return data;
49592
+ }
49593
+ return _common_JSONUtils__WEBPACK_IMPORTED_MODULE_1__["default"].stringifyBigIntAsBigInt(data);
49594
+ }
49595
+ }
49596
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TripleHttpInvoker);
49597
+
49598
+ /***/ }),
49599
+ /* 366 */
49600
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
49601
+
49530
49602
  "use strict";
49531
49603
  __webpack_require__.r(__webpack_exports__);
49532
49604
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
49533
49605
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
49534
49606
  /* harmony export */ });
49535
49607
  class InvokerAdapter {
49536
- constructor(javaInvoker, telnetInvoker) {
49608
+ constructor(javaInvoker, telnetInvoker, tripleHttpInvoker) {
49537
49609
  this.javaInvoker = javaInvoker;
49538
49610
  this.telnetInvoker = telnetInvoker;
49611
+ this.tripleHttpInvoker = tripleHttpInvoker;
49539
49612
  }
49540
49613
  invokeMethod(provder, methodInfo, code, invokerType) {
49614
+ const protocol = (provder.protocol || '').toLowerCase();
49615
+ if (protocol === "tri" || protocol === "triple") {
49616
+ return this.tripleHttpInvoker.invokeMethod(provder, methodInfo, code);
49617
+ }
49541
49618
  if (invokerType === "telnet") {
49542
49619
  return this.telnetInvoker.invokeMethod(provder, methodInfo, code);
49543
49620
  }
@@ -49547,7 +49624,7 @@ class InvokerAdapter {
49547
49624
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (InvokerAdapter);
49548
49625
 
49549
49626
  /***/ }),
49550
- /* 366 */
49627
+ /* 367 */
49551
49628
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
49552
49629
 
49553
49630
  "use strict";
@@ -49562,7 +49639,7 @@ __webpack_require__.r(__webpack_exports__);
49562
49639
  /* harmony import */ var logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8);
49563
49640
  /* harmony import */ var logger__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(logger__WEBPACK_IMPORTED_MODULE_2__);
49564
49641
  /* harmony import */ var _common_UrlUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(11);
49565
- /* harmony import */ var _main_datasource_nacos_NacosUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(367);
49642
+ /* harmony import */ var _main_datasource_nacos_NacosUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(368);
49566
49643
  /* harmony import */ var _main_common_YamlUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(16);
49567
49644
  /* harmony import */ var _main_common_DubboConfigurationUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(202);
49568
49645
  /* harmony import */ var _main_generator_ParamGeneratorAdapter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(203);
@@ -49704,9 +49781,9 @@ class NacosDataSource {
49704
49781
  }
49705
49782
  serviceList.add(datas[1]);
49706
49783
  }
49707
- return Array.from(serviceList).map(serviceName => {
49708
- serviceName;
49709
- });
49784
+ return Array.from(serviceList).map(serviceName => ({
49785
+ serviceName
49786
+ }));
49710
49787
  }
49711
49788
 
49712
49789
  /**
@@ -49870,7 +49947,7 @@ class NacosDataSource {
49870
49947
  // let url = `${dataSourceInfo.address}/nacos/v1/ns/instance/list`;
49871
49948
 
49872
49949
  // let params = {
49873
- // serviceName: serviceInfo.uniqueServiceName,
49950
+ // serviceName: xxx,
49874
49951
  // namespaceId: dataSourceInfo.namespaceId || "",
49875
49952
  // groupName: dataSourceInfo.groupName || "",
49876
49953
  // accessToken: await this.getAccessToken(dataSourceInfo)
@@ -50038,7 +50115,7 @@ class NacosDataSource {
50038
50115
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NacosDataSource);
50039
50116
 
50040
50117
  /***/ }),
50041
- /* 367 */
50118
+ /* 368 */
50042
50119
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
50043
50120
 
50044
50121
  "use strict";
@@ -50052,7 +50129,7 @@ __webpack_require__.r(__webpack_exports__);
50052
50129
  /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_1__);
50053
50130
  /* harmony import */ var logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8);
50054
50131
  /* harmony import */ var logger__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(logger__WEBPACK_IMPORTED_MODULE_2__);
50055
- /* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(368);
50132
+ /* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(369);
50056
50133
  /* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_3__);
50057
50134
 
50058
50135
 
@@ -50289,15 +50366,15 @@ class NacosUtils {
50289
50366
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new NacosUtils());
50290
50367
 
50291
50368
  /***/ }),
50292
- /* 368 */
50369
+ /* 369 */
50293
50370
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
50294
50371
 
50295
50372
  "use strict";
50296
50373
 
50297
50374
 
50298
- var stringify = __webpack_require__(369);
50299
- var parse = __webpack_require__(396);
50300
- var formats = __webpack_require__(395);
50375
+ var stringify = __webpack_require__(370);
50376
+ var parse = __webpack_require__(397);
50377
+ var formats = __webpack_require__(396);
50301
50378
 
50302
50379
  module.exports = {
50303
50380
  formats: formats,
@@ -50307,15 +50384,15 @@ module.exports = {
50307
50384
 
50308
50385
 
50309
50386
  /***/ }),
50310
- /* 369 */
50387
+ /* 370 */
50311
50388
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
50312
50389
 
50313
50390
  "use strict";
50314
50391
 
50315
50392
 
50316
- var getSideChannel = __webpack_require__(370);
50317
- var utils = __webpack_require__(394);
50318
- var formats = __webpack_require__(395);
50393
+ var getSideChannel = __webpack_require__(371);
50394
+ var utils = __webpack_require__(395);
50395
+ var formats = __webpack_require__(396);
50319
50396
  var has = Object.prototype.hasOwnProperty;
50320
50397
 
50321
50398
  var arrayPrefixGenerators = {
@@ -50665,17 +50742,17 @@ module.exports = function (object, opts) {
50665
50742
 
50666
50743
 
50667
50744
  /***/ }),
50668
- /* 370 */
50745
+ /* 371 */
50669
50746
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
50670
50747
 
50671
50748
  "use strict";
50672
50749
 
50673
50750
 
50674
- var GetIntrinsic = __webpack_require__(371);
50675
- var callBound = __webpack_require__(385);
50676
- var inspect = __webpack_require__(392);
50751
+ var GetIntrinsic = __webpack_require__(372);
50752
+ var callBound = __webpack_require__(386);
50753
+ var inspect = __webpack_require__(393);
50677
50754
 
50678
- var $TypeError = __webpack_require__(377);
50755
+ var $TypeError = __webpack_require__(378);
50679
50756
  var $WeakMap = GetIntrinsic('%WeakMap%', true);
50680
50757
  var $Map = GetIntrinsic('%Map%', true);
50681
50758
 
@@ -50801,7 +50878,7 @@ module.exports = function getSideChannel() {
50801
50878
 
50802
50879
 
50803
50880
  /***/ }),
50804
- /* 371 */
50881
+ /* 372 */
50805
50882
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
50806
50883
 
50807
50884
  "use strict";
@@ -50809,13 +50886,13 @@ module.exports = function getSideChannel() {
50809
50886
 
50810
50887
  var undefined;
50811
50888
 
50812
- var $Error = __webpack_require__(372);
50813
- var $EvalError = __webpack_require__(373);
50814
- var $RangeError = __webpack_require__(374);
50815
- var $ReferenceError = __webpack_require__(375);
50816
- var $SyntaxError = __webpack_require__(376);
50817
- var $TypeError = __webpack_require__(377);
50818
- var $URIError = __webpack_require__(378);
50889
+ var $Error = __webpack_require__(373);
50890
+ var $EvalError = __webpack_require__(374);
50891
+ var $RangeError = __webpack_require__(375);
50892
+ var $ReferenceError = __webpack_require__(376);
50893
+ var $SyntaxError = __webpack_require__(377);
50894
+ var $TypeError = __webpack_require__(378);
50895
+ var $URIError = __webpack_require__(379);
50819
50896
 
50820
50897
  var $Function = Function;
50821
50898
 
@@ -50855,8 +50932,8 @@ var ThrowTypeError = $gOPD
50855
50932
  }())
50856
50933
  : throwTypeError;
50857
50934
 
50858
- var hasSymbols = __webpack_require__(379)();
50859
- var hasProto = __webpack_require__(381)();
50935
+ var hasSymbols = __webpack_require__(380)();
50936
+ var hasProto = __webpack_require__(382)();
50860
50937
 
50861
50938
  var getProto = Object.getPrototypeOf || (
50862
50939
  hasProto
@@ -51028,8 +51105,8 @@ var LEGACY_ALIASES = {
51028
51105
  '%WeakSetPrototype%': ['WeakSet', 'prototype']
51029
51106
  };
51030
51107
 
51031
- var bind = __webpack_require__(382);
51032
- var hasOwn = __webpack_require__(384);
51108
+ var bind = __webpack_require__(383);
51109
+ var hasOwn = __webpack_require__(385);
51033
51110
  var $concat = bind.call(Function.call, Array.prototype.concat);
51034
51111
  var $spliceApply = bind.call(Function.apply, Array.prototype.splice);
51035
51112
  var $replace = bind.call(Function.call, String.prototype.replace);
@@ -51167,7 +51244,7 @@ module.exports = function GetIntrinsic(name, allowMissing) {
51167
51244
 
51168
51245
 
51169
51246
  /***/ }),
51170
- /* 372 */
51247
+ /* 373 */
51171
51248
  /***/ ((module) => {
51172
51249
 
51173
51250
  "use strict";
@@ -51178,7 +51255,7 @@ module.exports = Error;
51178
51255
 
51179
51256
 
51180
51257
  /***/ }),
51181
- /* 373 */
51258
+ /* 374 */
51182
51259
  /***/ ((module) => {
51183
51260
 
51184
51261
  "use strict";
@@ -51189,7 +51266,7 @@ module.exports = EvalError;
51189
51266
 
51190
51267
 
51191
51268
  /***/ }),
51192
- /* 374 */
51269
+ /* 375 */
51193
51270
  /***/ ((module) => {
51194
51271
 
51195
51272
  "use strict";
@@ -51200,7 +51277,7 @@ module.exports = RangeError;
51200
51277
 
51201
51278
 
51202
51279
  /***/ }),
51203
- /* 375 */
51280
+ /* 376 */
51204
51281
  /***/ ((module) => {
51205
51282
 
51206
51283
  "use strict";
@@ -51211,7 +51288,7 @@ module.exports = ReferenceError;
51211
51288
 
51212
51289
 
51213
51290
  /***/ }),
51214
- /* 376 */
51291
+ /* 377 */
51215
51292
  /***/ ((module) => {
51216
51293
 
51217
51294
  "use strict";
@@ -51222,7 +51299,7 @@ module.exports = SyntaxError;
51222
51299
 
51223
51300
 
51224
51301
  /***/ }),
51225
- /* 377 */
51302
+ /* 378 */
51226
51303
  /***/ ((module) => {
51227
51304
 
51228
51305
  "use strict";
@@ -51233,7 +51310,7 @@ module.exports = TypeError;
51233
51310
 
51234
51311
 
51235
51312
  /***/ }),
51236
- /* 378 */
51313
+ /* 379 */
51237
51314
  /***/ ((module) => {
51238
51315
 
51239
51316
  "use strict";
@@ -51244,14 +51321,14 @@ module.exports = URIError;
51244
51321
 
51245
51322
 
51246
51323
  /***/ }),
51247
- /* 379 */
51324
+ /* 380 */
51248
51325
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
51249
51326
 
51250
51327
  "use strict";
51251
51328
 
51252
51329
 
51253
51330
  var origSymbol = typeof Symbol !== 'undefined' && Symbol;
51254
- var hasSymbolSham = __webpack_require__(380);
51331
+ var hasSymbolSham = __webpack_require__(381);
51255
51332
 
51256
51333
  module.exports = function hasNativeSymbols() {
51257
51334
  if (typeof origSymbol !== 'function') { return false; }
@@ -51264,7 +51341,7 @@ module.exports = function hasNativeSymbols() {
51264
51341
 
51265
51342
 
51266
51343
  /***/ }),
51267
- /* 380 */
51344
+ /* 381 */
51268
51345
  /***/ ((module) => {
51269
51346
 
51270
51347
  "use strict";
@@ -51313,7 +51390,7 @@ module.exports = function hasSymbols() {
51313
51390
 
51314
51391
 
51315
51392
  /***/ }),
51316
- /* 381 */
51393
+ /* 382 */
51317
51394
  /***/ ((module) => {
51318
51395
 
51319
51396
  "use strict";
@@ -51335,19 +51412,19 @@ module.exports = function hasProto() {
51335
51412
 
51336
51413
 
51337
51414
  /***/ }),
51338
- /* 382 */
51415
+ /* 383 */
51339
51416
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
51340
51417
 
51341
51418
  "use strict";
51342
51419
 
51343
51420
 
51344
- var implementation = __webpack_require__(383);
51421
+ var implementation = __webpack_require__(384);
51345
51422
 
51346
51423
  module.exports = Function.prototype.bind || implementation;
51347
51424
 
51348
51425
 
51349
51426
  /***/ }),
51350
- /* 383 */
51427
+ /* 384 */
51351
51428
  /***/ ((module) => {
51352
51429
 
51353
51430
  "use strict";
@@ -51438,7 +51515,7 @@ module.exports = function bind(that) {
51438
51515
 
51439
51516
 
51440
51517
  /***/ }),
51441
- /* 384 */
51518
+ /* 385 */
51442
51519
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
51443
51520
 
51444
51521
  "use strict";
@@ -51446,22 +51523,22 @@ module.exports = function bind(that) {
51446
51523
 
51447
51524
  var call = Function.prototype.call;
51448
51525
  var $hasOwn = Object.prototype.hasOwnProperty;
51449
- var bind = __webpack_require__(382);
51526
+ var bind = __webpack_require__(383);
51450
51527
 
51451
51528
  /** @type {import('.')} */
51452
51529
  module.exports = bind.call(call, $hasOwn);
51453
51530
 
51454
51531
 
51455
51532
  /***/ }),
51456
- /* 385 */
51533
+ /* 386 */
51457
51534
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
51458
51535
 
51459
51536
  "use strict";
51460
51537
 
51461
51538
 
51462
- var GetIntrinsic = __webpack_require__(371);
51539
+ var GetIntrinsic = __webpack_require__(372);
51463
51540
 
51464
- var callBind = __webpack_require__(386);
51541
+ var callBind = __webpack_require__(387);
51465
51542
 
51466
51543
  var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));
51467
51544
 
@@ -51475,22 +51552,22 @@ module.exports = function callBoundIntrinsic(name, allowMissing) {
51475
51552
 
51476
51553
 
51477
51554
  /***/ }),
51478
- /* 386 */
51555
+ /* 387 */
51479
51556
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
51480
51557
 
51481
51558
  "use strict";
51482
51559
 
51483
51560
 
51484
- var bind = __webpack_require__(382);
51485
- var GetIntrinsic = __webpack_require__(371);
51486
- var setFunctionLength = __webpack_require__(387);
51561
+ var bind = __webpack_require__(383);
51562
+ var GetIntrinsic = __webpack_require__(372);
51563
+ var setFunctionLength = __webpack_require__(388);
51487
51564
 
51488
- var $TypeError = __webpack_require__(377);
51565
+ var $TypeError = __webpack_require__(378);
51489
51566
  var $apply = GetIntrinsic('%Function.prototype.apply%');
51490
51567
  var $call = GetIntrinsic('%Function.prototype.call%');
51491
51568
  var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);
51492
51569
 
51493
- var $defineProperty = __webpack_require__(389);
51570
+ var $defineProperty = __webpack_require__(390);
51494
51571
  var $max = GetIntrinsic('%Math.max%');
51495
51572
 
51496
51573
  module.exports = function callBind(originalFunction) {
@@ -51517,18 +51594,18 @@ if ($defineProperty) {
51517
51594
 
51518
51595
 
51519
51596
  /***/ }),
51520
- /* 387 */
51597
+ /* 388 */
51521
51598
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
51522
51599
 
51523
51600
  "use strict";
51524
51601
 
51525
51602
 
51526
- var GetIntrinsic = __webpack_require__(371);
51527
- var define = __webpack_require__(388);
51528
- var hasDescriptors = __webpack_require__(391)();
51529
- var gOPD = __webpack_require__(390);
51603
+ var GetIntrinsic = __webpack_require__(372);
51604
+ var define = __webpack_require__(389);
51605
+ var hasDescriptors = __webpack_require__(392)();
51606
+ var gOPD = __webpack_require__(391);
51530
51607
 
51531
- var $TypeError = __webpack_require__(377);
51608
+ var $TypeError = __webpack_require__(378);
51532
51609
  var $floor = GetIntrinsic('%Math.floor%');
51533
51610
 
51534
51611
  /** @type {import('.')} */
@@ -51566,18 +51643,18 @@ module.exports = function setFunctionLength(fn, length) {
51566
51643
 
51567
51644
 
51568
51645
  /***/ }),
51569
- /* 388 */
51646
+ /* 389 */
51570
51647
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
51571
51648
 
51572
51649
  "use strict";
51573
51650
 
51574
51651
 
51575
- var $defineProperty = __webpack_require__(389);
51652
+ var $defineProperty = __webpack_require__(390);
51576
51653
 
51577
- var $SyntaxError = __webpack_require__(376);
51578
- var $TypeError = __webpack_require__(377);
51654
+ var $SyntaxError = __webpack_require__(377);
51655
+ var $TypeError = __webpack_require__(378);
51579
51656
 
51580
- var gopd = __webpack_require__(390);
51657
+ var gopd = __webpack_require__(391);
51581
51658
 
51582
51659
  /** @type {import('.')} */
51583
51660
  module.exports = function defineDataProperty(
@@ -51629,13 +51706,13 @@ module.exports = function defineDataProperty(
51629
51706
 
51630
51707
 
51631
51708
  /***/ }),
51632
- /* 389 */
51709
+ /* 390 */
51633
51710
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
51634
51711
 
51635
51712
  "use strict";
51636
51713
 
51637
51714
 
51638
- var GetIntrinsic = __webpack_require__(371);
51715
+ var GetIntrinsic = __webpack_require__(372);
51639
51716
 
51640
51717
  /** @type {import('.')} */
51641
51718
  var $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;
@@ -51652,13 +51729,13 @@ module.exports = $defineProperty;
51652
51729
 
51653
51730
 
51654
51731
  /***/ }),
51655
- /* 390 */
51732
+ /* 391 */
51656
51733
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
51657
51734
 
51658
51735
  "use strict";
51659
51736
 
51660
51737
 
51661
- var GetIntrinsic = __webpack_require__(371);
51738
+ var GetIntrinsic = __webpack_require__(372);
51662
51739
 
51663
51740
  var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);
51664
51741
 
@@ -51675,13 +51752,13 @@ module.exports = $gOPD;
51675
51752
 
51676
51753
 
51677
51754
  /***/ }),
51678
- /* 391 */
51755
+ /* 392 */
51679
51756
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
51680
51757
 
51681
51758
  "use strict";
51682
51759
 
51683
51760
 
51684
- var $defineProperty = __webpack_require__(389);
51761
+ var $defineProperty = __webpack_require__(390);
51685
51762
 
51686
51763
  var hasPropertyDescriptors = function hasPropertyDescriptors() {
51687
51764
  return !!$defineProperty;
@@ -51704,7 +51781,7 @@ module.exports = hasPropertyDescriptors;
51704
51781
 
51705
51782
 
51706
51783
  /***/ }),
51707
- /* 392 */
51784
+ /* 393 */
51708
51785
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
51709
51786
 
51710
51787
  var hasMap = typeof Map === 'function' && Map.prototype;
@@ -51774,7 +51851,7 @@ function addNumericSeparator(num, str) {
51774
51851
  return $replace.call(str, sepRegex, '$&_');
51775
51852
  }
51776
51853
 
51777
- var utilInspect = __webpack_require__(393);
51854
+ var utilInspect = __webpack_require__(394);
51778
51855
  var inspectCustom = utilInspect.custom;
51779
51856
  var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;
51780
51857
 
@@ -52237,19 +52314,19 @@ function arrObjKeys(obj, inspect) {
52237
52314
 
52238
52315
 
52239
52316
  /***/ }),
52240
- /* 393 */
52317
+ /* 394 */
52241
52318
  /***/ (() => {
52242
52319
 
52243
52320
  /* (ignored) */
52244
52321
 
52245
52322
  /***/ }),
52246
- /* 394 */
52323
+ /* 395 */
52247
52324
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
52248
52325
 
52249
52326
  "use strict";
52250
52327
 
52251
52328
 
52252
- var formats = __webpack_require__(395);
52329
+ var formats = __webpack_require__(396);
52253
52330
 
52254
52331
  var has = Object.prototype.hasOwnProperty;
52255
52332
  var isArray = Array.isArray;
@@ -52515,7 +52592,7 @@ module.exports = {
52515
52592
 
52516
52593
 
52517
52594
  /***/ }),
52518
- /* 395 */
52595
+ /* 396 */
52519
52596
  /***/ ((module) => {
52520
52597
 
52521
52598
  "use strict";
@@ -52545,13 +52622,13 @@ module.exports = {
52545
52622
 
52546
52623
 
52547
52624
  /***/ }),
52548
- /* 396 */
52625
+ /* 397 */
52549
52626
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
52550
52627
 
52551
52628
  "use strict";
52552
52629
 
52553
52630
 
52554
- var utils = __webpack_require__(394);
52631
+ var utils = __webpack_require__(395);
52555
52632
 
52556
52633
  var has = Object.prototype.hasOwnProperty;
52557
52634
  var isArray = Array.isArray;
@@ -52848,7 +52925,7 @@ module.exports = function (str, opts) {
52848
52925
 
52849
52926
 
52850
52927
  /***/ }),
52851
- /* 397 */
52928
+ /* 398 */
52852
52929
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
52853
52930
 
52854
52931
  "use strict";
@@ -52858,11 +52935,14 @@ __webpack_require__.r(__webpack_exports__);
52858
52935
  /* harmony export */ });
52859
52936
  /* harmony import */ var logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
52860
52937
  /* harmony import */ var logger__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(logger__WEBPACK_IMPORTED_MODULE_0__);
52861
- /* harmony import */ var _main_common_YamlUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16);
52862
- /* harmony import */ var _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(398);
52863
- /* harmony import */ var _main_common_DubboConfigurationUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(202);
52864
- /* harmony import */ var _main_generator_ParamGeneratorAdapter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(203);
52865
- /* harmony import */ var _main_invoker___WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(346);
52938
+ /* harmony import */ var appConfig__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(362);
52939
+ /* harmony import */ var appConfig__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(appConfig__WEBPACK_IMPORTED_MODULE_1__);
52940
+ /* harmony import */ var _main_common_YamlUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16);
52941
+ /* harmony import */ var _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(399);
52942
+ /* harmony import */ var _main_common_DubboConfigurationUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(202);
52943
+ /* harmony import */ var _main_generator_ParamGeneratorAdapter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(203);
52944
+ /* harmony import */ var _main_invoker___WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(346);
52945
+
52866
52946
 
52867
52947
 
52868
52948
 
@@ -52876,35 +52956,38 @@ __webpack_require__.r(__webpack_exports__);
52876
52956
  */
52877
52957
  class Nacos3DataSource {
52878
52958
  async getServiceList(dataSourceInfo) {
52879
- const applicationServiceList = dataSourceInfo.instanceMode !== false ? await this.getApplicationServiceList(dataSourceInfo) : [];
52880
- const interfaceServiceList = dataSourceInfo.interfaceMode !== false ? await this.getInterfaceServiceList(dataSourceInfo) : [];
52959
+ const nacosServiceList = await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_3__["default"].getNacosServiceList(dataSourceInfo);
52960
+ const applicationServiceList = dataSourceInfo.instanceMode !== false ? await this.getApplicationServiceList(dataSourceInfo, nacosServiceList) : [];
52961
+ const interfaceServiceList = dataSourceInfo.interfaceMode !== false ? await this.getInterfaceServiceList(dataSourceInfo, nacosServiceList) : [];
52881
52962
  return {
52882
52963
  list: this.mergeServiceList(interfaceServiceList, applicationServiceList),
52883
52964
  separator: '.',
52884
52965
  packageSeparator: '.'
52885
52966
  };
52886
52967
  }
52887
- async getApplicationServiceList(dataSourceInfo) {
52968
+ async getApplicationServiceList(dataSourceInfo, nacosServiceList) {
52888
52969
  const serviceList = [];
52889
52970
  let startTime = Date.now();
52890
52971
  try {
52891
- serviceList.push(...(await this.getServiceListByApplicationMatedata(dataSourceInfo)));
52892
- logger__WEBPACK_IMPORTED_MODULE_0___default().info(`【Nacos3应用模式】-查询服务列表 耗时:${Date.now() - startTime}ms`);
52972
+ serviceList.push(...(await this.getServiceListByApplicationMatedata(dataSourceInfo, nacosServiceList)));
52973
+ logger__WEBPACK_IMPORTED_MODULE_0___default().info(`[ Nacos3 应用模式 ] 查询服务列表 耗时:${Date.now() - startTime}ms`);
52893
52974
  } catch (e) {
52894
- logger__WEBPACK_IMPORTED_MODULE_0___default().error(`【Nacos3应用模式】-查询服务列表 失败 耗时:${Date.now() - startTime}ms`, e);
52975
+ logger__WEBPACK_IMPORTED_MODULE_0___default().error(`[ Nacos3 应用模式 ] 查询服务列表 失败 耗时:${Date.now() - startTime}ms`, e);
52895
52976
  }
52896
- startTime = Date.now();
52897
- try {
52898
- serviceList.push(...(await this.getServiceListByMapping(dataSourceInfo, new Set(serviceList.map(item => item.serviceName)))));
52899
- logger__WEBPACK_IMPORTED_MODULE_0___default().info(`【Nacos3 应用模式-兜底反推】-查询服务列表 耗时:${Date.now() - startTime}ms`);
52900
- } catch (e) {
52901
- logger__WEBPACK_IMPORTED_MODULE_0___default().error(`【Nacos3 应用模式-兜底反推】-查询服务列表 失败 耗时:${Date.now() - startTime}ms`, e);
52977
+ if (dataSourceInfo.useApplicationMapping === true) {
52978
+ startTime = Date.now();
52979
+ try {
52980
+ serviceList.push(...(await this.getServiceListByMapping(dataSourceInfo, new Set(serviceList.map(item => item.serviceName)))));
52981
+ logger__WEBPACK_IMPORTED_MODULE_0___default().info(`[ Nacos3 应用模式-兜底反推 ] 查询服务列表 耗时:${Date.now() - startTime}ms`);
52982
+ } catch (e) {
52983
+ logger__WEBPACK_IMPORTED_MODULE_0___default().error(`[ Nacos3 应用模式-兜底反推 ] 查询服务列表 失败 耗时:${Date.now() - startTime}ms`, e);
52984
+ }
52902
52985
  }
52903
52986
  return serviceList;
52904
52987
  }
52905
- async getServiceListByApplicationMatedata(dataSourceInfo) {
52988
+ async getServiceListByApplicationMatedata(dataSourceInfo, nacosServiceList) {
52906
52989
  const serviceList = [];
52907
- for (const application of await this.getAppNameList(dataSourceInfo)) {
52990
+ for (const application of await this.getAppNameList(dataSourceInfo, nacosServiceList)) {
52908
52991
  const cache = new Set();
52909
52992
  for (const instance of await this.getAppInstanceList(dataSourceInfo, application)) {
52910
52993
  const revision = this.getMetadataRevision(instance);
@@ -52936,17 +53019,16 @@ class Nacos3DataSource {
52936
53019
  return serviceList;
52937
53020
  }
52938
53021
  async getServiceListByMapping(dataSourceInfo, excludeServiceNameSet) {
52939
- const configList = await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_2__["default"].getConfigList(dataSourceInfo, "", "mapping");
53022
+ const configList = await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_3__["default"].getConfigList(dataSourceInfo, "", "mapping");
52940
53023
  return configList.filter(config => !excludeServiceNameSet.has(config.dataId)).map(config => ({
52941
53024
  application: config.content,
52942
53025
  serviceName: config.dataId,
52943
53026
  discoverMode: 'mapping'
52944
53027
  }));
52945
53028
  }
52946
- async getInterfaceServiceList(dataSourceInfo) {
52947
- const serviceNameList = await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_2__["default"].getNacosServiceList(dataSourceInfo);
53029
+ async getInterfaceServiceList(dataSourceInfo, nacosServiceList) {
52948
53030
  const serviceList = new Set();
52949
- for (const serviceName of serviceNameList) {
53031
+ for (const serviceName of nacosServiceList) {
52950
53032
  const datas = serviceName.split(":");
52951
53033
  if (datas[0] !== "providers") {
52952
53034
  continue;
@@ -52970,9 +53052,15 @@ class Nacos3DataSource {
52970
53052
  }
52971
53053
  async getProviderList(dataSourceInfo, serviceInfo) {
52972
53054
  if (serviceInfo.application && serviceInfo.discoverMode !== 'mapping') {
53055
+ if (appConfig__WEBPACK_IMPORTED_MODULE_1___default().getPluginProperty('logEnable') === true) {
53056
+ logger__WEBPACK_IMPORTED_MODULE_0___default().info(`查询提供者 应用模式查询提供者 serviceName:${serviceInfo.serviceName}`);
53057
+ }
52973
53058
  return await this.getApplicationProviderList(dataSourceInfo, serviceInfo);
52974
53059
  }
52975
- const providerNameList = await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_2__["default"].getProviderNameList(dataSourceInfo, serviceInfo.serviceName);
53060
+ if (appConfig__WEBPACK_IMPORTED_MODULE_1___default().getPluginProperty('logEnable') === true) {
53061
+ logger__WEBPACK_IMPORTED_MODULE_0___default().info(`查询提供者 接口模式 serviceName:${serviceInfo.serviceName}`);
53062
+ }
53063
+ const providerNameList = await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_3__["default"].getProviderNameList(dataSourceInfo, serviceInfo.serviceName);
52976
53064
  if (serviceInfo.discoverMode === 'mapping' && providerNameList.length === 0) {
52977
53065
  throw new Error(`你当前接口是dubbo3应用模式,需要开启配置[dubbo.application.metadata-type=remote]才能获取到提供者列表`);
52978
53066
  }
@@ -52980,14 +53068,14 @@ class Nacos3DataSource {
52980
53068
  for (const providerName of providerNameList) {
52981
53069
  const serviceDisabledMap = new Map();
52982
53070
  const serviceMetadataMap = new Map();
52983
- const instanceList = await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_2__["default"].getInstanceList(dataSourceInfo, providerName);
53071
+ const instanceList = await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_3__["default"].getInstanceList(dataSourceInfo, providerName);
52984
53072
  if (instanceList.length === 0) {
52985
53073
  continue;
52986
53074
  }
52987
53075
  for (const instance of instanceList) {
52988
53076
  let providerInfo = this.parseProvderInfo(instance);
52989
53077
  const disabledAddresses = await serviceDisabledMap.computeIfAbsent(this.buildDataId(providerInfo), async () => {
52990
- return _main_common_DubboConfigurationUtils__WEBPACK_IMPORTED_MODULE_3__["default"].getDisableAddresses(await this.getJsonConfiguration(dataSourceInfo, serviceInfo, providerInfo));
53078
+ return _main_common_DubboConfigurationUtils__WEBPACK_IMPORTED_MODULE_4__["default"].getDisableAddresses(await this.getJsonConfiguration(dataSourceInfo, serviceInfo, providerInfo));
52991
53079
  });
52992
53080
  providerInfo.disabled = disabledAddresses.find(item => item === '0.0.0.0' || item === providerInfo.address) != null;
52993
53081
  const key = `${providerInfo.application}-${providerInfo.serviceName}-${providerInfo.version}-${providerInfo.group}`;
@@ -53003,16 +53091,16 @@ class Nacos3DataSource {
53003
53091
  application,
53004
53092
  serviceName
53005
53093
  } = serviceInfo;
53094
+ const startTime = Date.now();
53006
53095
  const providerList = [];
53007
53096
  const cache = new Map();
53008
- const instanceList = await this.getAppInstanceList(dataSourceInfo, application);
53009
- for (const instance of instanceList) {
53097
+ for (const instance of await this.getAppInstanceList(dataSourceInfo, application)) {
53010
53098
  const revision = this.getMetadataRevision(instance);
53011
53099
  if (!revision) {
53012
53100
  continue;
53013
53101
  }
53014
53102
  const appMetadata = await cache.computeIfAbsent(`a-${revision}`, () => this.getAppMetadata(dataSourceInfo, application, revision));
53015
- if (!appMetadata || !appMetadata.services) {
53103
+ if (!appMetadata?.services) {
53016
53104
  continue;
53017
53105
  }
53018
53106
  const appServiceMetadatas = Object.values(appMetadata.services).filter(service => {
@@ -53027,6 +53115,9 @@ class Nacos3DataSource {
53027
53115
  providerList.push(providerInfo);
53028
53116
  }
53029
53117
  }
53118
+ if (appConfig__WEBPACK_IMPORTED_MODULE_1___default().getPluginProperty('logEnable') === true) {
53119
+ logger__WEBPACK_IMPORTED_MODULE_0___default().info(`[ Nacos3Utils ] 查询到提供者列表 params:${serviceName}, 提供者数量:${providerList.length}, 耗时:${Date.now() - startTime}ms`);
53120
+ }
53030
53121
  return providerList;
53031
53122
  }
53032
53123
  resolveMethodList(methods, metadata) {
@@ -53035,7 +53126,7 @@ class Nacos3DataSource {
53035
53126
  ...method,
53036
53127
  name: `${method.name}(${method.parameterTypes.map(pp => pp.substring(pp.lastIndexOf(".") + 1))})`,
53037
53128
  methodName: method.name,
53038
- defaultParameter: JSON.stringify(_main_generator_ParamGeneratorAdapter__WEBPACK_IMPORTED_MODULE_4__["default"].generateParam(metadata, method.name), null, 2) || "[]"
53129
+ defaultParameter: JSON.stringify(_main_generator_ParamGeneratorAdapter__WEBPACK_IMPORTED_MODULE_5__["default"].generateParam(metadata, method.name), null, 2) || "[]"
53039
53130
  }));
53040
53131
  }
53041
53132
  return methods.map(method => ({
@@ -53072,31 +53163,31 @@ class Nacos3DataSource {
53072
53163
  }
53073
53164
  async disableProvider(dataSourceInfo, serviceInfo, providerInfo) {
53074
53165
  let doc = await this.getJsonConfiguration(dataSourceInfo, serviceInfo, providerInfo);
53075
- doc = await _main_common_DubboConfigurationUtils__WEBPACK_IMPORTED_MODULE_3__["default"].addDisableProvider(doc, providerInfo.address);
53166
+ doc = await _main_common_DubboConfigurationUtils__WEBPACK_IMPORTED_MODULE_4__["default"].addDisableProvider(doc, providerInfo.address);
53076
53167
  await this.doSaveConfiguration(dataSourceInfo, serviceInfo, providerInfo, doc);
53077
53168
  }
53078
53169
  async enableProvider(dataSourceInfo, serviceInfo, providerInfo) {
53079
53170
  let doc = await this.getJsonConfiguration(dataSourceInfo, serviceInfo, providerInfo);
53080
- doc = await _main_common_DubboConfigurationUtils__WEBPACK_IMPORTED_MODULE_3__["default"].removeDisableProvider(doc, providerInfo.address);
53171
+ doc = await _main_common_DubboConfigurationUtils__WEBPACK_IMPORTED_MODULE_4__["default"].removeDisableProvider(doc, providerInfo.address);
53081
53172
  await this.doSaveConfiguration(dataSourceInfo, serviceInfo, providerInfo, doc);
53082
53173
  }
53083
53174
  async getConfiguration(dataSourceInfo, serviceInfo, providerInfo) {
53084
- const config = await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_2__["default"].getConfig(dataSourceInfo, this.buildDataId(providerInfo), dataSourceInfo.group || 'dubbo');
53085
- return config ? config : _main_common_YamlUtils__WEBPACK_IMPORTED_MODULE_1__["default"].JSONToYaml(_main_common_DubboConfigurationUtils__WEBPACK_IMPORTED_MODULE_3__["default"].createDubboDefaultConfiguration());
53175
+ const config = await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_3__["default"].getConfig(dataSourceInfo, this.buildDataId(providerInfo), dataSourceInfo.group || 'dubbo');
53176
+ return config ? config : _main_common_YamlUtils__WEBPACK_IMPORTED_MODULE_2__["default"].JSONToYaml(_main_common_DubboConfigurationUtils__WEBPACK_IMPORTED_MODULE_4__["default"].createDubboDefaultConfiguration());
53086
53177
  }
53087
53178
  async getJsonConfiguration(dataSourceInfo, serviceInfo, providerInfo) {
53088
- return _main_common_YamlUtils__WEBPACK_IMPORTED_MODULE_1__["default"].yamlToJSON(await this.getConfiguration(dataSourceInfo, serviceInfo, providerInfo));
53179
+ return _main_common_YamlUtils__WEBPACK_IMPORTED_MODULE_2__["default"].yamlToJSON(await this.getConfiguration(dataSourceInfo, serviceInfo, providerInfo));
53089
53180
  }
53090
53181
  async saveConfiguration(dataSourceInfo, serviceInfo, providerInfo, ymal) {
53091
- await this.doSaveConfiguration(dataSourceInfo, serviceInfo, providerInfo, _main_common_YamlUtils__WEBPACK_IMPORTED_MODULE_1__["default"].yamlToJSON(ymal));
53182
+ await this.doSaveConfiguration(dataSourceInfo, serviceInfo, providerInfo, _main_common_YamlUtils__WEBPACK_IMPORTED_MODULE_2__["default"].yamlToJSON(ymal));
53092
53183
  }
53093
53184
  async doSaveConfiguration(dataSourceInfo, serviceInfo, providerInfo, doc) {
53094
53185
  const dataId = this.buildDataId(providerInfo);
53095
- const config = doc?.configs?.length > 0 ? _main_common_YamlUtils__WEBPACK_IMPORTED_MODULE_1__["default"].JSONToYaml(doc) : null;
53096
- await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_2__["default"].saveConfig(dataSourceInfo, dataId, dataSourceInfo.group || 'dubbo', config);
53186
+ const config = doc?.configs?.length > 0 ? _main_common_YamlUtils__WEBPACK_IMPORTED_MODULE_2__["default"].JSONToYaml(doc) : null;
53187
+ await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_3__["default"].saveConfig(dataSourceInfo, dataId, dataSourceInfo.group || 'dubbo', config);
53097
53188
  }
53098
53189
  async invokeMethod(dataSourceInfo, serviceInfo, provder, methodInfo, code, invokerType) {
53099
- return _main_invoker___WEBPACK_IMPORTED_MODULE_5__["default"].invokeMethod(provder, methodInfo, code, invokerType);
53190
+ return _main_invoker___WEBPACK_IMPORTED_MODULE_6__["default"].invokeMethod(provder, methodInfo, code, invokerType);
53100
53191
  }
53101
53192
  buildDataId({
53102
53193
  serviceName,
@@ -53145,9 +53236,11 @@ class Nacos3DataSource {
53145
53236
  qosPort: data.qosPort || data.port
53146
53237
  };
53147
53238
  }
53148
- async getAppNameList(dataSourceInfo) {
53149
- const serviceList = await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_2__["default"].getNacosServiceList(dataSourceInfo);
53150
- return serviceList.filter(serviceName => {
53239
+ async getAppNameList(dataSourceInfo, nacosServiceList) {
53240
+ // 使用共享的服务列表
53241
+ // const serviceList = await nacos3Utils.getNacosServiceList(dataSourceInfo);
53242
+
53243
+ return nacosServiceList.filter(serviceName => {
53151
53244
  const datas = serviceName.split(":");
53152
53245
  if (datas[0] === "providers" || datas[0] === "consumers") {
53153
53246
  return false;
@@ -53156,7 +53249,7 @@ class Nacos3DataSource {
53156
53249
  });
53157
53250
  }
53158
53251
  async getAppInstanceList(dataSourceInfo, application) {
53159
- return await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_2__["default"].getInstanceList(dataSourceInfo, application);
53252
+ return await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_3__["default"].getInstanceList(dataSourceInfo, application);
53160
53253
  }
53161
53254
  async getAppMetadata(dataSourceInfo, application, revision) {
53162
53255
  return (await this.getJsonConfig(dataSourceInfo, application, revision)) || {};
@@ -53166,7 +53259,7 @@ class Nacos3DataSource {
53166
53259
  return (await this.getJsonConfig(dataSourceInfo, dataId, dataSourceInfo.group || 'dubbo')) || {};
53167
53260
  }
53168
53261
  async getJsonConfig(dataSourceInfo, dataId, groupName) {
53169
- const config = await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_2__["default"].getConfig(dataSourceInfo, dataId, groupName);
53262
+ const config = await _main_datasource_nacos3_Nacos3Utils__WEBPACK_IMPORTED_MODULE_3__["default"].getConfig(dataSourceInfo, dataId, groupName);
53170
53263
  if (!config) {
53171
53264
  return null;
53172
53265
  }
@@ -53187,7 +53280,7 @@ class Nacos3DataSource {
53187
53280
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Nacos3DataSource);
53188
53281
 
53189
53282
  /***/ }),
53190
- /* 398 */
53283
+ /* 399 */
53191
53284
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
53192
53285
 
53193
53286
  "use strict";
@@ -53197,8 +53290,14 @@ __webpack_require__.r(__webpack_exports__);
53197
53290
  /* harmony export */ });
53198
53291
  /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7);
53199
53292
  /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_0__);
53200
- /* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(368);
53201
- /* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_1__);
53293
+ /* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(369);
53294
+ /* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_3__);
53295
+ /* harmony import */ var logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
53296
+ /* harmony import */ var logger__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(logger__WEBPACK_IMPORTED_MODULE_1__);
53297
+ /* harmony import */ var appConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(362);
53298
+ /* harmony import */ var appConfig__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(appConfig__WEBPACK_IMPORTED_MODULE_2__);
53299
+
53300
+
53202
53301
 
53203
53302
 
53204
53303
  class Nacos3Utils {
@@ -53215,7 +53314,11 @@ class Nacos3Utils {
53215
53314
  withInstances: false,
53216
53315
  accessToken: await this.getAccessToken(dataSourceInfo)
53217
53316
  };
53317
+ let queryCount = 0;
53318
+ let queryServiceCount = 0;
53319
+ const startTime = Date.now();
53218
53320
  do {
53321
+ queryCount++;
53219
53322
  const {
53220
53323
  data
53221
53324
  } = await axios__WEBPACK_IMPORTED_MODULE_0___default().get(url, {
@@ -53227,11 +53330,15 @@ class Nacos3Utils {
53227
53330
  serviceList.push(item.name);
53228
53331
  }
53229
53332
  });
53333
+ queryServiceCount += pageItems.length;
53230
53334
  if (pageItems.length < params.pageSize) {
53231
53335
  break;
53232
53336
  }
53233
53337
  params.pageNo++;
53234
53338
  } while (true);
53339
+ if (appConfig__WEBPACK_IMPORTED_MODULE_2___default().getPluginProperty('logEnable') === true) {
53340
+ logger__WEBPACK_IMPORTED_MODULE_1___default().info(`[ Nacos3Utils ] -查询Nacos服务列表 queryCount:${queryCount}, queryServiceCount:${queryServiceCount}, 实际接口数:${serviceList.length}, 耗时:${Date.now() - startTime}ms`);
53341
+ }
53235
53342
  return serviceList;
53236
53343
  }
53237
53344
  async getProviderNameList(dataSourceInfo, serviceName = '*') {
@@ -53247,7 +53354,11 @@ class Nacos3Utils {
53247
53354
  withInstances: false,
53248
53355
  accessToken: await this.getAccessToken(dataSourceInfo)
53249
53356
  };
53357
+ let queryCount = 0;
53358
+ let queryServiceCount = 0;
53359
+ const startTime = Date.now();
53250
53360
  do {
53361
+ queryCount++;
53251
53362
  const {
53252
53363
  data
53253
53364
  } = await axios__WEBPACK_IMPORTED_MODULE_0___default().get(url, {
@@ -53259,11 +53370,15 @@ class Nacos3Utils {
53259
53370
  providerNameList.push(item.name);
53260
53371
  }
53261
53372
  });
53373
+ queryServiceCount += pageItems.length;
53262
53374
  if (pageItems.length < params.pageSize) {
53263
53375
  break;
53264
53376
  }
53265
53377
  params.pageNo++;
53266
53378
  } while (true);
53379
+ if (appConfig__WEBPACK_IMPORTED_MODULE_2___default().getPluginProperty('logEnable') === true) {
53380
+ logger__WEBPACK_IMPORTED_MODULE_1___default().info(`[ Nacos3Utils ] 查询到提供者列表 serviceName:${serviceName}, queryCount:${queryCount}, queryServiceCount:${queryServiceCount}, 实际提供者数:${providerNameList.length}, 耗时:${Date.now() - startTime}ms`);
53381
+ }
53267
53382
  return providerNameList;
53268
53383
  }
53269
53384
  async getInstanceList(dataSourceInfo, serviceName) {
@@ -53292,6 +53407,14 @@ class Nacos3Utils {
53292
53407
  } while (true);
53293
53408
  return result;
53294
53409
  }
53410
+
53411
+ /**
53412
+ * 这个接口性能很差,慎用,nacos1、2会直接返回content,但是nacos3不会,只能一个个去查了,所以性能很差
53413
+ * @param {*} dataSourceInfo
53414
+ * @param {*} dataId
53415
+ * @param {*} groupName
53416
+ * @returns
53417
+ */
53295
53418
  async getConfigList(dataSourceInfo, dataId, groupName) {
53296
53419
  const url = `${dataSourceInfo.address}/v3/console/cs/config/list`;
53297
53420
  const params = {
@@ -53307,7 +53430,11 @@ class Nacos3Utils {
53307
53430
  accessToken: await this.getAccessToken(dataSourceInfo)
53308
53431
  };
53309
53432
  const result = [];
53433
+ let queryCount = 0;
53434
+ let queryConfigCount = 0;
53435
+ const startTime = Date.now();
53310
53436
  do {
53437
+ queryCount++;
53311
53438
  const {
53312
53439
  data
53313
53440
  } = await axios__WEBPACK_IMPORTED_MODULE_0___default().get(url, {
@@ -53316,21 +53443,26 @@ class Nacos3Utils {
53316
53443
  const pageItems = data?.data?.pageItems || [];
53317
53444
  for (let i = 0; i < pageItems.length; i++) {
53318
53445
  const item = pageItems[i];
53319
- if (item.content) {
53320
- result.push(item);
53321
- continue;
53322
- }
53446
+ // if (item.content) {
53447
+ // result.push(item);
53448
+ // continue;
53449
+ // }
53450
+
53323
53451
  const content = await this.getConfig(dataSourceInfo, item.dataId, groupName);
53324
53452
  result.push({
53325
53453
  ...item,
53326
53454
  content
53327
53455
  });
53328
53456
  }
53457
+ queryConfigCount += pageItems.length;
53329
53458
  if (pageItems.length < params.pageSize) {
53330
53459
  break;
53331
53460
  }
53332
53461
  params.pageNo++;
53333
53462
  } while (true);
53463
+ if (appConfig__WEBPACK_IMPORTED_MODULE_2___default().getPluginProperty('logEnable') === true) {
53464
+ logger__WEBPACK_IMPORTED_MODULE_1___default().info(`[ Nacos3Utils ] 查询到提供者列表 dataId:${dataId}, group:${groupName}, queryCount:${queryCount}, queryConfigCount:${queryConfigCount}, 实际配置数:${result.length}, 耗时:${Date.now() - startTime}ms`);
53465
+ }
53334
53466
  return result;
53335
53467
  }
53336
53468
  async getConfig(dataSourceInfo, dataId, groupName) {
@@ -53366,7 +53498,7 @@ class Nacos3Utils {
53366
53498
  if (config) {
53367
53499
  params.content = config;
53368
53500
  params.type = 'yaml';
53369
- await axios__WEBPACK_IMPORTED_MODULE_0___default().post(url, qs__WEBPACK_IMPORTED_MODULE_1___default().stringify(params));
53501
+ await axios__WEBPACK_IMPORTED_MODULE_0___default().post(url, qs__WEBPACK_IMPORTED_MODULE_3___default().stringify(params));
53370
53502
  } else {
53371
53503
  await axios__WEBPACK_IMPORTED_MODULE_0___default()["delete"](url, {
53372
53504
  params
@@ -53384,7 +53516,7 @@ class Nacos3Utils {
53384
53516
  const url = `${dataSourceInfo.address}/v3/auth/user/login`;
53385
53517
  const {
53386
53518
  data
53387
- } = await axios__WEBPACK_IMPORTED_MODULE_0___default().post(url, qs__WEBPACK_IMPORTED_MODULE_1___default().stringify(params));
53519
+ } = await axios__WEBPACK_IMPORTED_MODULE_0___default().post(url, qs__WEBPACK_IMPORTED_MODULE_3___default().stringify(params));
53388
53520
  return data?.accessToken;
53389
53521
  }
53390
53522
  unwrap(response) {
@@ -53394,7 +53526,7 @@ class Nacos3Utils {
53394
53526
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new Nacos3Utils());
53395
53527
 
53396
53528
  /***/ }),
53397
- /* 399 */
53529
+ /* 400 */
53398
53530
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
53399
53531
 
53400
53532
  "use strict";
@@ -53404,7 +53536,7 @@ __webpack_require__.r(__webpack_exports__);
53404
53536
  /* harmony export */ });
53405
53537
  /* harmony import */ var _common_UrlUtils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11);
53406
53538
  /* harmony import */ var _main_common_YamlUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16);
53407
- /* harmony import */ var _EtcdClientUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(400);
53539
+ /* harmony import */ var _EtcdClientUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(401);
53408
53540
  /* harmony import */ var _main_common_DubboConfigurationUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(202);
53409
53541
  /* harmony import */ var _main_generator_ParamGeneratorAdapter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(203);
53410
53542
  /* harmony import */ var logger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8);
@@ -53443,9 +53575,7 @@ class EtcdDataSource {
53443
53575
  const exculdeName = ["mapping", "config", "metadata"];
53444
53576
  const serviceList = children.filter(e => !exculdeName.find(name => name == e)).map(e => {
53445
53577
  return {
53446
- serviceName: e,
53447
- uniqueServiceName: e,
53448
- type: 'dubbo'
53578
+ serviceName: e
53449
53579
  };
53450
53580
  });
53451
53581
  logger__WEBPACK_IMPORTED_MODULE_5___default().info(`【etcd接口模式】-查询服务列表 耗时:${Date.now() - startTime}ms`);
@@ -53497,9 +53627,7 @@ class EtcdDataSource {
53497
53627
  cache.add(primaryKey);
53498
53628
  serviceList.push({
53499
53629
  application,
53500
- serviceName,
53501
- uniqueServiceName: serviceName,
53502
- type: 'dubbo'
53630
+ serviceName
53503
53631
  });
53504
53632
  });
53505
53633
  }
@@ -53519,7 +53647,6 @@ class EtcdDataSource {
53519
53647
  serviceList.push({
53520
53648
  application,
53521
53649
  serviceName,
53522
- uniqueServiceName: serviceName,
53523
53650
  discoverMode: 'mapping'
53524
53651
  });
53525
53652
  });
@@ -53623,7 +53750,6 @@ class EtcdDataSource {
53623
53750
  protocol: applicationMetadata.protocol,
53624
53751
  application: serviceInfo.application,
53625
53752
  serviceName: serviceInfo.serviceName,
53626
- uniqueServiceName: serviceInfo.uniqueServiceName || serviceInfo.serviceName,
53627
53753
  version: applicationMetadata.version || metadataParams?.version || '',
53628
53754
  group: applicationMetadata.group || metadataParams?.group || '',
53629
53755
  methods: Array.from(new Set((metadataParams.methods || "").split(",").filter(Boolean))),
@@ -53707,7 +53833,6 @@ class EtcdDataSource {
53707
53833
  port: urlData.port,
53708
53834
  address: `${urlData.host}:${urlData.port}`,
53709
53835
  serviceName: urlData.params.interface,
53710
- uniqueServiceName: urlData.params.interface,
53711
53836
  version: urlData.params.version,
53712
53837
  group: urlData.params.group,
53713
53838
  weight: urlData.params.weight,
@@ -53800,7 +53925,7 @@ class EtcdDataSource {
53800
53925
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EtcdDataSource);
53801
53926
 
53802
53927
  /***/ }),
53803
- /* 400 */
53928
+ /* 401 */
53804
53929
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
53805
53930
 
53806
53931
  "use strict";
@@ -53903,7 +54028,7 @@ class EtcdClientUtils {
53903
54028
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new EtcdClientUtils());
53904
54029
 
53905
54030
  /***/ }),
53906
- /* 401 */
54031
+ /* 402 */
53907
54032
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
53908
54033
 
53909
54034
  "use strict";
@@ -54171,7 +54296,7 @@ class DubboAdminDataSource {
54171
54296
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DubboAdminDataSource);
54172
54297
 
54173
54298
  /***/ }),
54174
- /* 402 */
54299
+ /* 403 */
54175
54300
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
54176
54301
 
54177
54302
  "use strict";
@@ -54266,7 +54391,7 @@ class InvokeHistoryRepository {
54266
54391
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (InvokeHistoryRepository);
54267
54392
 
54268
54393
  /***/ }),
54269
- /* 403 */
54394
+ /* 404 */
54270
54395
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
54271
54396
 
54272
54397
  "use strict";
@@ -54429,8 +54554,8 @@ __webpack_require__.r(__webpack_exports__);
54429
54554
  /* harmony import */ var logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8);
54430
54555
  /* harmony import */ var logger__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(logger__WEBPACK_IMPORTED_MODULE_2__);
54431
54556
  /* harmony import */ var _main_datasource__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9);
54432
- /* harmony import */ var _main_repository_InvokeHistoryRepository__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(402);
54433
- /* harmony import */ var _main_repository_ServiceCollectRepository__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(403);
54557
+ /* harmony import */ var _main_repository_InvokeHistoryRepository__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(403);
54558
+ /* harmony import */ var _main_repository_ServiceCollectRepository__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(404);
54434
54559
  /* harmony import */ var _common_JSONUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(354);
54435
54560
 
54436
54561