/// <summary>
 /// Creates the queues.
 /// </summary>
 /// <param name="mainQueueType">Type of the main queue.</param>
 /// <param name="mainQueueEndpoint">The main queue endpoint.</param>
 /// <param name="user">The user.</param>
 protected void CreateQueues(int mainQueueType, IServiceBusEndpoint mainQueueEndpoint, string user)
 {
     // will create the queues if they are not already there
     var queues = _queueStrategy.InitializeQueue(mainQueueEndpoint, mainQueueType);
     foreach (var queue in queues)
         _queueStrategy.GrantPermissions(queue, user);
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Sends the with return.
        /// </summary>
        /// <param name="executeTimeout">The execute timeout.</param>
        /// <param name="endpoint">The endpoint.</param>
        /// <param name="messages">The messages.</param>
        /// <returns></returns>
        public override int SendWithReturn(int executeTimeout, IServiceBusEndpoint endpoint, params object[] messages)
        {
            if (messages == null || messages.Length == 0 || messages[0] == null)
            {
                throw new ArgumentNullException("messages", "Please include at least one message.");
            }
            IAsyncResult asyncResult;

            try
            {
                if (endpoint == null)
                {
                    asyncResult = Bus.Send(NServiceBusTransport.Wrap(messages)).Register(state => { }, null);
                }
                if (endpoint != ServiceBus.SelfEndpoint)
                {
                    asyncResult = Bus.Send(NServiceBusTransport.Cast(endpoint), NServiceBusTransport.Wrap(messages)).Register(state => { }, null);
                }
                else
                {
                    throw new NotSupportedException();
                }
            }
            catch (Exception ex) { throw new ServiceBusMessageException(messages[0].GetType(), ex); }
            if (!asyncResult.AsyncWaitHandle.WaitOne(executeTimeout))
            {
                throw new TimeoutException();
            }
            return(((CompletionResult)asyncResult.AsyncState).ErrorCode);
        }
Ejemplo n.º 3
0
 public static IEndpoint Cast(IServiceBusEndpoint endpoint)
 {
     //var endpointAsLiteral = (endpoint as LiteralServiceBusEndpoint);
     //if (endpointAsLiteral != null)
     //    return endpointAsLiteral.Value;
     throw new InvalidOperationException("Cast: Endpoint");
 }
 /// <summary>
 /// Sends the specified endpoint.
 /// </summary>
 /// <param name="endpoint">The endpoint.</param>
 /// <param name="messages">The messages.</param>
 /// <returns></returns>
 public override IServiceBusCallback Send(IServiceBusEndpoint endpoint, params object[] messages)
 {
     if (messages == null || messages.Length == 0 || messages[0] == null)
     {
         throw new ArgumentNullException("messages", "Please include at least one message.");
     }
     if (endpoint == null)
     {
         endpoint = RhinoServiceBusTransport.EndpointByMessageType(messages[0].GetType());
     }
     try
     {
         if (endpoint == null)
         {
             Bus.Send(RhinoServiceBusTransport.Wrap(messages));
         }
         else if (endpoint != ServiceBus.SelfEndpoint)
         {
             Bus.Send(RhinoServiceBusTransport.Cast(endpoint), RhinoServiceBusTransport.Wrap(messages));
         }
         else
         {
             Bus.SendToSelf(RhinoServiceBusTransport.Wrap(messages));
         }
     }
     catch (Exception ex) { throw new ServiceBusMessageException(messages[0].GetType(), ex); }
     return(null);
 }
Ejemplo n.º 5
0
 public IntegrationEventLogService(
     BankingDbContext bankingDbContext
     , IServiceBusEndpoint endpoint
     )
 {
     _bankingDbContext = bankingDbContext;
     _endpoint         = endpoint;
 }
Ejemplo n.º 6
0
 public EventPublisher(IConfiguration configuration
                       , IIntegrationEventLogRepository integrationEventLogRepository
                       , IServiceBusEndpoint nServiceBusEndpoint)
 {
     _taskConfig = configuration.GetSection("Task_EventPublisher").Get <BackgroundTaskConfiguration>();
     _integrationEventLogRepository = integrationEventLogRepository;
     _endpoint = nServiceBusEndpoint;
 }
Ejemplo n.º 7
0
        public static string Cast(IServiceBusEndpoint endpoint)
        {
            var endpointAsLiteral = (endpoint as LiteralServiceBusEndpoint);

            if (endpointAsLiteral != null)
            {
                return(endpointAsLiteral.Value);
            }
            throw new InvalidOperationException("Cast: Endpoint");
        }
Ejemplo n.º 8
0
        public TransactionBehaviour(BankingDbContext dbContext,
                                    IIntegrationEventLogService integrationEventLogService,
                                    ILogger <TransactionBehaviour <TRequest, TResponse> > logger
                                    , IServiceBusEndpoint endpoint
                                    )
        {
            _dbContext = dbContext ?? throw new ArgumentException(nameof(BankingDbContext));
            //_orderingIntegrationEventService = orderingIntegrationEventService ?? throw new ArgumentException(nameof(orderingIntegrationEventService));
            _integrationEventLogService = integrationEventLogService;
            _logger = logger ?? throw new ArgumentException(nameof(ILogger));

            _endpoint = endpoint;
        }
 /// <summary>
 /// Sends the specified endpoint.
 /// </summary>
 /// <param name="endpoint">The endpoint.</param>
 /// <param name="messages">The messages.</param>
 /// <returns></returns>
 public virtual IServiceBusCallback Send(IServiceBusEndpoint endpoint, params object[] messages)
 {
     if (messages == null || messages.Length == 0 || messages[0] == null)
     {
         throw new ArgumentNullException("messages", "Please include at least one message.");
     }
     try
     {
         //if (endpoint == null) Bus.Endpoint.Send(messages);
         //else if (endpoint != ServiceBus.SelfEndpoint) MTServiceBusTransport.Cast(endpoint).Send(messages);
         //else Bus.Endpoint.Send(messages);
     }
     catch (Exception ex) { throw new ServiceBusMessageException(messages[0].GetType(), ex); }
     return(null);
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Sends a message on the bus
 /// </summary>
 /// <param name="destination"></param>
 /// <param name="messages"></param>
 /// <returns>Null</returns>
 public IServiceBusCallback Send(IServiceBusEndpoint destination, params object[] messages)
 {
     if (messages == null)
     {
         throw new ArgumentNullException("messages");
     }
     foreach (var message in messages)
     {
         foreach (var type in GetTypesOfMessageHandlers(message.GetType()))
         {
             HandleTheMessage(type, message);
         }
     }
     return(null);
 }
        public static Endpoint Cast(IServiceBusEndpoint endpoint)
        {
            var endpointAsLiteral = (endpoint as LiteralServiceBusEndpoint);

            if (endpointAsLiteral != null)
            {
                return new Endpoint {
                           Uri = new Uri(endpointAsLiteral.Value)
                }
            }
            ;
            throw new InvalidOperationException("Cast: Endpoint");
        }

        #endregion
    }
Ejemplo n.º 12
0
 /// <summary>
 /// Sends the specified endpoint.
 /// </summary>
 /// <param name="endpoint">The endpoint.</param>
 /// <param name="messages">The messages.</param>
 /// <returns></returns>
 public virtual IServiceBusCallback Send(IServiceBusEndpoint endpoint, params object[] messages)
 {
     if (messages == null || messages.Length == 0 || messages[0] == null)
     {
         throw new ArgumentNullException("messages", "Please include at least one message.");
     }
     if (endpoint == null)
     {
         endpoint = RhinoServiceBusTransport.EndpointByMessageType(messages[0].GetType());
     }
     try
     {
         if (endpoint == null)
         {
             Bus.Send(messages);
         }
         else
         {
             throw new NotSupportedException();
         }
     }
     catch (Exception ex) { throw new ServiceBusMessageException(messages[0].GetType(), ex); }
     return(null);
 }
Ejemplo n.º 13
0
 /// <summary>
 /// Sends the specified service bus.
 /// </summary>
 /// <typeparam name="TMessage">The type of the message.</typeparam>
 /// <param name="serviceBus">The service bus.</param>
 /// <param name="destination">The destination.</param>
 /// <param name="messageBuilder">The message builder.</param>
 /// <returns></returns>
 public static IServiceBusCallback Send <TMessage>(this IServiceBus serviceBus, IServiceBusEndpoint destination, Action <TMessage> messageBuilder)
     where TMessage : class
 {
     return(serviceBus.Send(destination, serviceBus.CreateMessage <TMessage>(messageBuilder)));
 }
Ejemplo n.º 14
0
 /// <summary>
 /// Sends the specified destination.
 /// </summary>
 /// <param name="destination">The destination.</param>
 /// <param name="messages">The messages.</param>
 /// <returns></returns>
 public IServiceBusCallback Send(IServiceBusEndpoint destination, params object[] messages)
 {
     return(_parent.Send(destination, messages));
 }
Ejemplo n.º 15
0
 /// <summary>
 /// Sends the specified endpoint.
 /// </summary>
 /// <param name="endpoint">The endpoint.</param>
 /// <param name="messages">The messages.</param>
 /// <exception cref="System.NotImplementedException"></exception>
 public void Send(IServiceBusEndpoint endpoint, params object[] messages)
 {
     throw new NotImplementedException();
 }
 /// <summary>
 /// Sends the specified endpoint.
 /// </summary>
 /// <param name="endpoint">The endpoint.</param>
 /// <param name="messages">The messages.</param>
 /// <returns></returns>
 public override IServiceBusCallback Send(IServiceBusEndpoint endpoint, params object[] messages)
 {
     if (messages == null || messages.Length == 0 || messages[0] == null)
         throw new ArgumentNullException("messages", "Please include at least one message.");
     try
     {
         //if (endpoint == null) Bus.Endpoint.Send(MTServiceBusTransport.Wrap(messages));
         //else if (endpoint != ServiceBus.SelfEndpoint) MTServiceBusTransport.Cast(endpoint).Send(MTServiceBusTransport.Wrap(messages));
         //else Bus.Endpoint.Send(MTServiceBusTransport.Wrap(messages));
     }
     catch (Exception ex) { throw new ServiceBusMessageException(messages[0].GetType(), ex); }
     return null;
 }
Ejemplo n.º 17
0
 /// <summary>
 /// Sends the specified destination.
 /// </summary>
 /// <param name="destination">The destination.</param>
 /// <param name="messages">The messages.</param>
 /// <returns></returns>
 public static IServiceBusCallback Send(IServiceBusEndpoint destination, params object[] messages)
 {
     var serviceBus = ServiceBusManager.Current; return(serviceBus.Send(destination, messages));
 }
Ejemplo n.º 18
0
 /// <summary>
 /// Sends the specified destination.
 /// </summary>
 /// <typeparam name="TMessage">The type of the message.</typeparam>
 /// <param name="destination">The destination.</param>
 /// <param name="messageBuilder">The message builder.</param>
 /// <returns></returns>
 public static IServiceBusCallback Send <TMessage>(IServiceBusEndpoint destination, Action <TMessage> messageBuilder)
     where TMessage : class
 {
     var serviceBus = ServiceBusManager.Current; return(serviceBus.Send(destination, serviceBus.CreateMessage <TMessage>(messageBuilder)));
 }