• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java GetValue类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.ecwid.consul.v1.kv.model.GetValue的典型用法代码示例。如果您正苦于以下问题:Java GetValue类的具体用法?Java GetValue怎么用?Java GetValue使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



GetValue类属于com.ecwid.consul.v1.kv.model包,在下文中一共展示了GetValue类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: lookupRouterMessage

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
public ConsulRouterResp lookupRouterMessage(String serviceName, long lastConsulIndex) {
    QueryParams queryParams = new QueryParams(ConsulConstants.CONSUL_BLOCK_TIME_SECONDS, lastConsulIndex);
    Response<GetValue> orgResponse = client.getKVValue(serviceName, queryParams);
    GetValue getValue = orgResponse.getValue();
    if (getValue != null && StringUtils.isNoneBlank(getValue.getValue())) {
        String router = new String(Base64.decodeBase64(getValue.getValue()));
        ConsulRouterResp response = ConsulRouterResp.newResponse()//
                                                    .withValue(router)//
                                                    .withConsulIndex(orgResponse.getConsulIndex())//
                                                    .withConsulLastContact(orgResponse.getConsulLastContact())//
                                                    .withConsulKnowLeader(orgResponse.isConsulKnownLeader())//
                                                    .build();
        return response;
    }
    return null;
}
 
开发者ID:venus-boot,项目名称:saluki,代码行数:17,代码来源:ConsulClient.java


