public PoolBase(HikariConfig config) { this.config = config; this.poolName = config.PoolName; this.connectionTimeout = config.ConnectionTimeout; this.validationTimeout = (int)config.ValidationTimeout; }
/// <summary> /// 连接提供DataSource /// </summary> /// <param name="configuration"></param> public HikariDataSource(HikariConfig configuration) { configuration.Validate(); configuration.CopyStateTo(this); Logger.Singleton.InfoFormat("{0} - Starting...", configuration.PoolName); pool = fastPathPool = new HikariPool(this); Logger.Singleton.InfoFormat("{0} - Start completed.", configuration.PoolName); }
/// <summary> /// 复制数据 /// </summary> /// <param name="other"></param> public void CopyStateTo(HikariConfig other) { var propertys = typeof(HikariConfig).GetProperties(); foreach (var property in propertys) { property.SetValue(other, property.GetValue(this)); } // other.isSealed = false; }