Exemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="OracleMessageBus"/> class.
        /// </summary>
        /// <param name="resolver">The resolver to use.</param>
        /// <param name="configuration">The Oracle scale-out configuration options.</param>
        public OracleMessageBus(IDependencyResolver resolver,
                                OracleScaleoutConfiguration configuration)
            : base(resolver, configuration)
        {
            if (configuration == null)
            {
                throw new ArgumentNullException("configuration");
            }

            if (configuration.UseOracleDependency && configuration.OracleDependencyPort.HasValue)
            {
                OracleDependency.Port = configuration.OracleDependencyPort.Value;
            }

            _connectionString  = configuration.ConnectionString;
            _dbProviderFactory = OracleClientFactory.Instance.AsIDbProviderFactory(configuration.ConnectionString);

            var traceManager = resolver.Resolve <ITraceManager>();

            _trace = traceManager[typeof(OracleMessageBus).Name];

            _dbOperationFactory           = new DbOperationFactory();
            _observableDbOperationFactory = new ObservableDbOperationFactory(null, new OracleDependencyManager(_dbProviderFactory, _trace),
                                                                             new SignalrDbDependencyFactory());
            _useOracleDependency = configuration.UseOracleDependency;

            Task.Run(() => Initialize());
        }
Exemplo n.º 2
0
        public OracleStream(int streamIndex,
                            string connectionString,
                            bool useOracleDependency,
                            TraceSource traceSource,
                            IDbProviderFactory dbProviderFactory,
                            IDbOperationFactory dbOperationFactory,
                            IObservableDbOperationFactory observableDbOperationFactory)
        {
            _streamIndex = streamIndex;
            _trace       = traceSource;
            _tracePrefix = string.Format(CultureInfo.InvariantCulture, "Stream {0} : ", _streamIndex);
            _cts         = new CancellationTokenSource();

            _messageCollection = new BlockingCollection <MessageWrapper>();
            _sender            = new OracleSender(connectionString, _trace, dbProviderFactory, dbOperationFactory);
            _receiver          = new OracleReceiver(connectionString, useOracleDependency, _trace, dbProviderFactory, dbOperationFactory, observableDbOperationFactory);
            _receiver.Queried += () =>
            {
                if (Queried != null)
                {
                    Queried();
                }
            };
            _receiver.Faulted += ex =>
            {
                if (Faulted != null)
                {
                    Faulted(ex);
                }
            };
            _receiver.Received += OnReceived;
            StartReceiving(_cts.Token);
        }
 public OracleInstaller(string connectionString, TraceSource traceSource, IDbProviderFactory dbProviderFactory,
                        IDbOperationFactory dbOperationFactory)
 {
     _connectionString   = connectionString;
     _trace              = traceSource;
     _dbProviderFactory  = dbProviderFactory;
     _dbOperationFactory = dbOperationFactory;
 }
 public OracleSender(string connectionString,
                     TraceSource traceSource,
                     IDbProviderFactory dbProviderFactory,
                     IDbOperationFactory dbOperationFactory)
 {
     _connectionString   = connectionString;
     _insertSql          = "SIGNALR.PAYLOAD_INSERT";
     _traceSource        = traceSource;
     _dbProviderFactory  = dbProviderFactory;
     _dbOperationFactory = dbOperationFactory;
 }
Exemplo n.º 5
0
 public OracleReceiver(string connectionString,
                       bool useOracleDependency,
                       TraceSource traceSource,
                       IDbProviderFactory dbProviderFactory,
                       IDbOperationFactory dbOperationFactory,
                       IObservableDbOperationFactory observableDbOperationFactory)
 {
     _connectionString             = connectionString;
     _useOracleDependency          = useOracleDependency;
     _traceSource                  = traceSource;
     _dbProviderFactory            = dbProviderFactory;
     _dbOperationFactory           = dbOperationFactory;
     _observableDbOperationFactory = observableDbOperationFactory;
 }