Java 11: Synchronous HTTP GET into a String

Java 11+ ships with a new HttpClient

To fetch the content of a website synchronously into a String:


...a request has to be constructed with an URI:

var uri = URI.create("");
var request = HttpRequest.newBuilder(uri).GET().build();

...then sent (=executed) with an instance of HttpClient:

var client = HttpClient.newHttpClient();
String responseBody = client.send(request, BodyHandlers.ofString()).body();

jOOQ Loves episode

Subscribe to podcast via: spotify| iTunes| RSS

The #115 episode with Lukas Eder (@lukaseder) about:
abstractions, query builders, jOOQ, design decisions and usability, database vs. Java first, managing external dependencies, open source and the value of commercial support
is available for

JDD 2020: Building Kickass Frontends with Vanilla Web Components

Building a frontend with vanilla Web Components for a "Kickass Java Backend"

GitHub's Time Elements Web Components

GitHub's Time Elements: is a set of web components which comes without any dependencies, does not require any processing and is useful for formatting time and dates:

J4K: Live Virtual MicroProfile on Kubernetes / AWS / EKS Hacking #slideless

Building, designing, and structuring a cloud-native MicroProfile (Metrics, OpenAPI, FaultTolerance, JAX-RS, Config, Health, JSON-B, REST Client and JAX-RS) / Quarkus application. AWS / EKS / Kubernetes deployment included:

Building Software for Data Center Providers with episode

Subscribe to podcast via: spotify| iTunes| RSS

The #114 episode with Ruslan Synytsky (@siruslan) about:
working for secret organizations with Java, Java EE and GlassFish, building a Java BaaS and PaaS with Java, rightsizing and stateful workloads with Jelastic
is available for

Java EE 6 to Jakarta EE 9 Migration

Migration of an 8 years old Java EE 6 / Java 6 application written on stage of the JDD 2012 (Java EE: Future Is Now, But It Is Not Evenly Distributed Yet) conference to Jakarta EE 9 with the new jakarta.* packages.

GlassFish 6 was used as an example Jakarta EE 9 runtime:

What Should Happen in 2021 with Java Backends and Web Frontends--JCON 2020 Keynote

Past, present and possible future of Java backends and Web frontends:

MicroProfile 3.3: Links to Specs and JavaDoc

MicroProfile also relies on Java EE 8 APIs. The specs from the opensource Java EE 8 counterpart: Jakarta EE 8 are easier (directly) accessible:

Emitting JAX-RS Messages into MicroProfile Reactive Messaging Channels

Reactive Messaging for MicroProfile API allows mapping of method's parameters and return values to virtual channels:

import org.eclipse.microprofile.reactive.messaging.Incoming;
import org.eclipse.microprofile.reactive.messaging.Outgoing;

public class HelloListener {

    public String onHello(String hello) {
        return "confirmed: " + hello;

Messages consumed by Jakarta RESTful Web Services / Java API for RESTful Web Services can be ingested into the system with the injected Emitter qualified with the @Channel annotation.

After sending the String to the Emitter, the message becomes available in the channel and can be consumed as method parameter or sent to Kafka topic:

import javax.inject.Inject;

import org.eclipse.microprofile.reactive.messaging.Channel;
import org.eclipse.microprofile.reactive.messaging.Emitter;

public class HelloResource {

    Emitter<String> emitter;

    public void forward(String message) {

See it in action, and from scratch in 7 minutes:

Online Workshops
...the last 150 posts
...the last 10 comments