Мне не удалось найти отличных примеров, которые можно было бы описать с помощью новой поддержки Java
HTTP2
.
В предыдущих версиях Java (Java 8
) я много раз звонилREST
сервер, использующий несколько потоков.
У меня был глобальный список параметров, и я просматриваю параметры, чтобы сделать различные виды запросов.
Например:
String[] params = {"param1","param2","param3" ..... "paramSomeBigNumber"};
for (int i = 0 ; i < params.length ; i++){
String targetURL= "http://ohellothere.notarealdomain.commmmm?a=" + params[i];
HttpURLConnection connection = null;
URL url = new URL(targetURL);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
//Send request
DataOutputStream wr = new DataOutputStream (
connection.getOutputStream());
wr.writeBytes(urlParameters);
wr.close();
//Get Response
InputStream is = connection.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
//Do some stuff with this specific http response
}
В предыдущем коде чтоЯ хотел бы создать несколько HTTP
запросов на один и тот же сервер с небольшим изменением параметра.Это заняло некоторое время, поэтому я даже разбил работу, используя потоки, чтобы каждый поток работал на некотором фрагменте массива параметров.
С HTTP2
Теперь мне не нужно было бы создавать новыйсвязь каждый раз.Проблема в том, что я не совсем понимаю, как реализовать это с помощью новых версий Java (Java 9 - 11
).
Если у меня есть параметр массива, как у меня ранее, как бы я сделал следующее:
1) Re-use the same connection?
2) Allow different threads to use the same connection?
По сути, я ищу пример того, что я делал раньше, но теперь использую HTTP2
.
С уважением