Java源码示例:com.ecwid.consul.v1.OperationException
示例1
@Override
public Response<Acl> getAcl(String id) {
HttpResponse httpResponse = rawClient.makeGetRequest("/v1/acl/info/" + id);
if (httpResponse.getStatusCode() == 200) {
List<Acl> value = GsonFactory.getGson().fromJson(httpResponse.getContent(), new TypeToken<List<Acl>>() {
}.getType());
if (value.isEmpty()) {
return new Response<Acl>(null, httpResponse);
} else if (value.size() == 1) {
return new Response<Acl>(value.get(0), httpResponse);
} else {
throw new ConsulException("Strange response (list size=" + value.size() + ")");
}
} else {
throw new OperationException(httpResponse);
}
}
示例2
@Override
public Response<Session> getSessionInfo(String session, QueryParams queryParams, String token) {
UrlParameters tokenParam = token != null ? new SingleUrlParameters("token", token) : null;
HttpResponse httpResponse = rawClient.makeGetRequest("/v1/session/info/" + session, queryParams, tokenParam);
if (httpResponse.getStatusCode() == 200) {
List<Session> value = GsonFactory.getGson().fromJson(httpResponse.getContent(), new TypeToken<List<Session>>() {
}.getType());
if (value == null || value.isEmpty()) {
return new Response<Session>(null, httpResponse);
} else if (value.size() == 1) {
return new Response<Session>(value.get(0), httpResponse);
} else {
throw new ConsulException("Strange response (list size=" + value.size() + ")");
}
} else {
throw new OperationException(httpResponse);
}
}
示例3
@Override
public Response<Session> renewSession(String session, QueryParams queryParams, String token) {
UrlParameters tokenParam = token != null ? new SingleUrlParameters("token", token) : null;
HttpResponse httpResponse = rawClient.makePutRequest("/v1/session/renew/" + session, "", queryParams, tokenParam);
if (httpResponse.getStatusCode() == 200) {
List<Session> value = GsonFactory.getGson().fromJson(httpResponse.getContent(), new TypeToken<List<Session>>() {
}.getType());
if (value.size() == 1) {
return new Response<Session>(value.get(0), httpResponse);
} else {
throw new ConsulException("Strange response (list size=" + value.size() + ")");
}
} else {
throw new OperationException(httpResponse);
}
}
示例4
@Test
public void getEventsShouldNotThrowException() {
EventService eventService = mock(EventService.class);
when(eventService.watch()).thenThrow(new OperationException(500, "error", ""));
ConsulInboundMessageProducer producer = new ConsulInboundMessageProducer(
eventService);
try {
producer.getEvents();
}
catch (Exception e) {
fail("ConsulInboundMessageProducer threw unexpected exception: " + e);
}
}
示例5
private void setupWatchThrowException(ApplicationEventPublisher eventPublisher, String context) {
ConsulClient consul = mock(ConsulClient.class);
OperationException operationException = new OperationException(403, null, null);
when(consul.getKVValues(ArgumentMatchers.eq(context), nullable(String.class),
ArgumentMatchers.any(QueryParams.class))).thenThrow(operationException);
LinkedHashMap<String, Long> initialIndexes = new LinkedHashMap<>();
initialIndexes.put(context, 0L);
startWatch(eventPublisher, consul, initialIndexes);
}
示例6
@Override
public boolean isAvailable() {
try {
Response<List<Member>> servicesMap = consulClient.getAgentMembers();
return true;
} catch (OperationException e) {
logger.info("Consul agent connect failed");
return false;
}
}
示例7
private void doNotify(URL url, Collection<NotifyListener> listeners) {
List<URL> result = new ArrayList<URL>();
String consumerService = url.getServiceInterface();
try {
Response<List<HealthService>> response = this.consulClient.getHealthServices(consumerService, true, QueryParams.DEFAULT);
List<HealthService> healthServices = (List<HealthService>) response.getValue();
Iterator<HealthService> iterator = healthServices.iterator();
while (iterator.hasNext()) {
HealthService healthService = (HealthService) iterator.next();
HealthService.Service service = healthService.getService();
List<URL> urls = new ArrayList<URL>();
String serviceURL = URL.decode(service.getAddress());
URL u = URL.valueOf(serviceURL);
if (UrlUtils.isMatch(url, u)) {
urls.add(u);
}
result.addAll(urls);
if (logger.isInfoEnabled()) {
logger.info("Consul notify: = " + urls);
}
}
if (result == null || result.size() == 0) {
return;
}
for (NotifyListener listener : listeners) {
notify(url, listener, result);
}
} catch (OperationException e) {
throw e;
}
}
示例8
public void keepAlive(URL url) {
try {
String checkId = getCheckId(toCategoryPath(url));
this.consulClient.agentCheckPass(checkId);
logger.info("keep alive success, serviceId: " + checkId);
} catch (OperationException e) {
throw e;
}
}
示例9
public List<InetAddress> getSeeds() {
try {
return getSeedsFromConsul();
} catch (OperationException oe) {
logger.error("Problem connecting to consul. will attempt to use defaults: " + default_seeds.toString(), oe);
return Collections.unmodifiableList(default_seeds);
}
}
示例10
@Override
public Response<String> aclCreate(NewAcl newAcl, String token) {
UrlParameters tokenParams = token != null ? new SingleUrlParameters("token", token) : null;
String json = GsonFactory.getGson().toJson(newAcl);
HttpResponse httpResponse = rawClient.makePutRequest("/v1/acl/create", json, tokenParams);
if (httpResponse.getStatusCode() == 200) {
Map<String, String> value = GsonFactory.getGson().fromJson(httpResponse.getContent(), new TypeToken<Map<String, String>>() {
}.getType());
return new Response<String>(value.get("ID"), httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例11
@Override
public Response<Void> aclUpdate(UpdateAcl updateAcl, String token) {
UrlParameters tokenParams = token != null ? new SingleUrlParameters("token", token) : null;
String json = GsonFactory.getGson().toJson(updateAcl);
HttpResponse httpResponse = rawClient.makePutRequest("/v1/acl/update", json, tokenParams);
if (httpResponse.getStatusCode() == 200) {
return new Response<Void>(null, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例12
@Override
public Response<Void> aclDestroy(String aclId, String token) {
UrlParameters tokenParams = token != null ? new SingleUrlParameters("token", token) : null;
HttpResponse httpResponse = rawClient.makePutRequest("/v1/acl/destroy/" + aclId, "", tokenParams);
if (httpResponse.getStatusCode() == 200) {
return new Response<Void>(null, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例13
@Override
public Response<String> aclClone(String aclId, String token) {
UrlParameters tokenParams = token != null ? new SingleUrlParameters("token", token) : null;
HttpResponse httpResponse = rawClient.makePutRequest("/v1/acl/clone/" + aclId, "", tokenParams);
if (httpResponse.getStatusCode() == 200) {
Map<String, String> value = GsonFactory.getGson().fromJson(httpResponse.getContent(), new TypeToken<Map<String, String>>() {
}.getType());
return new Response<String>(value.get("ID"), httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例14
@Override
public Response<List<Acl>> getAclList(String token) {
UrlParameters tokenParams = token != null ? new SingleUrlParameters("token", token) : null;
HttpResponse httpResponse = rawClient.makeGetRequest("/v1/acl/list", tokenParams);
if (httpResponse.getStatusCode() == 200) {
List<Acl> value = GsonFactory.getGson().fromJson(httpResponse.getContent(), new TypeToken<List<Acl>>() {
}.getType());
return new Response<List<Acl>>(value, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例15
@Override
public Response<String> getStatusLeader() {
HttpResponse httpResponse = rawClient.makeGetRequest("/v1/status/leader");
if (httpResponse.getStatusCode() == 200) {
String value = GsonFactory.getGson().fromJson(httpResponse.getContent(), String.class);
return new Response<String>(value, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例16
@Override
public Response<List<String>> getStatusPeers() {
HttpResponse httpResponse = rawClient.makeGetRequest("/v1/status/peers");
if (httpResponse.getStatusCode() == 200) {
List<String> value = GsonFactory.getGson().fromJson(httpResponse.getContent(), new TypeToken<List<String>>() {
}.getType());
return new Response<List<String>>(value, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例17
@Override
public Response<QueryExecution> executePreparedQuery(String uuid, QueryParams queryParams) {
HttpResponse httpResponse = rawClient.makeGetRequest("/v1/query/" + uuid + "/execute", queryParams);
if (httpResponse.getStatusCode() == 200) {
QueryExecution queryExecution = GsonFactory.getGson().fromJson(httpResponse.getContent(), QueryExecution.class);
return new Response<QueryExecution>(queryExecution, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例18
@Override
public Response<String> sessionCreate(NewSession newSession, QueryParams queryParams, String token) {
UrlParameters tokenParam = token != null ? new SingleUrlParameters("token", token) : null;
String json = GsonFactory.getGson().toJson(newSession);
HttpResponse httpResponse = rawClient.makePutRequest("/v1/session/create", json, queryParams, tokenParam);
if (httpResponse.getStatusCode() == 200) {
Map<String, String> value = GsonFactory.getGson().fromJson(httpResponse.getContent(), new TypeToken<Map<String, String>>() {
}.getType());
return new Response<String>(value.get("ID"), httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例19
@Override
public Response<Void> sessionDestroy(String session, QueryParams queryParams, String token) {
UrlParameters tokenParam = token != null ? new SingleUrlParameters("token", token) : null;
HttpResponse httpResponse = rawClient.makePutRequest("/v1/session/destroy/" + session, "", queryParams, tokenParam);
if (httpResponse.getStatusCode() == 200) {
return new Response<Void>(null, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例20
@Override
public Response<List<Session>> getSessionNode(String node, QueryParams queryParams, String token) {
UrlParameters tokenParam = token != null ? new SingleUrlParameters("token", token) : null;
HttpResponse httpResponse = rawClient.makeGetRequest("/v1/session/node/" + node, queryParams, tokenParam);
if (httpResponse.getStatusCode() == 200) {
List<Session> value = GsonFactory.getGson().fromJson(httpResponse.getContent(), new TypeToken<List<Session>>() {
}.getType());
return new Response<List<Session>>(value, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例21
@Override
public Response<List<Session>> getSessionList(QueryParams queryParams, String token) {
UrlParameters tokenParam = token != null ? new SingleUrlParameters("token", token) : null;
HttpResponse httpResponse = rawClient.makeGetRequest("/v1/session/list", queryParams, tokenParam);
if (httpResponse.getStatusCode() == 200) {
List<Session> value = GsonFactory.getGson().fromJson(httpResponse.getContent(), new TypeToken<List<Session>>() {
}.getType());
return new Response<List<Session>>(value, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例22
@Override
public Response<Map<String, Check>> getAgentChecks() {
HttpResponse httpResponse = rawClient.makeGetRequest("/v1/agent/checks");
if (httpResponse.getStatusCode() == 200) {
Map<String, Check> value = GsonFactory.getGson().fromJson(httpResponse.getContent(), new TypeToken<Map<String, Check>>() {
}.getType());
return new Response<Map<String, Check>>(value, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例23
@Override
public Response<Map<String, Service>> getAgentServices() {
HttpResponse httpResponse = rawClient.makeGetRequest("/v1/agent/services");
if (httpResponse.getStatusCode() == 200) {
Map<String, Service> agentServices = GsonFactory.getGson().fromJson(httpResponse.getContent(),
new TypeToken<Map<String, Service>>() {
}.getType());
return new Response<Map<String, Service>>(agentServices, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例24
@Override
public Response<List<Member>> getAgentMembers() {
HttpResponse httpResponse = rawClient.makeGetRequest("/v1/agent/members");
if (httpResponse.getStatusCode() == 200) {
List<Member> members = GsonFactory.getGson().fromJson(httpResponse.getContent(), new TypeToken<List<Member>>() {
}.getType());
return new Response<List<Member>>(members, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例25
@Override
public Response<Self> getAgentSelf(String token) {
UrlParameters tokenParam = token != null ? new SingleUrlParameters("token", token) : null;
HttpResponse httpResponse = rawClient.makeGetRequest("/v1/agent/self", tokenParam);
if (httpResponse.getStatusCode() == 200) {
Self self = GsonFactory.getGson().fromJson(httpResponse.getContent(), Self.class);
return new Response<Self>(self, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例26
@Override
public Response<Void> agentSetMaintenance(boolean maintenanceEnabled, String reason) {
UrlParameters maintenanceParameter = new SingleUrlParameters("enable", Boolean.toString(maintenanceEnabled));
UrlParameters reasonParamenter = reason != null ? new SingleUrlParameters("reason", reason) : null;
HttpResponse httpResponse = rawClient.makePutRequest("/v1/agent/maintenance", "", maintenanceParameter, reasonParamenter);
if (httpResponse.getStatusCode() == 200) {
return new Response<Void>(null, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例27
@Override
public Response<Void> agentJoin(String address, boolean wan) {
UrlParameters wanParams = wan ? new SingleUrlParameters("wan", "1") : null;
HttpResponse httpResponse = rawClient.makePutRequest("/v1/agent/join/" + address, "", wanParams);
if (httpResponse.getStatusCode() == 200) {
return new Response<Void>(null, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例28
@Override
public Response<Void> agentForceLeave(String node) {
HttpResponse httpResponse = rawClient.makePutRequest("/v1/agent/force-leave/" + node, "");
if (httpResponse.getStatusCode() == 200) {
return new Response<Void>(null, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例29
@Override
public Response<Void> agentCheckRegister(NewCheck newCheck, String token) {
UrlParameters tokenParam = token != null ? new SingleUrlParameters("token", token) : null;
String json = GsonFactory.getGson().toJson(newCheck);
HttpResponse httpResponse = rawClient.makePutRequest("/v1/agent/check/register", json, tokenParam);
if (httpResponse.getStatusCode() == 200) {
return new Response<Void>(null, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}
示例30
@Override
public Response<Void> agentCheckDeregister(String checkId, String token) {
UrlParameters tokenParameter = token != null ? new SingleUrlParameters("token", token) : null;
HttpResponse httpResponse = rawClient.makePutRequest("/v1/agent/check/deregister/" + checkId, "", tokenParameter);
if (httpResponse.getStatusCode() == 200) {
return new Response<Void>(null, httpResponse);
} else {
throw new OperationException(httpResponse);
}
}