Где находится HttpRequest.BodyProcessor в Java10 - PullRequest
0 голосов
/ 26 октября 2018

Я сейчас использую HTTP / 2 Client в Java9 ~ 10 до this .

Java 9 имеет HttpRequest.BodyProcessor интерфейс, в то время как Java 10 не имеет HttpRequest.BodyProcessor, но вместо этого имеет HttpRequest.BodyPublisher. Оба интерфейса похожи.

Почему Java меняет имя интерфейса? Я думаю, что обратная совместимость игнорируется.

1 Ответ

0 голосов
/ 26 октября 2018

HttpClient был частью модуля инкубатора с Java 9 и 10. Так что мы увидели, что было больше прототипной работы, которая, хотя в идеале не должна сильно меняться, все же не 't гарантирует то же самое.

Из инкубатора JEP # Модули инкубатора :

Функция инкубации - это API нетривиального размера, который разрабатывается длявозможное включение в платформу Java SE или JDK, но еще недостаточно доказано.


Если вы хотите использовать стандартный модуль вы можете использовать его в Java 11, где он называется java.net.http.[ обратите внимание, что он помечен как начиная с Java 11, а не 9 или 10 ]

Модуль jdk.incubator.httpclient, отсутствующий в Java11 , может помочь вам перенести использованиеHttpClient в Java 11, если вы уже использовали это в Java9 / 10.

Немного не по теме : Если вы можете сравнить исходный код вдва JDK, вы обнаружите, что были обновлены методы в BodyPublisher по сравнению с его предыдущим состоянием, как в Java 10, так и в Java 11.

...