From ed0895e71202002260692d309e0abb5cc55f1774 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 9 Jul 2019 15:31:07 +0300 Subject: [PATCH] Remove RunnableExtensions, Remove IRunnable from AbpTimer. --- .../AbpBackgroundJobsRabbitMqModule.cs | 16 +++++---- .../RabbitMQ/JobQueueManager.cs | 2 +- .../AbpBackgroundWorkersModule.cs | 16 +++++---- .../BackgroundWorkerManager.cs | 4 ++- .../PeriodicBackgroundWorkerBase.cs | 4 +-- .../Volo/Abp/EventBus/EventBusExtensions.cs | 36 ------------------- .../Abp/Features/FeatureCheckerExtensions.cs | 5 --- .../Volo/Abp/Features/FeatureInterceptor.cs | 14 +++----- .../Repositories/MongoDB/MongoDbRepository.cs | 14 ++++---- .../Abp/RabbitMQ/RabbitMqMessageConsumer.cs | 10 ++++-- .../Volo/Abp/Threading/AbpTimer.cs | 11 ++---- .../Volo/Abp/Threading/RunnableExtensions.cs | 21 ----------- 12 files changed, 48 insertions(+), 105 deletions(-) delete mode 100644 framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/EventBusExtensions.cs delete mode 100644 framework/src/Volo.Abp.Threading/Volo/Abp/Threading/RunnableExtensions.cs diff --git a/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/AbpBackgroundJobsRabbitMqModule.cs b/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/AbpBackgroundJobsRabbitMqModule.cs index da18cdc8f3..21751435a7 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/AbpBackgroundJobsRabbitMqModule.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/AbpBackgroundJobsRabbitMqModule.cs @@ -29,16 +29,20 @@ namespace Volo.Abp.BackgroundJobs.RabbitMQ private static void StartJobQueueManager(ApplicationInitializationContext context) { - context.ServiceProvider - .GetRequiredService() - .Start(); + AsyncHelper.RunSync( + () => context.ServiceProvider + .GetRequiredService() + .StartAsync() + ); } private static void StopJobQueueManager(ApplicationShutdownContext context) { - context.ServiceProvider - .GetRequiredService() - .Stop(); + AsyncHelper.RunSync( + () => context.ServiceProvider + .GetRequiredService() + .StopAsync() + ); } } } diff --git a/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/JobQueueManager.cs b/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/JobQueueManager.cs index 266c9c5d8e..7ffe9ec82a 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/JobQueueManager.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/JobQueueManager.cs @@ -61,7 +61,7 @@ namespace Volo.Abp.BackgroundJobs.RabbitMQ .GetRequiredService(typeof(IJobQueue<>) .MakeGenericType(typeof(TArgs))); - jobQueue.Start(); + AsyncHelper.RunSync(() => jobQueue.StartAsync()); return jobQueue; }); diff --git a/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/AbpBackgroundWorkersModule.cs b/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/AbpBackgroundWorkersModule.cs index 1ed2a7f78a..425ffaece0 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/AbpBackgroundWorkersModule.cs +++ b/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/AbpBackgroundWorkersModule.cs @@ -15,9 +15,11 @@ namespace Volo.Abp.BackgroundWorkers var options = context.ServiceProvider.GetRequiredService>().Value; if (options.IsEnabled) { - context.ServiceProvider - .GetRequiredService() - .Start(); + AsyncHelper.RunSync( + () => context.ServiceProvider + .GetRequiredService() + .StartAsync() + ); } } @@ -26,9 +28,11 @@ namespace Volo.Abp.BackgroundWorkers var options = context.ServiceProvider.GetRequiredService>().Value; if (options.IsEnabled) { - context.ServiceProvider - .GetRequiredService() - .Stop(); + AsyncHelper.RunSync( + () => context.ServiceProvider + .GetRequiredService() + .StopAsync() + ); } } } diff --git a/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/BackgroundWorkerManager.cs b/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/BackgroundWorkerManager.cs index 6f8d57ed5c..a8b884e096 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/BackgroundWorkerManager.cs +++ b/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/BackgroundWorkerManager.cs @@ -32,7 +32,9 @@ namespace Volo.Abp.BackgroundWorkers if (IsRunning) { - worker.Start(); + AsyncHelper.RunSync( + () => worker.StartAsync() + ); } } diff --git a/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/PeriodicBackgroundWorkerBase.cs b/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/PeriodicBackgroundWorkerBase.cs index 49773826a7..e699e4cbc8 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/PeriodicBackgroundWorkerBase.cs +++ b/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/PeriodicBackgroundWorkerBase.cs @@ -26,12 +26,12 @@ namespace Volo.Abp.BackgroundWorkers public override async Task StartAsync(CancellationToken cancellationToken = default) { await base.StartAsync(cancellationToken); - await Timer.StartAsync(cancellationToken); + Timer.Start(cancellationToken); } public override async Task StopAsync(CancellationToken cancellationToken = default) { - await Timer.StopAsync(cancellationToken); + Timer.Stop(cancellationToken); await base.StopAsync(cancellationToken); } diff --git a/framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/EventBusExtensions.cs b/framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/EventBusExtensions.cs deleted file mode 100644 index 5139e1cbcb..0000000000 --- a/framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/EventBusExtensions.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; -using JetBrains.Annotations; -using Volo.Abp.Threading; - -namespace Volo.Abp.EventBus -{ - public static class EventBusExtensions - { - /// - /// Triggers an event. - /// - /// Event type - /// Event bus instance - /// Related data for the event - public static void Publish([NotNull] this IEventBus eventBus, [NotNull] TEvent eventData) - where TEvent : class - { - Check.NotNull(eventBus, nameof(eventBus)); - - AsyncHelper.RunSync(() => eventBus.PublishAsync(eventData)); - } - - /// - /// Triggers an event. - /// - /// Event bus instance - /// Event type - /// Related data for the event - public static void Publish([NotNull] this IEventBus eventBus, [NotNull] Type eventType, [NotNull] object eventData) - { - Check.NotNull(eventBus, nameof(eventBus)); - - AsyncHelper.RunSync(() => eventBus.PublishAsync(eventType, eventData)); - } - } -} diff --git a/framework/src/Volo.Abp.Features/Volo/Abp/Features/FeatureCheckerExtensions.cs b/framework/src/Volo.Abp.Features/Volo/Abp/Features/FeatureCheckerExtensions.cs index 9d7f608c4b..68bae0a5e5 100644 --- a/framework/src/Volo.Abp.Features/Volo/Abp/Features/FeatureCheckerExtensions.cs +++ b/framework/src/Volo.Abp.Features/Volo/Abp/Features/FeatureCheckerExtensions.cs @@ -134,10 +134,5 @@ namespace Volo.Abp.Features ); } } - - public static void CheckEnabled(this IFeatureChecker featureChecker, bool requiresAll, params string[] featureNames) - { - AsyncHelper.RunSync(() => featureChecker.CheckEnabledAsync(requiresAll, featureNames)); - } } } \ No newline at end of file diff --git a/framework/src/Volo.Abp.Features/Volo/Abp/Features/FeatureInterceptor.cs b/framework/src/Volo.Abp.Features/Volo/Abp/Features/FeatureInterceptor.cs index a0b15674f6..5fb7c54293 100644 --- a/framework/src/Volo.Abp.Features/Volo/Abp/Features/FeatureInterceptor.cs +++ b/framework/src/Volo.Abp.Features/Volo/Abp/Features/FeatureInterceptor.cs @@ -18,9 +18,7 @@ namespace Volo.Abp.Features public override void Intercept(IAbpMethodInvocation invocation) { - if (AbpCrossCuttingConcerns.IsApplied( - invocation.TargetObject, - AbpCrossCuttingConcerns.FeatureChecking)) + if (AbpCrossCuttingConcerns.IsApplied(invocation.TargetObject, AbpCrossCuttingConcerns.FeatureChecking)) { invocation.Proceed(); return; @@ -32,21 +30,19 @@ namespace Volo.Abp.Features public override async Task InterceptAsync(IAbpMethodInvocation invocation) { - if (AbpCrossCuttingConcerns.IsApplied( - invocation.TargetObject, - AbpCrossCuttingConcerns.FeatureChecking)) + if (AbpCrossCuttingConcerns.IsApplied(invocation.TargetObject, AbpCrossCuttingConcerns.FeatureChecking)) { await invocation.ProceedAsync(); return; } - AsyncHelper.RunSync(() => CheckFeaturesAsync(invocation)); + await CheckFeaturesAsync(invocation); await invocation.ProceedAsync(); } - protected virtual Task CheckFeaturesAsync(IAbpMethodInvocation invocation) + protected virtual async Task CheckFeaturesAsync(IAbpMethodInvocation invocation) { - return _methodInvocationFeatureCheckerService.CheckAsync( + await _methodInvocationFeatureCheckerService.CheckAsync( new MethodInvocationFeatureCheckerContext( invocation.Method ) diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs index 2e993ebecb..cddebd253d 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs @@ -88,11 +88,11 @@ namespace Volo.Abp.Domain.Repositories.MongoDB if (entity is ISoftDelete softDeleteEntity && softDeleteEntity.IsDeleted) { SetDeletionAuditProperties(entity); - AsyncHelper.RunSync(() => TriggerEntityDeleteEvents(entity)); + AsyncHelper.RunSync(() => TriggerEntityDeleteEventsAsync(entity)); } else { - AsyncHelper.RunSync(() => TriggerEntityUpdateEvents(entity)); + AsyncHelper.RunSync(() => TriggerEntityUpdateEventsAsync(entity)); } AsyncHelper.RunSync(() => TriggerDomainEventsAsync(entity)); @@ -122,11 +122,11 @@ namespace Volo.Abp.Domain.Repositories.MongoDB if (entity is ISoftDelete softDeleteEntity && softDeleteEntity.IsDeleted) { SetDeletionAuditProperties(entity); - await TriggerEntityDeleteEvents(entity); + await TriggerEntityDeleteEventsAsync(entity); } else { - await TriggerEntityUpdateEvents(entity); + await TriggerEntityUpdateEventsAsync(entity); } await TriggerDomainEventsAsync(entity); @@ -294,7 +294,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB await EntityChangeEventHelper.TriggerEntityCreatingEventAsync(entity); } - protected virtual async Task TriggerEntityUpdateEvents(TEntity entity) + protected virtual async Task TriggerEntityUpdateEventsAsync(TEntity entity) { await EntityChangeEventHelper.TriggerEntityUpdatedEventOnUowCompletedAsync(entity); await EntityChangeEventHelper.TriggerEntityUpdatingEventAsync(entity); @@ -303,11 +303,11 @@ namespace Volo.Abp.Domain.Repositories.MongoDB protected virtual async Task ApplyAbpConceptsForDeletedEntityAsync(TEntity entity) { SetDeletionAuditProperties(entity); - await TriggerEntityDeleteEvents(entity); + await TriggerEntityDeleteEventsAsync(entity); await TriggerDomainEventsAsync(entity); } - protected virtual async Task TriggerEntityDeleteEvents(TEntity entity) + protected virtual async Task TriggerEntityDeleteEventsAsync(TEntity entity) { await EntityChangeEventHelper.TriggerEntityDeletedEventOnUowCompletedAsync(entity); await EntityChangeEventHelper.TriggerEntityDeletingEventAsync(entity); diff --git a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/RabbitMqMessageConsumer.cs b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/RabbitMqMessageConsumer.cs index a56fc2491a..1214a82a99 100644 --- a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/RabbitMqMessageConsumer.cs +++ b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/RabbitMqMessageConsumer.cs @@ -72,7 +72,7 @@ namespace Volo.Abp.RabbitMQ await TrySendQueueBindCommandsAsync(); } - protected virtual Task TrySendQueueBindCommandsAsync() + protected virtual void TrySendQueueBindCommands() { try { @@ -80,7 +80,7 @@ namespace Volo.Abp.RabbitMQ { if (Channel == null || Channel.IsClosed) { - return Task.CompletedTask; + return; } lock (ChannelSendSyncLock) @@ -115,7 +115,11 @@ namespace Volo.Abp.RabbitMQ { Logger.LogException(ex, LogLevel.Warning); } + } + protected virtual Task TrySendQueueBindCommandsAsync() + { + TrySendQueueBindCommands(); return Task.CompletedTask; } @@ -129,7 +133,7 @@ namespace Volo.Abp.RabbitMQ if (Channel == null || Channel.IsOpen == false) { TryCreateChannel(); - AsyncHelper.RunSync(TrySendQueueBindCommandsAsync); + TrySendQueueBindCommands(); } } diff --git a/framework/src/Volo.Abp.Threading/Volo/Abp/Threading/AbpTimer.cs b/framework/src/Volo.Abp.Threading/Volo/Abp/Threading/AbpTimer.cs index 4733ce01e2..cae8ac984f 100644 --- a/framework/src/Volo.Abp.Threading/Volo/Abp/Threading/AbpTimer.cs +++ b/framework/src/Volo.Abp.Threading/Volo/Abp/Threading/AbpTimer.cs @@ -1,6 +1,5 @@ using System; using System.Threading; -using System.Threading.Tasks; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Volo.Abp.DependencyInjection; @@ -10,7 +9,7 @@ namespace Volo.Abp.Threading /// /// A roboust timer implementation that ensures no overlapping occurs. It waits exactly specified between ticks. /// - public class AbpTimer : IRunnable, ITransientDependency + public class AbpTimer : ITransientDependency { /// /// This event is raised periodically according to Period of Timer. @@ -41,7 +40,7 @@ namespace Volo.Abp.Threading _taskTimer = new Timer(TimerCallBack, null, Timeout.Infinite, Timeout.Infinite); } - public Task StartAsync(CancellationToken cancellationToken = default) + public void Start(CancellationToken cancellationToken = default) { if (Period <= 0) { @@ -53,11 +52,9 @@ namespace Volo.Abp.Threading _taskTimer.Change(RunOnStart ? 0 : Period, Timeout.Infinite); _isRunning = true; } - - return Task.CompletedTask; } - public Task StopAsync(CancellationToken cancellationToken = default) + public void Stop(CancellationToken cancellationToken = default) { lock (_taskTimer) { @@ -69,8 +66,6 @@ namespace Volo.Abp.Threading _isRunning = false; } - - return Task.CompletedTask; } /// diff --git a/framework/src/Volo.Abp.Threading/Volo/Abp/Threading/RunnableExtensions.cs b/framework/src/Volo.Abp.Threading/Volo/Abp/Threading/RunnableExtensions.cs deleted file mode 100644 index 0fec7986fb..0000000000 --- a/framework/src/Volo.Abp.Threading/Volo/Abp/Threading/RunnableExtensions.cs +++ /dev/null @@ -1,21 +0,0 @@ -using JetBrains.Annotations; - -namespace Volo.Abp.Threading -{ - public static class RunnableExtensions - { - public static void Start([NotNull] this IRunnable runnable) - { - Check.NotNull(runnable, nameof(runnable)); - - AsyncHelper.RunSync(() => runnable.StartAsync()); - } - - public static void Stop([NotNull] this IRunnable runnable) - { - Check.NotNull(runnable, nameof(runnable)); - - AsyncHelper.RunSync(() => runnable.StopAsync()); - } - } -} \ No newline at end of file