誰にも見えないブログ

雑なメモ。まとまってない文章等

「Java 11 and 12 - New Features」を読む会 第2回 に参加

昼から参加。拙い英語で朗読しました。

7 The HTTP Client API

  • java9,10,11で大きく改善
  • 非同期・ノンブロッキング系の改善+HTTP/2の実装
  • java9までのHttpURLConnectionは同期・ブロッキング。使い物にならなかった。
  • Http/2規格化以前にGopherというプロトコルがかつてあった。
  • JavaのHttpClientの競合はApache HttpClient,Eclipse Nettyなど
  • HTTP Clientの認証まわりが難しい。
    • プロパティの設定だけではなく、設定ごとに独自にコードを書く必要がある?
  • jjagのセッションでhtml clientの発表があったらしい。

HttpRequest

  • POSTメソッド
    • 全て大文字のメソッドはjavaだと初めてではないのか?
HttpRequest request = HttpRequest.newBuilder()
                           .uri(new URI("http://www.eJavaGuru.com/"))
                           .timeout(Duration.ofSeconds(240))
                           .POST(HttpRequest.BodyProcessor
                           .fromString("This is sample data"))
                           .build();

As stated in the previous example, BodyHandlers.ofFile() creates an implementation of BodyHandler, which creates and subscribes to BodySubscriber. BodySubscriber is a Reactive Stream subscriber that receives the response body from the server with non- blocking back pressure.

  • BodySubscriberというものを使えばreactive streamが使えるという趣旨の記述が何度も出てくるが、reactive streamは実際どんなコードになるか?どんな動きをするか?という解説は出てこなかった。
  • reactive steream関連の話題はJava読書会で過去に読んだ関数型プログラミング?リアクティブプログラミング?の本が共通のコンテキストとしてあるようだ。(私は未参加)

今回は7章The HTTP Client APIを全て読んだ。

次回はchapter 8, ZGCから