示例2: setupWatch

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
private void setupWatch(ApplicationEventPublisher eventPublisher, GetValue getValue, String context, String aclToken) {
	ConsulClient consul = mock(ConsulClient.class);
	List<GetValue> getValues = null;

	if (getValue != null) {
		getValues = Arrays.asList(getValue);
	}

	Response<List<GetValue>> response = new Response<>(getValues, 1L, false, 1L);
	when(consul.getKVValues(eq(context), nullable(String.class), any(QueryParams.class))).thenReturn(response);

	if (StringUtils.hasText(aclToken)) {
		configProperties.setAclToken(aclToken);
	}

	LinkedHashMap<String, Long> initialIndexes = new LinkedHashMap<>();
	initialIndexes.put(context, 0L);
	ConfigWatch watch = new ConfigWatch(configProperties, consul, initialIndexes);
	watch.setApplicationEventPublisher(eventPublisher);
	watch.start();

	watch.watchConfigKeyValues();
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-consul,代码行数:24,代码来源:ConfigWatchTests.java


示例3: runOnce

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
@VisibleForTesting
protected void runOnce() {
    try {
        Response<List<GetValue>> kvals = updateIndex(getRaw(watchParams()));
        ImmutableMap<String, Object> full = convertToMap(kvals);
        final WatchedUpdateResult result;
        if (lastState.get() == null) {
            result = WatchedUpdateResult.createFull(full);
        } else {
            result = incrementalResult(full, lastState.get());
        }
        lastState.set(full);
        fireEvent(result);
    } catch (Exception e) {
        LOGGER.error("Error watching path", e);
    }
}
 
开发者ID:boundary,项目名称:archaius-consul,代码行数:18,代码来源:ConsulWatchedConfigurationSource.java


示例4: getKVValue

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
@Override
public Response<GetValue> getKVValue(String key, String token, QueryParams queryParams) {
	UrlParameters tokenParams = token != null ? new SingleUrlParameters("token", token) : null;
	RawResponse rawResponse = rawClient.makeGetRequest("/v1/kv/" + key, tokenParams, queryParams);

	if (rawResponse.getStatusCode() == 200) {
		List<GetValue> value = GsonFactory.getGson().fromJson(rawResponse.getContent(), new TypeToken<List<GetValue>>(){}.getType());

		if (value.size() == 0) {
			return new Response<GetValue>(null, rawResponse);
		} else if (value.size() == 1) {
			return new Response<GetValue>(value.get(0), rawResponse);
		} else {
			throw new ConsulException("Strange response (list size=" + value.size() + ")");
		}
	} else if (rawResponse.getStatusCode() == 404) {
		return new Response<GetValue>(null, rawResponse);
	} else {
		throw new OperationException(rawResponse);
	}
}
 
开发者ID:flyaruu,项目名称:tasman,代码行数:22,代码来源:KeyValueConsulClient.java


示例5: getKVValues

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
@Override
public Response<List<GetValue>> getKVValues(String keyPrefix, String token, QueryParams queryParams) {
	UrlParameters recurseParam = new SingleUrlParameters("recurse");
	UrlParameters tokenParam = token != null ? new SingleUrlParameters("token", token) : null;
	RawResponse rawResponse = rawClient.makeGetRequest("/v1/kv/" + keyPrefix, recurseParam, tokenParam, queryParams);

	if (rawResponse.getStatusCode() == 200) {
		List<GetValue> value = GsonFactory.getGson().fromJson(rawResponse.getContent(), new TypeToken<List<GetValue>>() {
		}.getType());
		return new Response<List<GetValue>>(value, rawResponse);
	} else if (rawResponse.getStatusCode() == 404) {
		return new Response<List<GetValue>>(null, rawResponse);
	} else {
		throw new OperationException(rawResponse);
	}
}
 
开发者ID:flyaruu,项目名称:tasman,代码行数:17,代码来源:KeyValueConsulClient.java


示例6: getKVValue

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
@Override
public Response<GetValue> getKVValue(String key, String token, QueryParams queryParams) {
	UrlParameters tokenParams = token != null ? new SingleUrlParameters("token", token) : null;
	RawResponse rawResponse = rawClient.makeGetRequest("/v1/kv/" + key, tokenParams, queryParams);

	if (rawResponse.getStatusCode() == 200) {
		List<GetValue> value = GsonFactory.getGson().fromJson(rawResponse.getContent(), new TypeToken<List<GetValue>>() {
		}.getType());

		if (value.size() == 0) {
			return new Response<GetValue>(null, rawResponse);
		} else if (value.size() == 1) {
			return new Response<GetValue>(value.get(0), rawResponse);
		} else {
			throw new ConsulException("Strange response (list size=" + value.size() + ")");
		}
	} else if (rawResponse.getStatusCode() == 404) {
		return new Response<GetValue>(null, rawResponse);
	} else {
		throw new OperationException(rawResponse);
	}
}
 
开发者ID:Ecwid,项目名称:consul-api,代码行数:23,代码来源:KeyValueConsulClient.java


示例7: init

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
public void init() {
	if (!this.context.endsWith("/")) {
		this.context = this.context + "/";
	}

	Response<List<GetValue>> response = source.getKVValues(context,
			configProperties.getAclToken(), QueryParams.DEFAULT);

	initialIndex = response.getConsulIndex();

	final List<GetValue> values = response.getValue();
	ConsulConfigProperties.Format format = configProperties.getFormat();
	switch (format) {
	case KEY_VALUE:
		parsePropertiesInKeyValueFormat(values);
		break;
	case PROPERTIES:
	case YAML:
		parsePropertiesWithNonKeyValueFormat(values, format);
	}
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-consul,代码行数:22,代码来源:ConsulPropertySource.java


示例8: firstCallDoesNotPublishEvent

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
@Test
public void firstCallDoesNotPublishEvent() {
	ApplicationEventPublisher eventPublisher = mock(ApplicationEventPublisher.class);
	configProperties.setFormat(FILES);

	GetValue getValue = new GetValue();
	String context = "/config/app.yml";
	ConsulClient consul = mock(ConsulClient.class);
	List<GetValue> getValues = Collections.singletonList(getValue);

	Response<List<GetValue>> response = new Response<>(getValues, 1L, false, 1L);
	when(consul.getKVValues(eq(context), anyString(), any(QueryParams.class))).thenReturn(response);

	ConfigWatch watch = new ConfigWatch(configProperties, consul, new LinkedHashMap<String, Long>());
	watch.setApplicationEventPublisher(eventPublisher);

	watch.watchConfigKeyValues();
	verify(eventPublisher, times(0)).publishEvent(any(RefreshEvent.class));
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-consul,代码行数:20,代码来源:ConfigWatchTests.java


示例9: release

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
/**
 * 释放session、并从lock中移除当前的sessionId
 *
 * @throws IOException
 */
public void release() throws IOException {
    if (this.acquired) {
        // remove session int /.lock's holders list
        while (true) {
            String contenderKey = keyPath + "/" + sessionId;
            String lockKey = keyPath + "/.lock";

            GetValue lockKeyContent = consulClient.getKVValue(lockKey).getValue();
            if (lockKeyContent != null) {
                // lock值转换
                ContenderValue contenderValue = ContenderValue.parse(lockKeyContent);
                contenderValue.getHolders().remove(sessionId);
                PutParams putParams = new PutParams();
                putParams.setCas(lockKeyContent.getModifyIndex());
                consulClient.deleteKVValue(contenderKey);
                boolean c = consulClient.setKVValue(lockKey, contenderValue.toString(), putParams).getValue();
                if (c) {
                    break;
                }
            }
        }
    }
    // remove session key
    this.acquired = false;
    clearSession();
}
 
开发者ID:dyc87112,项目名称:consul-distributed-lock,代码行数:32,代码来源:Semaphore.java


示例10: clearInvalidHolder

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
public void clearInvalidHolder(ContenderValue contenderValue) throws IOException {
    log.debug("Semaphore limited {}, remove invalid session...", contenderValue.getLimit());

    // 获取/semaphore/<key>/下的所有竞争者session
    Map<String, String> aliveSessionMap = new HashMap<>();
    List<GetValue> sessionList = consulClient.getKVValues(keyPath).getValue();
    for (GetValue value : sessionList) {
        String session = value.getSession();
        if (session == null || value.getSession().isEmpty()) {
            continue;
        }
        aliveSessionMap.put(session, "");
    }

    String lockKey = keyPath + "/.lock";
    GetValue lockKeyContent = consulClient.getKVValue(lockKey).getValue();
    if (lockKeyContent != null) {
        // 清理holders中存储的不在semaphore/<key>/<session>中的session(说明该session已经被释放了)
        List<String> removeList = new LinkedList<>();
        for(int i = 0; i < contenderValue.getHolders().size(); i ++) {
            String holder = contenderValue.getHolders().get(i);
            if (!aliveSessionMap.containsKey(holder)) {
                // 该session已经失效,需要从holder中剔除
                removeList.add(holder);
            }
        }
        if (removeList.size() > 0) {
            contenderValue.getHolders().removeAll(removeList);
            // 清理失效的holder
            PutParams putParams = new PutParams();
            putParams.setCas(lockKeyContent.getModifyIndex());
            consulClient.setKVValue(lockKey, contenderValue.toString(), putParams).getValue();
        }
    }
}
 
开发者ID:dyc87112,项目名称:consul-distributed-lock,代码行数:36,代码来源:Semaphore.java


示例11: parse

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
/**
 * 根据consul中获取的/.lock值来转换
 *
 * @param lockKeyContent
 * @return
 */
@SneakyThrows
public static ContenderValue parse(GetValue lockKeyContent) {
    // 获取Value信息,decode BASE64
    BASE64Decoder decoder = new BASE64Decoder();
    byte[] v = decoder.decodeBuffer(lockKeyContent.getValue());
    String lockKeyValueDecode = new String(v);
    // 根据json转换为ContenderValue对象
    Gson gson = new Gson();
    return gson.fromJson(lockKeyValueDecode, ContenderValue.class);
}
 
开发者ID:dyc87112,项目名称:consul-distributed-lock,代码行数:17,代码来源:ContenderValue.java


示例12: getRate

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
@Override
protected Rate getRate(String key) {
    Rate rate = null;
    GetValue value = this.consulClient.getKVValue(key).getValue();
    if (value != null && value.getDecodedValue() != null) {
        try {
            rate = this.objectMapper.readValue(value.getDecodedValue(), Rate.class);
        } catch (IOException e) {
            log.error("Failed to deserialize Rate", e);
        }
    }
    return rate;
}
 
开发者ID:marcosbarbero,项目名称:spring-cloud-zuul-ratelimit,代码行数:14,代码来源:ConsulRateLimiter.java


示例13: testGetRateException

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
@Test
public void testGetRateException() throws IOException {
    GetValue getValue = new GetValue();
    getValue.setValue("");
    when(consulClient.getKVValue(any())).thenReturn(new Response<>(getValue, 1L, true, 1L));
    when(objectMapper.readValue(anyString(), eq(Rate.class))).thenThrow(new IOException());
    ConsulRateLimiter consulRateLimiter = new ConsulRateLimiter(rateLimiterErrorHandler, consulClient, objectMapper);

    Rate rate = consulRateLimiter.getRate("");
    assertThat(rate).isNull();
}
 
开发者ID:marcosbarbero,项目名称:spring-cloud-zuul-ratelimit,代码行数:12,代码来源:ConsulRateLimiterTest.java


示例14: testRateLimitExceedCapacity

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
@Test
@Override
@SuppressWarnings("unchecked")
public void testRateLimitExceedCapacity() throws Exception {
    Response<GetValue> response = mock(Response.class);
    GetValue getValue = mock(GetValue.class);
    when(this.consulClient.getKVValue(anyString())).thenReturn(response);
    when(response.getValue()).thenReturn(getValue);
    when(getValue.getDecodedValue()).thenReturn(this.objectMapper.writeValueAsString(this.rate(-1)));
    super.testRateLimitExceedCapacity();
}
 
开发者ID:marcosbarbero,项目名称:spring-cloud-zuul-ratelimit,代码行数:12,代码来源:ConsulRateLimitPreFilterTest.java


示例15: testRateLimit

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
@Test
@Override
@SuppressWarnings("unchecked")
public void testRateLimit() throws Exception {
    Response<GetValue> response = mock(Response.class);
    GetValue getValue = mock(GetValue.class);
    when(this.consulClient.getKVValue(anyString())).thenReturn(response);
    when(response.getValue()).thenReturn(getValue);
    when(getValue.getDecodedValue()).thenReturn(this.objectMapper.writeValueAsString(this.rate(1)));

    this.request.setRequestURI("/serviceA");
    this.request.setRemoteAddr("10.0.0.100");

    assertTrue(this.filter.shouldFilter());

    for (int i = 0; i < 2; i++) {
        this.filter.run();
    }

    String key = "null_serviceA_serviceA_10.0.0.100_anonymous";
    String remaining = this.response.getHeader(RateLimitPreFilter.REMAINING_HEADER + key);
    assertEquals("0", remaining);

    TimeUnit.SECONDS.sleep(2);

    when(getValue.getDecodedValue()).thenReturn(this.objectMapper.writeValueAsString(this.rate(2)));
    this.filter.run();
    remaining = this.response.getHeader(RateLimitPreFilter.REMAINING_HEADER + key);
    assertEquals("1", remaining);
}
 
开发者ID:marcosbarbero,项目名称:spring-cloud-zuul-ratelimit,代码行数:31,代码来源:ConsulRateLimitPreFilterTest.java


示例16: convertToMap

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
private ImmutableMap<String, Object> convertToMap(Response<List<GetValue>> kv) {
    if (kv == null || kv.getValue() == null) {
        return ImmutableMap.of();
    }
    ImmutableMap.Builder<String, Object> builder = ImmutableMap.builder();
    for(GetValue gv : kv.getValue()) {
        builder.put(keyFunc(gv), valFunc(gv));
    }
    return builder.build();
}
 
开发者ID:boundary,项目名称:archaius-consul,代码行数:11,代码来源:ConsulWatchedConfigurationSource.java


示例17: testAdded

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
@Test
@Repeat(iterations = 5)
public void testAdded() throws Exception {

    final Response<List<GetValue>> initialResponse = randomListGetValueResponse();
    final GetValue added = randomGetVal();
    final List<GetValue> updatedList = Lists.newArrayList(initialResponse.getValue());
    updatedList.add(added);
    final Response<List<GetValue>> initialResponsePlus = randomResponse(updatedList);
    //noinspection unchecked
    when(client.getKVValues(eq(rootPath), any(QueryParams.class))).thenReturn(initialResponse, initialResponsePlus);

    UpdateListener listener = new UpdateListener();
    configSource.addUpdateListener(listener);

    configSource.runOnce();

    assertThat(configSource.getLatestIndex(), is(initialResponse.getConsulIndex()));

    configSource.runOnce();

    assertThat(configSource.getLatestIndex(), is(initialResponsePlus.getConsulIndex()));
    assertThat(listener.events.get(), is(2));
    assertThat(configSource.getCurrentData().values(), hasItem(decodeVal(added.getValue())));

    WatchedUpdateResult result = listener.results.get(1);
    assertThat(result.getAdded().values(), hasItem(decodeVal(added.getValue())));
    assertThat(result.getDeleted().isEmpty(), is(true));
    assertThat(result.getChanged().isEmpty(), is(true));
    assertThat(result.isIncremental(), is(true));


}
 
开发者ID:boundary,项目名称:archaius-consul,代码行数:34,代码来源:ConsulWatchedConfigurationSourceTest.java


示例18: testRemoved

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
@Test
@Repeat(iterations = 5)
public void testRemoved() throws Exception {

    final Response<List<GetValue>> initialResponse = randomListGetValueResponse();
    final GetValue removed = initialResponse.getValue().get(randomInt(initialResponse.getValue().size() -1));
    final List<GetValue> updatedList = Lists.newArrayList(initialResponse.getValue());
    updatedList.remove(removed);
    final Response<List<GetValue>> initialResponseMinus = randomResponse(updatedList);
    //noinspection unchecked
    when(client.getKVValues(eq(rootPath), any(QueryParams.class))).thenReturn(initialResponse, initialResponseMinus);

    UpdateListener listener = new UpdateListener();
    configSource.addUpdateListener(listener);


    configSource.runOnce();

    assertThat(configSource.getLatestIndex(), is(initialResponse.getConsulIndex()));

    configSource.runOnce();

    assertThat(configSource.getLatestIndex(), is(initialResponseMinus.getConsulIndex()));
    assertThat(listener.events.get(), is(2));
    assertThat(configSource.getCurrentData().values(), not(hasItem(decodeVal(removed.getValue()))));

    WatchedUpdateResult result = listener.results.get(1);
    assertThat(result.getDeleted().values(), hasItem(decodeVal(removed.getValue())));
    assertThat(result.getAdded().isEmpty(), is(true));
    assertThat(result.getChanged().isEmpty(), is(true));
    assertThat(result.isIncremental(), is(true));


}
 
开发者ID:boundary,项目名称:archaius-consul,代码行数:35,代码来源:ConsulWatchedConfigurationSourceTest.java


示例19: randomListGetValue

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
private List<GetValue> randomListGetValue() {
    List<GetValue> list = new ArrayList<>();
    for (int i = 0; i < randomIntBetween(1, 5); i++) {
        list.add(randomGetVal());
    }
    return list;
}
 
开发者ID:boundary,项目名称:archaius-consul,代码行数:8,代码来源:ConsulWatchedConfigurationSourceTest.java


示例20: randomGetVal

import com.ecwid.consul.v1.kv.model.GetValue; //导入依赖的package包/类
private GetValue randomGetVal() {
    final GetValue gv = new GetValue();
    gv.setCreateIndex(randomInt(100));
    gv.setKey( rootPath + "/" + randomAsciiOfLength(10));
    gv.setValue( randomAsciiOfLength(10));
    gv.setModifyIndex(randomInt(100));
    return gv;
}
 
开发者ID:boundary,项目名称:archaius-consul,代码行数:9,代码来源:ConsulWatchedConfigurationSourceTest.java



注:本文中的com.ecwid.consul.v1.kv.model.GetValue类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java SpotifyService类代码示例发布时间:2022-05-22
下一篇:
Java Pattern类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap