public ThirdPartySystemTokenRecordStore(IHashGroupRepositoryCacheProxy hashGroupRepository, ISystemTokenConnectionFactory systemTokenConnectionFactory, IStoreInfoResolveService storeInfoResolveService
                                         , ISystemLoginEndpointStore systemLoginEndpointStore, IAuthorizationEndpointStore authorizationEndpointStore
                                         )
 {
     _hashGroupRepository          = hashGroupRepository;
     _systemTokenConnectionFactory = systemTokenConnectionFactory;
     _storeInfoResolveService      = storeInfoResolveService;
     _systemLoginEndpointStore     = systemLoginEndpointStore;
     _authorizationEndpointStore   = authorizationEndpointStore;
 }
Beispiel #2
0
 public SerialNumberRecordStore(IHashGroupRepositoryCacheProxy hashGroupRepository, ISerialNumberConnectionFactory serialNumberConnectionFactory, IStoreInfoResolveService storeInfoResolveService)
 {
     _hashGroupRepository           = hashGroupRepository;
     _serialNumberConnectionFactory = serialNumberConnectionFactory;
     _storeInfoResolveService       = storeInfoResolveService;
 }
Beispiel #3
0
        public async static Task <List <StoreInfo> > GetHashStoreInfos(IStoreInfoResolveService storeInfoResolveService, IHashGroupRepositoryCacheProxy hashGroupRepositoryCacheProxy, string hashGroupName)
        {
            List <StoreInfo> result = new List <StoreInfo>();
            var group = await hashGroupRepositoryCacheProxy.QueryByName(hashGroupName);

            if (group == null)
            {
                var fragment = new TextFragment()
                {
                    Code = TextCodes.NotFoundHashGroupByName,
                    DefaultFormatting = "没有找到名称为{0}的一致性哈希组",
                    ReplaceParameters = new List <object>()
                    {
                        hashGroupName
                    }
                };

                throw new UtilityException((int)Errors.NotFoundHashGroupByName, fragment);
            }

            //获取组下面的所有节点
            await group.GetHashRealNode(async (node) =>
            {
                var strKey = node.NodeKey;
                //解析关键字为服务器信息和数据表信息
                var storeResult = await storeInfoResolveService.Execute(strKey);
                result.Add(storeResult);
            });

            return(result);
        }
Beispiel #4
0
        public static StoreInfo GetHashStoreInfoSync(IStoreInfoResolveService storeInfoResolveService, IHashGroupRepositoryCacheProxy hashGroupRepositoryCacheProxy, string hashGroupName, params string[] keys)
        {
            var group = hashGroupRepositoryCacheProxy.QueryByNameSync(hashGroupName);

            if (group == null)
            {
                var fragment = new TextFragment()
                {
                    Code = TextCodes.NotFoundHashGroupByName,
                    DefaultFormatting = "没有找到名称为{0}的一致性哈希组",
                    ReplaceParameters = new List <object>()
                    {
                        hashGroupName
                    }
                };

                throw new UtilityException((int)Errors.NotFoundHashGroupByName, fragment);
            }

            //获取前缀的哈希节点关键字,
            var strKey = group.GetHashNodeKeySync(string.Join(".", keys), 1, 2, 3);

            //解析关键字为服务器信息和数据表信息
            var storeResult = storeInfoResolveService.ExecuteSync(strKey);

            return(storeResult);
        }
Beispiel #5
0
 public StoreGroupIMP(IHashGroupRepositoryCacheProxy hashGroupRepositoryCacheProxy, IStoreGroupMemberStore storeGroupMemberStore)
 {
     _hashGroupRepositoryCacheProxy = hashGroupRepositoryCacheProxy;
     _storeGroupMemberStore         = storeGroupMemberStore;
 }
 public SMessageHistoryListenerDetailStore(IHashGroupRepositoryCacheProxy hashGroupRepository, IMessageQueueConnectionFactory messageQueueConnectionFactory, IStoreInfoResolveService storeInfoResolveService)
 {
     _hashGroupRepository           = hashGroupRepository;
     _messageQueueConnectionFactory = messageQueueConnectionFactory;
     _storeInfoResolveService       = storeInfoResolveService;
 }
Beispiel #7
0
 public WorkflowStepUserActionStore(IWorkflowConnectionFactory dbConnectionFactory, IHashGroupRepositoryCacheProxy hashGroupRepository, IStoreInfoResolveService storeInfoResolveService)
 {
     _dbConnectionFactory     = dbConnectionFactory;
     _hashGroupRepository     = hashGroupRepository;
     _storeInfoResolveService = storeInfoResolveService;
 }