예제 #1
0
        /* ============================================================================== Init */
        public ClusterChannel(IClusterMessageFormatter formatter, ClusterMemberInfo clusterMemberInfo)
        {
            _incomingMessages = new List <ClusterMessage>();
            CounterManager.Reset("IncomingMessages");
            CounterManager.Reset("TotalMessagesToProcess");

            m_formatter         = formatter;
            m_clusterMemberInfo = clusterMemberInfo;

            // initiate processing threads
            for (var i = 0; i < Configuration.Messaging.MessageProcessorThreadCount; i++)
            {
                try
                {
                    var thstart = new ParameterizedThreadStart(CheckProcessableMessages);
                    var thread  = new Thread(thstart);
                    thread.Name = i.ToString();
                    thread.Start();
                    SnTrace.Messaging.Write("ClusterChannel: 'CheckProcessableMessages' thread started. ManagedThreadId: {0}", thread.ManagedThreadId);
                }
                catch (Exception ex)
                {
                    SnLog.WriteException(ex);
                }
            }
        }
예제 #2
0
        /* ============================================================================== Init */
        public ClusterChannel(IClusterMessageFormatter formatter, ClusterMemberInfo clusterMemberInfo)
        {
            _incomingMessages = new List<ClusterMessage>();
            CounterManager.Reset("IncomingMessages");
            CounterManager.Reset("TotalMessagesToProcess");

            //_incomingMessageSignal = new AutoResetEvent(false);
            m_formatter = formatter;
            m_clusterMemberInfo = clusterMemberInfo;

            // initiate processing threads
            for (var i = 0; i < RepositoryConfiguration.MessageProcessorThreadCount; i++)
            {
                var thstart = new ParameterizedThreadStart(CheckProcessableMessages);
                var thread = new Thread(thstart);
                //thread.Priority = ThreadPriority.Highest;
                thread.Name = i.ToString();
                thread.Start();
            }
        }
예제 #3
0
        /* ============================================================================== Init */
        public ClusterChannel(IClusterMessageFormatter formatter, ClusterMemberInfo clusterMemberInfo)
        {
            _incomingMessages = new List <ClusterMessage>();
            CounterManager.Reset("IncomingMessages");
            CounterManager.Reset("TotalMessagesToProcess");

            //_incomingMessageSignal = new AutoResetEvent(false);
            m_formatter         = formatter;
            m_clusterMemberInfo = clusterMemberInfo;

            // initiate processing threads
            for (var i = 0; i < RepositoryConfiguration.MessageProcessorThreadCount; i++)
            {
                var thstart = new ParameterizedThreadStart(CheckProcessableMessages);
                var thread  = new Thread(thstart);
                //thread.Priority = ThreadPriority.Highest;
                thread.Name = i.ToString();
                thread.Start();
            }
        }
예제 #4
0
 public MsmqChannelProvider(IClusterMessageFormatter formatter,
                            ClusterMemberInfo memberInfo)
     : base(formatter, memberInfo)
 {
 }
예제 #5
0
 public LoopbackChannel(IClusterMessageFormatter formatter,
                        ClusterMemberInfo clusterMemberInfo) : base(formatter, clusterMemberInfo)
 {
 }
예제 #6
0
 public TraceChannel(IClusterMessageFormatter formatter, ClusterMemberInfo clusterMemberInfo)
     : base(formatter, clusterMemberInfo)
 {
 }
예제 #7
0
 public MsmqChannelProvider(IClusterMessageFormatter formatter,
     ClusterMemberInfo memberInfo)
     : base(formatter, memberInfo)
 { }
        //=================================================================================== Constructors

        public RabbitMQMessageProvider(IClusterMessageFormatter formatter, IOptions <ClusterMemberInfo> memberInfo,
                                       IOptions <RabbitMqOptions> options, ILogger <RabbitMQMessageProvider> logger) : base(formatter, memberInfo.Value)
        {
            _logger  = logger;
            _options = options.Value;
        }
예제 #9
0
 public LoopbackChannel(IClusterMessageFormatter formatter, 
     ClusterMemberInfo clusterMemberInfo) : base(formatter, clusterMemberInfo)
 {
 }
예제 #10
0
 public TraceChannel(IClusterMessageFormatter formatter, ClusterMemberInfo clusterMemberInfo)
     : base(formatter, clusterMemberInfo)
 {
 }