Commit 556cb5a0 authored by Savorboard's avatar Savorboard

code refactor

parent 3845698f
......@@ -108,6 +108,7 @@ Global
{80A84F62-1558-427B-BA74-B47AA8A665B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{80A84F62-1558-427B-BA74-B47AA8A665B5}.Release|Any CPU.Build.0 = Release|Any CPU
{9F3F9BFE-7B6A-4A7A-A6E6-8B517D611873}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9F3F9BFE-7B6A-4A7A-A6E6-8B517D611873}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9F3F9BFE-7B6A-4A7A-A6E6-8B517D611873}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9F3F9BFE-7B6A-4A7A-A6E6-8B517D611873}.Release|Any CPU.Build.0 = Release|Any CPU
{82C403AB-ED68-4084-9A1D-11334F9F08F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
......
......@@ -11,7 +11,7 @@ namespace Sample.RabbitMQ.MySql
public class AppDbContext : DbContext
{
public const string ConnectionString = "Server=localhost;Database=testcap;UserId=root;Password=123123;";
public const string ConnectionString = "Server=192.168.2.120;Database=captest;UserId=root;Password=123123;";
public DbSet<Person> Persons { get; set; }
......
using System;
using DotNetCore.CAP.Messages;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
......@@ -16,12 +17,12 @@ namespace Sample.RabbitMQ.MySql
{
x.UseEntityFramework<AppDbContext>();
x.UseRabbitMQ("192.168.2.120");
x.UseDashboard();
//x.UseDashboard();
x.FailedRetryCount = 5;
x.FailedThresholdCallback = (type, name, content) =>
x.FailedThresholdCallback = (type, msg) =>
{
Console.WriteLine(
$@"A message of type {type} failed after executing {x.FailedRetryCount} several times, requiring manual troubleshooting. Message name: {name}, message body: {content}");
$@"A message of type {type} failed after executing {x.FailedRetryCount} several times, requiring manual troubleshooting. Message name: {msg.GetName()}");
};
});
......
......@@ -3,6 +3,7 @@
using System;
using DotNetCore.CAP.MySql;
using DotNetCore.CAP.Persistence;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
......@@ -21,7 +22,7 @@ namespace DotNetCore.CAP
public void AddServices(IServiceCollection services)
{
services.AddSingleton<CapStorageMarkerService>();
//services.AddSingleton<IStorageConnection, MySqlStorageConnection>();
services.AddSingleton<IStorageInitializer, MySqlStorageInitializer>();
services.AddTransient<CapTransactionBase, MySqlCapTransaction>();
//Add MySqlOptions
......
......@@ -6,8 +6,7 @@ using DotNetCore.CAP;
using DotNetCore.CAP.Abstractions;
using DotNetCore.CAP.Internal;
using DotNetCore.CAP.Processor;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using DotNetCore.CAP.Serialization;
using Microsoft.Extensions.DependencyInjection.Extensions;
// ReSharper disable once CheckNamespace
......@@ -58,8 +57,11 @@ namespace Microsoft.Extensions.DependencyInjection
services.TryAddSingleton<TransportCheckProcessor>();
//Sender and Executors
services.AddSingleton<IMessageSender, MessageSender>();
services.TryAddSingleton<IMessageSender, MessageSender>();
services.TryAddSingleton<IDispatcher, Dispatcher>();
services.TryAddSingleton<ISerializer, MemorySerializer>();
// Warning: IPublishMessageSender need to inject at extension project.
services.TryAddSingleton<ISubscriberExecutor, DefaultSubscriberExecutor>();
......
......@@ -29,7 +29,7 @@ namespace DotNetCore.CAP.Internal
new DiagnosticListener(CapDiagnosticListenerExtensions.DiagnosticListenerName);
protected MessageSender(
ILogger logger,
ILogger<MessageSender> logger,
IOptions<CapOptions> options,
IDataStorage dataStorage,
ISerializer serializer,
......
......@@ -8,7 +8,7 @@ namespace DotNetCore.CAP.Messages
/// </summary>
public class TransportMessage
{
public TransportMessage(Dictionary<string, string> headers, byte[] body)
public TransportMessage(IDictionary<string, string> headers, byte[] body)
{
Headers = headers ?? throw new ArgumentNullException(nameof(headers));
Body = body ?? throw new ArgumentNullException(nameof(body));
......@@ -17,7 +17,7 @@ namespace DotNetCore.CAP.Messages
/// <summary>
/// Gets the headers of this message
/// </summary>
public Dictionary<string, string> Headers { get; }
public IDictionary<string, string> Headers { get; }
/// <summary>
/// Gets the body object of this message
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment