Как устранить предупреждение «Достигнуто максимальное количество тегов URI для http.client.requests»?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как устранить предупреждение «Достигнуто максимальное количество тегов URI для http.client.requests»?

Сообщение Anonymous »

Я получаю это предупреждение в своем приложении. Я читаю rfidtags примерно от 30 читателей одновременно. Каждый раз, когда приходит тег, я обращаюсь к базе данных, чтобы проверить, есть ли он там. У меня есть REST API, который я использую. Поэтому я использую шаблон REST для работы с REST API.
Есть идеи, как решить эту проблему?
Спасибо!

Вот часть моего кода:
private void vehicleRequests(List vehicles) {
// process list of unique tags to see if they are in the database and linked to a vehicle
List foundMaybeVehs = new ArrayList();
List notFound = new ArrayList();
if (!vehicles.isEmpty()) {
for (Maybevehicle v : vehicles) {
Future r = aService.batchVehTags(v);
try {
Maybevehicle m = r.get(2000, TimeUnit.SECONDS);
if (r.isDone()) {
if (!(m.getB().getVin().equals("notindb"))) {
foundMaybeVehs.add(m);
}
}
} catch (InterruptedException | ExecutionException | TimeoutException e) {

}

if (!foundMaybeVehs.isEmpty()) {
addLocation(foundMaybeVehs);
}
} else {
log.info("no vehicles to check.");
}

}

@Override
public Future batchVehTags(Maybevehicle v) {
Future future = null;
try {
SimpleTaskMaybeveh task = new SimpleTaskMaybeveh(v, appRestTemplate);
future=dbService.submit(task);

} catch (Exception e) {
e.printStackTrace();
}

return future;
}

 
public class SimpleTaskMaybeveh implements Callable {

private RestTemplate appRestTemplate;
private Maybevehicle veh;

public SimpleTaskMaybeveh(Maybevehicle veh, RestTemplate appRestTemplate) {
this.veh = veh;
this.appRestTemplate=appRestTemplate;
}

@Override
public Maybevehicle call() {
String url="http://url/"+veh.getB().getRfidtag();
String authString = "";
byte[] encodedAuth = Base64.encodeBase64(authString.getBytes(Charset.forName("US-ASCII")));
String authHeader = "Basic " + new String(encodedAuth);

HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
headers.set("Authorization", authHeader);

HttpEntity requestEntity = new HttpEntity (headers);
ResponseEntity results = appRestTemplate.exchange(url, HttpMethod.GET, requestEntity, Bmwvehiclemain.class);
try {
Bmwvehiclemain n = results.getBody();
Maybevehicle d = new Maybevehicle(n,veh.getNewtaglocation());
return d;
} catch (Exception e) {
Maybevehicle notveh = new Maybevehicle("notindb");
return notveh;
}
}

}


Подробнее здесь: https://stackoverflow.com/questions/549 ... t-requests
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»