|
|
|
@ -1,14 +1,13 @@ |
|
|
|
using System; |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Diagnostics.SymbolStore; |
|
|
|
|
|
|
|
using System.IO; |
|
|
|
using System.IO; |
|
|
|
using System.Linq; |
|
|
|
using System.Linq; |
|
|
|
using System.Net.Http; |
|
|
|
using System.Net.Http; |
|
|
|
using System.Net.Http.Headers; |
|
|
|
using System.Net.Http.Headers; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Hessian; |
|
|
|
|
|
|
|
using DotXxlJob.Core.Config; |
|
|
|
using DotXxlJob.Core.Config; |
|
|
|
using DotXxlJob.Core.Model; |
|
|
|
using DotXxlJob.Core.Model; |
|
|
|
|
|
|
|
using Hessian; |
|
|
|
using Microsoft.Extensions.Logging; |
|
|
|
using Microsoft.Extensions.Logging; |
|
|
|
using Microsoft.Extensions.Options; |
|
|
|
using Microsoft.Extensions.Options; |
|
|
|
|
|
|
|
|
|
|
|
@ -16,7 +15,7 @@ namespace DotXxlJob.Core |
|
|
|
{ |
|
|
|
{ |
|
|
|
public class AdminClient |
|
|
|
public class AdminClient |
|
|
|
{ |
|
|
|
{ |
|
|
|
static readonly string MAPPING = "/api"; |
|
|
|
private static readonly string MAPPING = "/api"; |
|
|
|
private readonly XxlJobExecutorOptions _options; |
|
|
|
private readonly XxlJobExecutorOptions _options; |
|
|
|
private readonly IHttpClientFactory _clientFactory; |
|
|
|
private readonly IHttpClientFactory _clientFactory; |
|
|
|
private readonly ILogger<AdminClient> _logger; |
|
|
|
private readonly ILogger<AdminClient> _logger; |
|
|
|
@ -29,7 +28,6 @@ namespace DotXxlJob.Core |
|
|
|
, IHttpClientFactory clientFactory |
|
|
|
, IHttpClientFactory clientFactory |
|
|
|
, ILogger<AdminClient> logger) |
|
|
|
, ILogger<AdminClient> logger) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
Preconditions.CheckNotNull(optionsAccessor?.Value, "XxlJobExecutorOptions"); |
|
|
|
Preconditions.CheckNotNull(optionsAccessor?.Value, "XxlJobExecutorOptions"); |
|
|
|
|
|
|
|
|
|
|
|
this._options = optionsAccessor?.Value; |
|
|
|
this._options = optionsAccessor?.Value; |
|
|
|
@ -56,13 +54,11 @@ namespace DotXxlJob.Core |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Task<ReturnT> Callback(List<HandleCallbackParam> callbackParamList) |
|
|
|
public Task<ReturnT> Callback(List<HandleCallbackParam> callbackParamList) |
|
|
|
{ |
|
|
|
{ |
|
|
|
return InvokeRpcService("callback", new List<object> { new JavaClass { Name = Constants.JavaListFulName } }, callbackParamList); |
|
|
|
return InvokeRpcService("callback", new List<object> { new JavaClass { Name = Constants.JavaListFulName } }, callbackParamList); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Task<ReturnT> Registry(RegistryParam registryParam) |
|
|
|
public Task<ReturnT> Registry(RegistryParam registryParam) |
|
|
|
{ |
|
|
|
{ |
|
|
|
return InvokeRpcService("registry", new List<object> { new JavaClass { Name = "com.xxl.job.core.biz.model.RegistryParam" } }, registryParam, true); |
|
|
|
return InvokeRpcService("registry", new List<object> { new JavaClass { Name = "com.xxl.job.core.biz.model.RegistryParam" } }, registryParam, true); |
|
|
|
@ -79,7 +75,7 @@ namespace DotXxlJob.Core |
|
|
|
var request = new RpcRequest { |
|
|
|
var request = new RpcRequest { |
|
|
|
RequestId = Guid.NewGuid().ToString("N"), |
|
|
|
RequestId = Guid.NewGuid().ToString("N"), |
|
|
|
CreateMillisTime = DateTime.Now.GetTotalMilliseconds(), |
|
|
|
CreateMillisTime = DateTime.Now.GetTotalMilliseconds(), |
|
|
|
AccessToken = this._options.AccessToken, |
|
|
|
AccessToken = _options.AccessToken, |
|
|
|
ClassName = "com.xxl.job.core.biz.AdminBiz", |
|
|
|
ClassName = "com.xxl.job.core.biz.AdminBiz", |
|
|
|
MethodName = methodName, |
|
|
|
MethodName = methodName, |
|
|
|
ParameterTypes = parameterTypes, |
|
|
|
ParameterTypes = parameterTypes, |
|
|
|
@ -130,13 +126,10 @@ namespace DotXxlJob.Core |
|
|
|
} |
|
|
|
} |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
res = HessianSerializer.DeserializeResponse(resStream); |
|
|
|
res = HessianSerializer.DeserializeResponse(resStream); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|
{ |
|
|
|
this._logger.LogError(ex, "DeserializeResponse error:{errorMessage}", ex.Message); |
|
|
|
this._logger.LogError(ex, "DeserializeResponse error:{errorMessage}", ex.Message); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (res == null) |
|
|
|
if (res == null) |
|
|
|
@ -160,7 +153,6 @@ namespace DotXxlJob.Core |
|
|
|
{ |
|
|
|
{ |
|
|
|
return retList[0]; |
|
|
|
return retList[0]; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (retList.Count > 0) |
|
|
|
if (retList.Count > 0) |
|
|
|
@ -169,7 +161,6 @@ namespace DotXxlJob.Core |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
throw new Exception("xxl-rpc server address not accessible."); |
|
|
|
throw new Exception("xxl-rpc server address not accessible."); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private async Task<Stream> DoPost(HttpClient client, AddressEntry address, byte[] postBuf) |
|
|
|
private async Task<Stream> DoPost(HttpClient client, AddressEntry address, byte[] postBuf) |
|
|
|
@ -181,7 +172,5 @@ namespace DotXxlJob.Core |
|
|
|
responseMessage.EnsureSuccessStatusCode(); |
|
|
|
responseMessage.EnsureSuccessStatusCode(); |
|
|
|
return await responseMessage.Content.ReadAsStreamAsync(); |
|
|
|
return await responseMessage.Content.ReadAsStreamAsync(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |