public void EspActivityMonitor_BridgeInitialize_VerifyAllEventsAreFired()
        {
            var listener = this.monitor.Listeners.First() as MockActivityListener;
            listener.NumberEventsFired = 0;
            var mockBridge = new Mock<IMessageBusBridge>();
            var bridgeDescription = new MessageBusBridgeDescription();
            using (this.monitor.BridgeInitialize(mockBridge.Object, bridgeDescription))
            {
                Assert.IsTrue(listener.NumberEventsFired == 1, string.Format("The BridgeInitializing event did not fire"));
            }

            Assert.IsTrue(listener.NumberEventsFired == 2, string.Format("The BridgeInitialized event did not fire"));
        }
        /// <summary>
        /// Initializes the message bus bridge connection asynchronously.
        /// </summary>
        /// <param name="description">
        /// The bridge description.
        /// </param>
        /// <returns>
        /// A <see cref="Task"/> representing the initialization operation.
        /// </returns>
        public virtual async Task InitializeAsync(MessageBusBridgeDescription description)
        {
            using (ActivityMonitor.Instance.BridgeInitialize(this, description))
            {
                if (description == null)
                {
                    var exception = new ArgumentNullException("description");
                    ActivityMonitor.Instance.ReportBridgeException(this, exception, false);
                    throw exception;
                }

                this.Source = description.SourceBus;
                this.Target = description.TargetBus;
                this.Entity = description.TargetEntity;

                await
                    this.Source.RegisterHandlerAsync(
                        description.SourceEntity,
                        description.BridgeName,
                        this.OnSourceMessageArrived);
            }
        }
Пример #3
0
        /// <summary>
        /// Initializes the message bus bridge connection asynchronously.
        /// </summary>
        /// <param name="description">
        /// The bridge description.
        /// </param>
        /// <returns>
        /// A <see cref="Task"/> representing the initialization operation.
        /// </returns>
        public virtual async Task InitializeAsync(MessageBusBridgeDescription description)
        {
            using (ActivityMonitor.Instance.BridgeInitialize(this, description))
            {
                if (description == null)
                {
                    var exception = new ArgumentNullException("description");
                    ActivityMonitor.Instance.ReportBridgeException(this, exception, false);
                    throw exception;
                }

                this.Source = description.SourceBus;
                this.Target = description.TargetBus;
                this.Entity = description.TargetEntity;

                await
                this.Source.RegisterHandlerAsync(
                    description.SourceEntity,
                    description.BridgeName,
                    this.OnSourceMessageArrived);
            }
        }
 /// <summary>
 /// The bridge initialize.
 /// </summary>
 /// <param name="bridge">
 /// The bridge.
 /// </param>
 /// <param name="description">
 /// The description.
 /// </param>
 /// <returns>
 /// The <see cref="IDisposable"/>.
 /// </returns>
 public IDisposable BridgeInitialize(IMessageBusBridge bridge, MessageBusBridgeDescription description)
 {
     return GetActivityTracker(
         () =>
             {
                 var args = new BridgeInitializingEventArgs { Description = description };
                 this.OnBridgeInitializing(bridge, args);
             }, 
         t =>
             {
                 var args = new BridgeInitializedEventArgs { Elapsed = t, Description = description };
                 this.OnBridgeInitialized(bridge, args);
             });
 }