From 59dada8814dabd022061d16206120361a91bf467 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 10 Sep 2021 18:29:18 +0300 Subject: [PATCH] Refactored the example solution. Added mongodb extensions --- .../Volo/Abp/MongoDB/AbpMongoDbModule.cs | 8 +- .../DistributedEvents/DbContextEventInbox.cs | 36 ---- ...tInbox.cs => IMongoDbContextEventInbox.cs} | 2 +- ...utbox.cs => IMongoDbContextEventOutbox.cs} | 2 +- .../MongoDbContextEventInbox.cs | 81 +++++++++ ...Outbox.cs => MongoDbContextEventOutbox.cs} | 4 +- .../MongoDbInboxConfigExtensions.cs | 13 ++ .../MongoDbOutboxConfigExtensions.cs | 13 ++ .../DistDemoApp.EfCoreRabbitMq.csproj} | 13 +- .../DistDemoAppEfCoreRabbitMqModule.cs} | 27 +-- ...910152547_Added_Boxes_Initial.Designer.cs} | 4 +- .../20210910152547_Added_Boxes_Initial.cs | 103 ++++++++++++ .../Migrations/TodoDbContextModelSnapshot.cs | 0 .../Program.cs | 2 +- .../TodoDbContext.cs | 0 .../TodoDbContextFactory.cs | 0 .../appsettings.json | 0 .../DistDemoApp.MongoDbKafka.csproj | 9 + .../DistDemoApp.MongoDbKafka/Program.cs | 12 ++ .../DemoService.cs | 0 .../DistDemoApp.Shared.csproj | 23 +++ .../DistDemoAppHostedService.cs} | 4 +- .../DistDemoAppSharedModule.cs | 39 +++++ .../TodoEventHandler.cs | 0 .../TodoItem.cs | 0 .../TodoItemEto.cs | 0 .../TodoItemObjectMapper.cs | 0 .../TodoSummary.cs | 0 .../20210825110134_Initial.Designer.cs | 61 ------- .../Migrations/20210825110134_Initial.cs | 33 ---- ...0825112717_Added_Summary_Table.Designer.cs | 95 ----------- .../20210825112717_Added_Summary_Table.cs | 34 ---- .../20210908063422_Added_Outbox.Designer.cs | 118 ------------- .../Migrations/20210908063422_Added_Outbox.cs | 31 ---- ...5344_Added_Outbox_CreationTime.Designer.cs | 122 -------------- ...0210908075344_Added_Outbox_CreationTime.cs | 25 --- .../20210909113934_Added_Inbox.Designer.cs | 149 ----------------- .../Migrations/20210909113934_Added_Inbox.cs | 32 ---- ...51_Added_Inbox_Process_Columns.Designer.cs | 155 ------------------ ...10909182251_Added_Inbox_Process_Columns.cs | 35 ---- .../20210910111009_Added_Inbox_New_Cols.cs | 41 ----- test/DistEvents/DistEventsDemo.sln | 14 +- 42 files changed, 323 insertions(+), 1017 deletions(-) delete mode 100644 framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/DbContextEventInbox.cs rename framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/{IDbContextEventInbox.cs => IMongoDbContextEventInbox.cs} (66%) rename framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/{IDbContextEventOutbox.cs => IMongoDbContextEventOutbox.cs} (66%) create mode 100644 framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventInbox.cs rename framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/{DbContextEventOutbox.cs => MongoDbContextEventOutbox.cs} (79%) create mode 100644 framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbInboxConfigExtensions.cs create mode 100644 framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbOutboxConfigExtensions.cs rename test/DistEvents/{DistDemoApp/DistDemoApp.csproj => DistDemoApp.EfCoreRabbitMq/DistDemoApp.EfCoreRabbitMq.csproj} (58%) rename test/DistEvents/{DistDemoApp/DistDemoAppModule.cs => DistDemoApp.EfCoreRabbitMq/DistDemoAppEfCoreRabbitMqModule.cs} (54%) rename test/DistEvents/{DistDemoApp/Migrations/20210910111009_Added_Inbox_New_Cols.Designer.cs => DistDemoApp.EfCoreRabbitMq/Migrations/20210910152547_Added_Boxes_Initial.Designer.cs} (98%) create mode 100644 test/DistEvents/DistDemoApp.EfCoreRabbitMq/Migrations/20210910152547_Added_Boxes_Initial.cs rename test/DistEvents/{DistDemoApp => DistDemoApp.EfCoreRabbitMq}/Migrations/TodoDbContextModelSnapshot.cs (100%) rename test/DistEvents/{DistDemoApp => DistDemoApp.EfCoreRabbitMq}/Program.cs (95%) rename test/DistEvents/{DistDemoApp => DistDemoApp.EfCoreRabbitMq}/TodoDbContext.cs (100%) rename test/DistEvents/{DistDemoApp => DistDemoApp.EfCoreRabbitMq}/TodoDbContextFactory.cs (100%) rename test/DistEvents/{DistDemoApp => DistDemoApp.EfCoreRabbitMq}/appsettings.json (100%) create mode 100644 test/DistEvents/DistDemoApp.MongoDbKafka/DistDemoApp.MongoDbKafka.csproj create mode 100644 test/DistEvents/DistDemoApp.MongoDbKafka/Program.cs rename test/DistEvents/{DistDemoApp => DistDemoApp.Shared}/DemoService.cs (100%) create mode 100644 test/DistEvents/DistDemoApp.Shared/DistDemoApp.Shared.csproj rename test/DistEvents/{DistDemoApp/MyProjectNameHostedService.cs => DistDemoApp.Shared/DistDemoAppHostedService.cs} (90%) create mode 100644 test/DistEvents/DistDemoApp.Shared/DistDemoAppSharedModule.cs rename test/DistEvents/{DistDemoApp => DistDemoApp.Shared}/TodoEventHandler.cs (100%) rename test/DistEvents/{DistDemoApp => DistDemoApp.Shared}/TodoItem.cs (100%) rename test/DistEvents/{DistDemoApp => DistDemoApp.Shared}/TodoItemEto.cs (100%) rename test/DistEvents/{DistDemoApp => DistDemoApp.Shared}/TodoItemObjectMapper.cs (100%) rename test/DistEvents/{DistDemoApp => DistDemoApp.Shared}/TodoSummary.cs (100%) delete mode 100644 test/DistEvents/DistDemoApp/Migrations/20210825110134_Initial.Designer.cs delete mode 100644 test/DistEvents/DistDemoApp/Migrations/20210825110134_Initial.cs delete mode 100644 test/DistEvents/DistDemoApp/Migrations/20210825112717_Added_Summary_Table.Designer.cs delete mode 100644 test/DistEvents/DistDemoApp/Migrations/20210825112717_Added_Summary_Table.cs delete mode 100644 test/DistEvents/DistDemoApp/Migrations/20210908063422_Added_Outbox.Designer.cs delete mode 100644 test/DistEvents/DistDemoApp/Migrations/20210908063422_Added_Outbox.cs delete mode 100644 test/DistEvents/DistDemoApp/Migrations/20210908075344_Added_Outbox_CreationTime.Designer.cs delete mode 100644 test/DistEvents/DistDemoApp/Migrations/20210908075344_Added_Outbox_CreationTime.cs delete mode 100644 test/DistEvents/DistDemoApp/Migrations/20210909113934_Added_Inbox.Designer.cs delete mode 100644 test/DistEvents/DistDemoApp/Migrations/20210909113934_Added_Inbox.cs delete mode 100644 test/DistEvents/DistDemoApp/Migrations/20210909182251_Added_Inbox_Process_Columns.Designer.cs delete mode 100644 test/DistEvents/DistDemoApp/Migrations/20210909182251_Added_Inbox_Process_Columns.cs delete mode 100644 test/DistEvents/DistDemoApp/Migrations/20210910111009_Added_Inbox_New_Cols.cs diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/AbpMongoDbModule.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/AbpMongoDbModule.cs index 9a5d327055..7598066579 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/AbpMongoDbModule.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/AbpMongoDbModule.cs @@ -35,13 +35,13 @@ namespace Volo.Abp.MongoDB ); context.Services.AddTransient( - typeof(IDbContextEventOutbox<>), - typeof(DbContextEventOutbox<>) + typeof(IMongoDbContextEventOutbox<>), + typeof(MongoDbContextEventOutbox<>) ); context.Services.AddTransient( - typeof(IDbContextEventInbox<>), - typeof(DbContextEventInbox<>) + typeof(IMongoDbContextEventInbox<>), + typeof(MongoDbContextEventInbox<>) ); } } diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/DbContextEventInbox.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/DbContextEventInbox.cs deleted file mode 100644 index 955f142add..0000000000 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/DbContextEventInbox.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using Volo.Abp.EventBus.Distributed; - -namespace Volo.Abp.MongoDB.DistributedEvents -{ - public class DbContextEventInbox : IDbContextEventInbox - where TDbContext : IHasEventInbox - { - public Task EnqueueAsync(IncomingEventInfo incomingEvent) - { - throw new NotImplementedException(); - } - - public Task> GetWaitingEventsAsync(int maxCount) - { - throw new NotImplementedException(); - } - - public Task MarkAsProcessedAsync(Guid id) - { - throw new NotImplementedException(); - } - - public Task ExistsByMessageIdAsync(string messageId) - { - throw new NotImplementedException(); - } - - public Task DeleteOldEventsAsync() - { - throw new NotImplementedException(); - } - } -} \ No newline at end of file diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IDbContextEventInbox.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IMongoDbContextEventInbox.cs similarity index 66% rename from framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IDbContextEventInbox.cs rename to framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IMongoDbContextEventInbox.cs index d76bac2412..71e0d14562 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IDbContextEventInbox.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IMongoDbContextEventInbox.cs @@ -2,7 +2,7 @@ using Volo.Abp.EventBus.Distributed; namespace Volo.Abp.MongoDB.DistributedEvents { - public interface IDbContextEventInbox : IEventInbox + public interface IMongoDbContextEventInbox : IEventInbox where TDbContext : IHasEventInbox { diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IDbContextEventOutbox.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IMongoDbContextEventOutbox.cs similarity index 66% rename from framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IDbContextEventOutbox.cs rename to framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IMongoDbContextEventOutbox.cs index bcc0a4705a..ddb9cd19c5 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IDbContextEventOutbox.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IMongoDbContextEventOutbox.cs @@ -2,7 +2,7 @@ using Volo.Abp.EventBus.Distributed; namespace Volo.Abp.MongoDB.DistributedEvents { - public interface IDbContextEventOutbox : IEventOutbox + public interface IMongoDbContextEventOutbox : IEventOutbox where TDbContext : IHasEventOutbox { diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventInbox.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventInbox.cs new file mode 100644 index 0000000000..d98e144ada --- /dev/null +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventInbox.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using MongoDB.Driver; +using MongoDB.Driver.Linq; +using Volo.Abp.EventBus.Distributed; +using Volo.Abp.Timing; +using Volo.Abp.Uow; + +namespace Volo.Abp.MongoDB.DistributedEvents +{ + public class MongoDbContextEventInbox : IMongoDbContextEventInbox + where TMongoDbContext : IHasEventInbox + { + protected IMongoDbContextProvider DbContextProvider { get; } + protected IClock Clock { get; } + + public MongoDbContextEventInbox( + IMongoDbContextProvider dbContextProvider, + IClock clock) + { + DbContextProvider = dbContextProvider; + Clock = clock; + } + + + [UnitOfWork] + public virtual async Task EnqueueAsync(IncomingEventInfo incomingEvent) + { + var dbContext = await DbContextProvider.GetDbContextAsync(); + if (dbContext.SessionHandle != null) + { + await dbContext.IncomingEvents.InsertOneAsync( + dbContext.SessionHandle, + new IncomingEventRecord(incomingEvent) + ); + } + else + { + await dbContext.IncomingEvents.InsertOneAsync( + new IncomingEventRecord(incomingEvent) + ); + } + } + + [UnitOfWork] + public virtual async Task> GetWaitingEventsAsync(int maxCount) + { + var dbContext = await DbContextProvider.GetDbContextAsync(); + + var outgoingEventRecords = await dbContext + .IncomingEvents + .AsQueryable() + .Where(x => !x.Processed) + .OrderBy(x => x.CreationTime) + .Take(maxCount) + .ToListAsync(); + + return outgoingEventRecords + .Select(x => x.ToIncomingEventInfo()) + .ToList(); + } + + [UnitOfWork] + public async Task MarkAsProcessedAsync(Guid id) + { + throw new NotImplementedException(); + } + + public Task ExistsByMessageIdAsync(string messageId) + { + throw new NotImplementedException(); + } + + public Task DeleteOldEventsAsync() + { + throw new NotImplementedException(); + } + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/DbContextEventOutbox.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventOutbox.cs similarity index 79% rename from framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/DbContextEventOutbox.cs rename to framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventOutbox.cs index 3b054732be..1bec9e0834 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/DbContextEventOutbox.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventOutbox.cs @@ -6,8 +6,8 @@ using Volo.Abp.Uow; namespace Volo.Abp.MongoDB.DistributedEvents { - public class DbContextEventOutbox : IDbContextEventOutbox - where TDbContext : IHasEventOutbox + public class MongoDbContextEventOutbox : IMongoDbContextEventOutbox + where TMongoDbContext : IHasEventOutbox { public Task EnqueueAsync(OutgoingEventInfo outgoingEvent) { diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbInboxConfigExtensions.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbInboxConfigExtensions.cs new file mode 100644 index 0000000000..27be4a078b --- /dev/null +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbInboxConfigExtensions.cs @@ -0,0 +1,13 @@ +using Volo.Abp.EventBus.Distributed; + +namespace Volo.Abp.MongoDB.DistributedEvents +{ + public static class MongoDbInboxConfigExtensions + { + public static void UseMongoDbContext(this InboxConfig outboxConfig) + where TMongoDbContext : IHasEventInbox + { + outboxConfig.ImplementationType = typeof(IMongoDbContextEventInbox); + } + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbOutboxConfigExtensions.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbOutboxConfigExtensions.cs new file mode 100644 index 0000000000..6da1513451 --- /dev/null +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbOutboxConfigExtensions.cs @@ -0,0 +1,13 @@ +using Volo.Abp.EventBus.Distributed; + +namespace Volo.Abp.MongoDB.DistributedEvents +{ + public static class MongoDbOutboxConfigExtensions + { + public static void UseMongoDbContext(this OutboxConfig outboxConfig) + where TMongoDbContext : IHasEventOutbox + { + outboxConfig.ImplementationType = typeof(IMongoDbContextEventOutbox); + } + } +} \ No newline at end of file diff --git a/test/DistEvents/DistDemoApp/DistDemoApp.csproj b/test/DistEvents/DistDemoApp.EfCoreRabbitMq/DistDemoApp.EfCoreRabbitMq.csproj similarity index 58% rename from test/DistEvents/DistDemoApp/DistDemoApp.csproj rename to test/DistEvents/DistDemoApp.EfCoreRabbitMq/DistDemoApp.EfCoreRabbitMq.csproj index 66623bfde4..fa3ffda64d 100644 --- a/test/DistEvents/DistDemoApp/DistDemoApp.csproj +++ b/test/DistEvents/DistDemoApp.EfCoreRabbitMq/DistDemoApp.EfCoreRabbitMq.csproj @@ -3,22 +3,13 @@ Exe net5.0 + DistDemoApp - - - - - - - - - - - + diff --git a/test/DistEvents/DistDemoApp/DistDemoAppModule.cs b/test/DistEvents/DistDemoApp.EfCoreRabbitMq/DistDemoAppEfCoreRabbitMqModule.cs similarity index 54% rename from test/DistEvents/DistDemoApp/DistDemoAppModule.cs rename to test/DistEvents/DistDemoApp.EfCoreRabbitMq/DistDemoAppEfCoreRabbitMqModule.cs index b7fbe1c930..da2e7a1445 100644 --- a/test/DistEvents/DistDemoApp/DistDemoAppModule.cs +++ b/test/DistEvents/DistDemoApp.EfCoreRabbitMq/DistDemoAppEfCoreRabbitMqModule.cs @@ -1,13 +1,7 @@ -using Medallion.Threading; -using Medallion.Threading.Redis; using Microsoft.Extensions.DependencyInjection; -using StackExchange.Redis; -using Volo.Abp.Autofac; -using Volo.Abp.Domain.Entities.Events.Distributed; using Volo.Abp.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore.DistributedEvents; using Volo.Abp.EntityFrameworkCore.SqlServer; -using Volo.Abp.EventBus.Boxes; using Volo.Abp.EventBus.Distributed; using Volo.Abp.EventBus.RabbitMq; using Volo.Abp.Modularity; @@ -16,18 +10,13 @@ namespace DistDemoApp { [DependsOn( typeof(AbpEntityFrameworkCoreSqlServerModule), - typeof(AbpAutofacModule), typeof(AbpEventBusRabbitMqModule), - typeof(AbpEventBusBoxesModule) + typeof(DistDemoAppSharedModule) )] - public class DistDemoAppModule : AbpModule + public class DistDemoAppEfCoreRabbitMqModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { - var configuration = context.Services.GetConfiguration(); - - context.Services.AddHostedService(); - context.Services.AddAbpDbContext(options => { options.AddDefaultRepositories(); @@ -38,12 +27,6 @@ namespace DistDemoApp options.UseSqlServer(); }); - Configure(options => - { - options.EtoMappings.Add(); - options.AutoEventSelectors.Add(); - }); - Configure(options => { options.Outboxes.Configure(config => @@ -56,12 +39,6 @@ namespace DistDemoApp config.UseDbContext(); }); }); - - context.Services.AddSingleton(sp => - { - var connection = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]); - return new RedisDistributedSynchronizationProvider(connection.GetDatabase()); - }); } } } \ No newline at end of file diff --git a/test/DistEvents/DistDemoApp/Migrations/20210910111009_Added_Inbox_New_Cols.Designer.cs b/test/DistEvents/DistDemoApp.EfCoreRabbitMq/Migrations/20210910152547_Added_Boxes_Initial.Designer.cs similarity index 98% rename from test/DistEvents/DistDemoApp/Migrations/20210910111009_Added_Inbox_New_Cols.Designer.cs rename to test/DistEvents/DistDemoApp.EfCoreRabbitMq/Migrations/20210910152547_Added_Boxes_Initial.Designer.cs index 7b552dfcfc..292cff66f9 100644 --- a/test/DistEvents/DistDemoApp/Migrations/20210910111009_Added_Inbox_New_Cols.Designer.cs +++ b/test/DistEvents/DistDemoApp.EfCoreRabbitMq/Migrations/20210910152547_Added_Boxes_Initial.Designer.cs @@ -11,8 +11,8 @@ using Volo.Abp.EntityFrameworkCore; namespace DistDemoApp.Migrations { [DbContext(typeof(TodoDbContext))] - [Migration("20210910111009_Added_Inbox_New_Cols")] - partial class Added_Inbox_New_Cols + [Migration("20210910152547_Added_Boxes_Initial")] + partial class Added_Boxes_Initial { protected override void BuildTargetModel(ModelBuilder modelBuilder) { diff --git a/test/DistEvents/DistDemoApp.EfCoreRabbitMq/Migrations/20210910152547_Added_Boxes_Initial.cs b/test/DistEvents/DistDemoApp.EfCoreRabbitMq/Migrations/20210910152547_Added_Boxes_Initial.cs new file mode 100644 index 0000000000..9094eaa8c9 --- /dev/null +++ b/test/DistEvents/DistDemoApp.EfCoreRabbitMq/Migrations/20210910152547_Added_Boxes_Initial.cs @@ -0,0 +1,103 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace DistDemoApp.Migrations +{ + public partial class Added_Boxes_Initial : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "AbpEventInbox", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + MessageId = table.Column(type: "nvarchar(450)", nullable: true), + EventName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + EventData = table.Column(type: "varbinary(max)", nullable: false), + CreationTime = table.Column(type: "datetime2", nullable: false), + Processed = table.Column(type: "bit", nullable: false), + ProcessedTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpEventInbox", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpEventOutbox", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + EventName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + EventData = table.Column(type: "varbinary(max)", nullable: false), + CreationTime = table.Column(type: "datetime2", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpEventOutbox", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "TodoItems", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Text = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_TodoItems", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "TodoSummaries", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Year = table.Column(type: "int", nullable: false), + Month = table.Column(type: "tinyint", nullable: false), + Day = table.Column(type: "tinyint", nullable: false), + TotalCount = table.Column(type: "int", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_TodoSummaries", x => x.Id); + }); + + migrationBuilder.CreateIndex( + name: "IX_AbpEventInbox_MessageId", + table: "AbpEventInbox", + column: "MessageId"); + + migrationBuilder.CreateIndex( + name: "IX_AbpEventInbox_Processed_CreationTime", + table: "AbpEventInbox", + columns: new[] { "Processed", "CreationTime" }); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "AbpEventInbox"); + + migrationBuilder.DropTable( + name: "AbpEventOutbox"); + + migrationBuilder.DropTable( + name: "TodoItems"); + + migrationBuilder.DropTable( + name: "TodoSummaries"); + } + } +} diff --git a/test/DistEvents/DistDemoApp/Migrations/TodoDbContextModelSnapshot.cs b/test/DistEvents/DistDemoApp.EfCoreRabbitMq/Migrations/TodoDbContextModelSnapshot.cs similarity index 100% rename from test/DistEvents/DistDemoApp/Migrations/TodoDbContextModelSnapshot.cs rename to test/DistEvents/DistDemoApp.EfCoreRabbitMq/Migrations/TodoDbContextModelSnapshot.cs diff --git a/test/DistEvents/DistDemoApp/Program.cs b/test/DistEvents/DistDemoApp.EfCoreRabbitMq/Program.cs similarity index 95% rename from test/DistEvents/DistDemoApp/Program.cs rename to test/DistEvents/DistDemoApp.EfCoreRabbitMq/Program.cs index 676a07e357..597b29ae22 100644 --- a/test/DistEvents/DistDemoApp/Program.cs +++ b/test/DistEvents/DistDemoApp.EfCoreRabbitMq/Program.cs @@ -51,7 +51,7 @@ namespace DistDemoApp }) .ConfigureServices((hostContext, services) => { - services.AddApplication(); + services.AddApplication(); }); } } diff --git a/test/DistEvents/DistDemoApp/TodoDbContext.cs b/test/DistEvents/DistDemoApp.EfCoreRabbitMq/TodoDbContext.cs similarity index 100% rename from test/DistEvents/DistDemoApp/TodoDbContext.cs rename to test/DistEvents/DistDemoApp.EfCoreRabbitMq/TodoDbContext.cs diff --git a/test/DistEvents/DistDemoApp/TodoDbContextFactory.cs b/test/DistEvents/DistDemoApp.EfCoreRabbitMq/TodoDbContextFactory.cs similarity index 100% rename from test/DistEvents/DistDemoApp/TodoDbContextFactory.cs rename to test/DistEvents/DistDemoApp.EfCoreRabbitMq/TodoDbContextFactory.cs diff --git a/test/DistEvents/DistDemoApp/appsettings.json b/test/DistEvents/DistDemoApp.EfCoreRabbitMq/appsettings.json similarity index 100% rename from test/DistEvents/DistDemoApp/appsettings.json rename to test/DistEvents/DistDemoApp.EfCoreRabbitMq/appsettings.json diff --git a/test/DistEvents/DistDemoApp.MongoDbKafka/DistDemoApp.MongoDbKafka.csproj b/test/DistEvents/DistDemoApp.MongoDbKafka/DistDemoApp.MongoDbKafka.csproj new file mode 100644 index 0000000000..cfd73d51bb --- /dev/null +++ b/test/DistEvents/DistDemoApp.MongoDbKafka/DistDemoApp.MongoDbKafka.csproj @@ -0,0 +1,9 @@ + + + + Exe + net5.0 + DistDemoApp + + + diff --git a/test/DistEvents/DistDemoApp.MongoDbKafka/Program.cs b/test/DistEvents/DistDemoApp.MongoDbKafka/Program.cs new file mode 100644 index 0000000000..d0e4cdf4ca --- /dev/null +++ b/test/DistEvents/DistDemoApp.MongoDbKafka/Program.cs @@ -0,0 +1,12 @@ +using System; + +namespace DistDemoApp +{ + class Program + { + static void Main(string[] args) + { + Console.WriteLine("Hello World!"); + } + } +} \ No newline at end of file diff --git a/test/DistEvents/DistDemoApp/DemoService.cs b/test/DistEvents/DistDemoApp.Shared/DemoService.cs similarity index 100% rename from test/DistEvents/DistDemoApp/DemoService.cs rename to test/DistEvents/DistDemoApp.Shared/DemoService.cs diff --git a/test/DistEvents/DistDemoApp.Shared/DistDemoApp.Shared.csproj b/test/DistEvents/DistDemoApp.Shared/DistDemoApp.Shared.csproj new file mode 100644 index 0000000000..4dc9d1dd64 --- /dev/null +++ b/test/DistEvents/DistDemoApp.Shared/DistDemoApp.Shared.csproj @@ -0,0 +1,23 @@ + + + + net5.0 + DistDemoApp + + + + + + + + + + + + + + + + + + diff --git a/test/DistEvents/DistDemoApp/MyProjectNameHostedService.cs b/test/DistEvents/DistDemoApp.Shared/DistDemoAppHostedService.cs similarity index 90% rename from test/DistEvents/DistDemoApp/MyProjectNameHostedService.cs rename to test/DistEvents/DistDemoApp.Shared/DistDemoAppHostedService.cs index 7522d9fe9d..ba72d6902a 100644 --- a/test/DistEvents/DistDemoApp/MyProjectNameHostedService.cs +++ b/test/DistEvents/DistDemoApp.Shared/DistDemoAppHostedService.cs @@ -6,13 +6,13 @@ using Volo.Abp; namespace DistDemoApp { - public class MyProjectNameHostedService : IHostedService + public class DistDemoAppHostedService : IHostedService { private readonly IAbpApplicationWithExternalServiceProvider _application; private readonly IServiceProvider _serviceProvider; private readonly DemoService _demoService; - public MyProjectNameHostedService( + public DistDemoAppHostedService( IAbpApplicationWithExternalServiceProvider application, IServiceProvider serviceProvider, DemoService demoService) diff --git a/test/DistEvents/DistDemoApp.Shared/DistDemoAppSharedModule.cs b/test/DistEvents/DistDemoApp.Shared/DistDemoAppSharedModule.cs new file mode 100644 index 0000000000..5755f63677 --- /dev/null +++ b/test/DistEvents/DistDemoApp.Shared/DistDemoAppSharedModule.cs @@ -0,0 +1,39 @@ +using Medallion.Threading; +using Medallion.Threading.Redis; +using Microsoft.Extensions.DependencyInjection; +using StackExchange.Redis; +using Volo.Abp.Autofac; +using Volo.Abp.Domain; +using Volo.Abp.Domain.Entities.Events.Distributed; +using Volo.Abp.EventBus.Boxes; +using Volo.Abp.Modularity; + +namespace DistDemoApp +{ + [DependsOn( + typeof(AbpAutofacModule), + typeof(AbpDddDomainModule), + typeof(AbpEventBusBoxesModule) + )] + public class DistDemoAppSharedModule : AbpModule + { + public override void ConfigureServices(ServiceConfigurationContext context) + { + var configuration = context.Services.GetConfiguration(); + + context.Services.AddHostedService(); + + Configure(options => + { + options.EtoMappings.Add(); + options.AutoEventSelectors.Add(); + }); + + context.Services.AddSingleton(sp => + { + var connection = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]); + return new RedisDistributedSynchronizationProvider(connection.GetDatabase()); + }); + } + } +} \ No newline at end of file diff --git a/test/DistEvents/DistDemoApp/TodoEventHandler.cs b/test/DistEvents/DistDemoApp.Shared/TodoEventHandler.cs similarity index 100% rename from test/DistEvents/DistDemoApp/TodoEventHandler.cs rename to test/DistEvents/DistDemoApp.Shared/TodoEventHandler.cs diff --git a/test/DistEvents/DistDemoApp/TodoItem.cs b/test/DistEvents/DistDemoApp.Shared/TodoItem.cs similarity index 100% rename from test/DistEvents/DistDemoApp/TodoItem.cs rename to test/DistEvents/DistDemoApp.Shared/TodoItem.cs diff --git a/test/DistEvents/DistDemoApp/TodoItemEto.cs b/test/DistEvents/DistDemoApp.Shared/TodoItemEto.cs similarity index 100% rename from test/DistEvents/DistDemoApp/TodoItemEto.cs rename to test/DistEvents/DistDemoApp.Shared/TodoItemEto.cs diff --git a/test/DistEvents/DistDemoApp/TodoItemObjectMapper.cs b/test/DistEvents/DistDemoApp.Shared/TodoItemObjectMapper.cs similarity index 100% rename from test/DistEvents/DistDemoApp/TodoItemObjectMapper.cs rename to test/DistEvents/DistDemoApp.Shared/TodoItemObjectMapper.cs diff --git a/test/DistEvents/DistDemoApp/TodoSummary.cs b/test/DistEvents/DistDemoApp.Shared/TodoSummary.cs similarity index 100% rename from test/DistEvents/DistDemoApp/TodoSummary.cs rename to test/DistEvents/DistDemoApp.Shared/TodoSummary.cs diff --git a/test/DistEvents/DistDemoApp/Migrations/20210825110134_Initial.Designer.cs b/test/DistEvents/DistDemoApp/Migrations/20210825110134_Initial.Designer.cs deleted file mode 100644 index 990ef3e967..0000000000 --- a/test/DistEvents/DistDemoApp/Migrations/20210825110134_Initial.Designer.cs +++ /dev/null @@ -1,61 +0,0 @@ -// -using System; -using DistDemoApp; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; - -namespace DistDemoApp.Migrations -{ - [DbContext(typeof(TodoDbContext))] - [Migration("20210825110134_Initial")] - partial class Initial - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.9") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("DistDemoApp.TodoItem", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Text") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.ToTable("TodoItems"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/test/DistEvents/DistDemoApp/Migrations/20210825110134_Initial.cs b/test/DistEvents/DistDemoApp/Migrations/20210825110134_Initial.cs deleted file mode 100644 index b84d1f433f..0000000000 --- a/test/DistEvents/DistDemoApp/Migrations/20210825110134_Initial.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace DistDemoApp.Migrations -{ - public partial class Initial : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "TodoItems", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Text = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_TodoItems", x => x.Id); - }); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "TodoItems"); - } - } -} diff --git a/test/DistEvents/DistDemoApp/Migrations/20210825112717_Added_Summary_Table.Designer.cs b/test/DistEvents/DistDemoApp/Migrations/20210825112717_Added_Summary_Table.Designer.cs deleted file mode 100644 index 4c2cf9abbb..0000000000 --- a/test/DistEvents/DistDemoApp/Migrations/20210825112717_Added_Summary_Table.Designer.cs +++ /dev/null @@ -1,95 +0,0 @@ -// -using System; -using DistDemoApp; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; - -namespace DistDemoApp.Migrations -{ - [DbContext(typeof(TodoDbContext))] - [Migration("20210825112717_Added_Summary_Table")] - partial class Added_Summary_Table - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.9") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("DistDemoApp.TodoItem", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Text") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.ToTable("TodoItems"); - }); - - modelBuilder.Entity("DistDemoApp.TodoSummary", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("Day") - .HasColumnType("tinyint"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Month") - .HasColumnType("tinyint"); - - b.Property("TotalCount") - .HasColumnType("int"); - - b.Property("Year") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("TodoSummaries"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/test/DistEvents/DistDemoApp/Migrations/20210825112717_Added_Summary_Table.cs b/test/DistEvents/DistDemoApp/Migrations/20210825112717_Added_Summary_Table.cs deleted file mode 100644 index 7a7f167470..0000000000 --- a/test/DistEvents/DistDemoApp/Migrations/20210825112717_Added_Summary_Table.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace DistDemoApp.Migrations -{ - public partial class Added_Summary_Table : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "TodoSummaries", - columns: table => new - { - Id = table.Column(type: "int", nullable: false) - .Annotation("SqlServer:Identity", "1, 1"), - Year = table.Column(type: "int", nullable: false), - Month = table.Column(type: "tinyint", nullable: false), - Day = table.Column(type: "tinyint", nullable: false), - TotalCount = table.Column(type: "int", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_TodoSummaries", x => x.Id); - }); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "TodoSummaries"); - } - } -} diff --git a/test/DistEvents/DistDemoApp/Migrations/20210908063422_Added_Outbox.Designer.cs b/test/DistEvents/DistDemoApp/Migrations/20210908063422_Added_Outbox.Designer.cs deleted file mode 100644 index 9c350598bf..0000000000 --- a/test/DistEvents/DistDemoApp/Migrations/20210908063422_Added_Outbox.Designer.cs +++ /dev/null @@ -1,118 +0,0 @@ -// -using System; -using DistDemoApp; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; - -namespace DistDemoApp.Migrations -{ - [DbContext(typeof(TodoDbContext))] - [Migration("20210908063422_Added_Outbox")] - partial class Added_Outbox - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.9") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("DistDemoApp.TodoItem", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Text") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.ToTable("TodoItems"); - }); - - modelBuilder.Entity("DistDemoApp.TodoSummary", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("Day") - .HasColumnType("tinyint"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Month") - .HasColumnType("tinyint"); - - b.Property("TotalCount") - .HasColumnType("int"); - - b.Property("Year") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("TodoSummaries"); - }); - - modelBuilder.Entity("Volo.Abp.EntityFrameworkCore.DistributedEvents.OutgoingEventRecord", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("EventData") - .IsRequired() - .HasColumnType("varbinary(max)"); - - b.Property("EventName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.HasKey("Id"); - - b.ToTable("AbpEventOutbox"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/test/DistEvents/DistDemoApp/Migrations/20210908063422_Added_Outbox.cs b/test/DistEvents/DistDemoApp/Migrations/20210908063422_Added_Outbox.cs deleted file mode 100644 index 2954acdac7..0000000000 --- a/test/DistEvents/DistDemoApp/Migrations/20210908063422_Added_Outbox.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace DistDemoApp.Migrations -{ - public partial class Added_Outbox : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "AbpEventOutbox", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - EventName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - EventData = table.Column(type: "varbinary(max)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpEventOutbox", x => x.Id); - }); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "AbpEventOutbox"); - } - } -} diff --git a/test/DistEvents/DistDemoApp/Migrations/20210908075344_Added_Outbox_CreationTime.Designer.cs b/test/DistEvents/DistDemoApp/Migrations/20210908075344_Added_Outbox_CreationTime.Designer.cs deleted file mode 100644 index def5ebc7d7..0000000000 --- a/test/DistEvents/DistDemoApp/Migrations/20210908075344_Added_Outbox_CreationTime.Designer.cs +++ /dev/null @@ -1,122 +0,0 @@ -// -using System; -using DistDemoApp; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; - -namespace DistDemoApp.Migrations -{ - [DbContext(typeof(TodoDbContext))] - [Migration("20210908075344_Added_Outbox_CreationTime")] - partial class Added_Outbox_CreationTime - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.9") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("DistDemoApp.TodoItem", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Text") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.ToTable("TodoItems"); - }); - - modelBuilder.Entity("DistDemoApp.TodoSummary", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("Day") - .HasColumnType("tinyint"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Month") - .HasColumnType("tinyint"); - - b.Property("TotalCount") - .HasColumnType("int"); - - b.Property("Year") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("TodoSummaries"); - }); - - modelBuilder.Entity("Volo.Abp.EntityFrameworkCore.DistributedEvents.OutgoingEventRecord", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("EventData") - .IsRequired() - .HasColumnType("varbinary(max)"); - - b.Property("EventName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.HasKey("Id"); - - b.ToTable("AbpEventOutbox"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/test/DistEvents/DistDemoApp/Migrations/20210908075344_Added_Outbox_CreationTime.cs b/test/DistEvents/DistDemoApp/Migrations/20210908075344_Added_Outbox_CreationTime.cs deleted file mode 100644 index 2899933b8f..0000000000 --- a/test/DistEvents/DistDemoApp/Migrations/20210908075344_Added_Outbox_CreationTime.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace DistDemoApp.Migrations -{ - public partial class Added_Outbox_CreationTime : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "CreationTime", - table: "AbpEventOutbox", - type: "datetime2", - nullable: false, - defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "CreationTime", - table: "AbpEventOutbox"); - } - } -} diff --git a/test/DistEvents/DistDemoApp/Migrations/20210909113934_Added_Inbox.Designer.cs b/test/DistEvents/DistDemoApp/Migrations/20210909113934_Added_Inbox.Designer.cs deleted file mode 100644 index e02cee4b76..0000000000 --- a/test/DistEvents/DistDemoApp/Migrations/20210909113934_Added_Inbox.Designer.cs +++ /dev/null @@ -1,149 +0,0 @@ -// -using System; -using DistDemoApp; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; - -namespace DistDemoApp.Migrations -{ - [DbContext(typeof(TodoDbContext))] - [Migration("20210909113934_Added_Inbox")] - partial class Added_Inbox - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.9") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("DistDemoApp.TodoItem", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Text") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.ToTable("TodoItems"); - }); - - modelBuilder.Entity("DistDemoApp.TodoSummary", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("Day") - .HasColumnType("tinyint"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Month") - .HasColumnType("tinyint"); - - b.Property("TotalCount") - .HasColumnType("int"); - - b.Property("Year") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("TodoSummaries"); - }); - - modelBuilder.Entity("Volo.Abp.EntityFrameworkCore.DistributedEvents.IncomingEventRecord", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("EventData") - .IsRequired() - .HasColumnType("varbinary(max)"); - - b.Property("EventName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.HasKey("Id"); - - b.ToTable("AbpEventInbox"); - }); - - modelBuilder.Entity("Volo.Abp.EntityFrameworkCore.DistributedEvents.OutgoingEventRecord", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("EventData") - .IsRequired() - .HasColumnType("varbinary(max)"); - - b.Property("EventName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.HasKey("Id"); - - b.ToTable("AbpEventOutbox"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/test/DistEvents/DistDemoApp/Migrations/20210909113934_Added_Inbox.cs b/test/DistEvents/DistDemoApp/Migrations/20210909113934_Added_Inbox.cs deleted file mode 100644 index f154ee3ff6..0000000000 --- a/test/DistEvents/DistDemoApp/Migrations/20210909113934_Added_Inbox.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace DistDemoApp.Migrations -{ - public partial class Added_Inbox : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "AbpEventInbox", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - EventName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - EventData = table.Column(type: "varbinary(max)", nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpEventInbox", x => x.Id); - }); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "AbpEventInbox"); - } - } -} diff --git a/test/DistEvents/DistDemoApp/Migrations/20210909182251_Added_Inbox_Process_Columns.Designer.cs b/test/DistEvents/DistDemoApp/Migrations/20210909182251_Added_Inbox_Process_Columns.Designer.cs deleted file mode 100644 index 02404db39f..0000000000 --- a/test/DistEvents/DistDemoApp/Migrations/20210909182251_Added_Inbox_Process_Columns.Designer.cs +++ /dev/null @@ -1,155 +0,0 @@ -// -using System; -using DistDemoApp; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; - -namespace DistDemoApp.Migrations -{ - [DbContext(typeof(TodoDbContext))] - [Migration("20210909182251_Added_Inbox_Process_Columns")] - partial class Added_Inbox_Process_Columns - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.9") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("DistDemoApp.TodoItem", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Text") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.ToTable("TodoItems"); - }); - - modelBuilder.Entity("DistDemoApp.TodoSummary", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("Day") - .HasColumnType("tinyint"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Month") - .HasColumnType("tinyint"); - - b.Property("TotalCount") - .HasColumnType("int"); - - b.Property("Year") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("TodoSummaries"); - }); - - modelBuilder.Entity("Volo.Abp.EntityFrameworkCore.DistributedEvents.IncomingEventRecord", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("EventData") - .IsRequired() - .HasColumnType("varbinary(max)"); - - b.Property("EventName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Processed") - .HasColumnType("bit"); - - b.Property("ProcessedTime") - .HasColumnType("datetime2"); - - b.HasKey("Id"); - - b.ToTable("AbpEventInbox"); - }); - - modelBuilder.Entity("Volo.Abp.EntityFrameworkCore.DistributedEvents.OutgoingEventRecord", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("EventData") - .IsRequired() - .HasColumnType("varbinary(max)"); - - b.Property("EventName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.HasKey("Id"); - - b.ToTable("AbpEventOutbox"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/test/DistEvents/DistDemoApp/Migrations/20210909182251_Added_Inbox_Process_Columns.cs b/test/DistEvents/DistDemoApp/Migrations/20210909182251_Added_Inbox_Process_Columns.cs deleted file mode 100644 index 7da910a1af..0000000000 --- a/test/DistEvents/DistDemoApp/Migrations/20210909182251_Added_Inbox_Process_Columns.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace DistDemoApp.Migrations -{ - public partial class Added_Inbox_Process_Columns : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "Processed", - table: "AbpEventInbox", - type: "bit", - nullable: false, - defaultValue: false); - - migrationBuilder.AddColumn( - name: "ProcessedTime", - table: "AbpEventInbox", - type: "datetime2", - nullable: true); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "Processed", - table: "AbpEventInbox"); - - migrationBuilder.DropColumn( - name: "ProcessedTime", - table: "AbpEventInbox"); - } - } -} diff --git a/test/DistEvents/DistDemoApp/Migrations/20210910111009_Added_Inbox_New_Cols.cs b/test/DistEvents/DistDemoApp/Migrations/20210910111009_Added_Inbox_New_Cols.cs deleted file mode 100644 index 24f65ff23c..0000000000 --- a/test/DistEvents/DistDemoApp/Migrations/20210910111009_Added_Inbox_New_Cols.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace DistDemoApp.Migrations -{ - public partial class Added_Inbox_New_Cols : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "MessageId", - table: "AbpEventInbox", - type: "nvarchar(450)", - nullable: true); - - migrationBuilder.CreateIndex( - name: "IX_AbpEventInbox_MessageId", - table: "AbpEventInbox", - column: "MessageId"); - - migrationBuilder.CreateIndex( - name: "IX_AbpEventInbox_Processed_CreationTime", - table: "AbpEventInbox", - columns: new[] { "Processed", "CreationTime" }); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropIndex( - name: "IX_AbpEventInbox_MessageId", - table: "AbpEventInbox"); - - migrationBuilder.DropIndex( - name: "IX_AbpEventInbox_Processed_CreationTime", - table: "AbpEventInbox"); - - migrationBuilder.DropColumn( - name: "MessageId", - table: "AbpEventInbox"); - } - } -} diff --git a/test/DistEvents/DistEventsDemo.sln b/test/DistEvents/DistEventsDemo.sln index de7a36535a..4e53ba6367 100644 --- a/test/DistEvents/DistEventsDemo.sln +++ b/test/DistEvents/DistEventsDemo.sln @@ -1,6 +1,10 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DistDemoApp", "DistDemoApp\DistDemoApp.csproj", "{10DBC6BC-1269-4C68-9F6C-12209A3FBF5B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DistDemoApp.EfCoreRabbitMq", "DistDemoApp.EfCoreRabbitMq\DistDemoApp.EfCoreRabbitMq.csproj", "{10DBC6BC-1269-4C68-9F6C-12209A3FBF5B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DistDemoApp.MongoDbKafka", "DistDemoApp.MongoDbKafka\DistDemoApp.MongoDbKafka.csproj", "{19762F48-4CDB-4723-A72F-D859C0DC815A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DistDemoApp.Shared", "DistDemoApp.Shared\DistDemoApp.Shared.csproj", "{C515F4E2-0ED3-4561-BC58-FC633B50E2EB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -12,5 +16,13 @@ Global {10DBC6BC-1269-4C68-9F6C-12209A3FBF5B}.Debug|Any CPU.Build.0 = Debug|Any CPU {10DBC6BC-1269-4C68-9F6C-12209A3FBF5B}.Release|Any CPU.ActiveCfg = Release|Any CPU {10DBC6BC-1269-4C68-9F6C-12209A3FBF5B}.Release|Any CPU.Build.0 = Release|Any CPU + {19762F48-4CDB-4723-A72F-D859C0DC815A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {19762F48-4CDB-4723-A72F-D859C0DC815A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {19762F48-4CDB-4723-A72F-D859C0DC815A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {19762F48-4CDB-4723-A72F-D859C0DC815A}.Release|Any CPU.Build.0 = Release|Any CPU + {C515F4E2-0ED3-4561-BC58-FC633B50E2EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C515F4E2-0ED3-4561-BC58-FC633B50E2EB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C515F4E2-0ED3-4561-BC58-FC633B50E2EB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C515F4E2-0ED3-4561-BC58-FC633B50E2EB}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal