Constructor vs. Field DI,, JBoss, Clouds, JSF, JAXB, Quarkus, VueJS, Micronaut, Web Builds--or 84th airhacks.tv

The 84th airhacks.tv covering:

Constructor vs Field Dependency Injection, JCA and RAR, Jakarta EE Security, JBoss, Timers in public clouds, JSF and HTTP Session replication JAXB customisations, Quarkus metrics, vuejs follow up, Micronaut and MicroProfile, dependency management and builds in web applications, dependent vs. all bean-discovery-mode
is available:

See you every first Monday of the month at https://airhacks.tv April, 5th, 8pm CET (UTC+1:00). Show is also announced at: meetup.com/airhacks.

Any questions left? Ask now: https://gist.github.com/AdamBien/f103d96f28fcab342199d7e506f1516b and get the answers at the next airhacks.tv.

Constructor vs. Field DI, JCA, RARs, JBoss, Clouds, JSF, JAXB, Quarkus, VueJS, Micronaut--or 84th airhacks.tv

Topics and questions for the 84th airhacks.tv

  1. First Monday of the Month Bug
  2. JCA, WLS and WorkManager
  3. Jakarta EE Security Resources
  4. JBoss and timer migration to the public cloud
  5. JSF to cloud migration and HTTP Session replication
  6. RARs in EARs
  7. JAXB customizations without annotations
  8. Quarkus Metrics and Health follow up
  9. vuejs follow up
  10. Micronaut and MicroProfile
  11. Constructor Injection vs. Field Injection
Any questions left? Ask now: https://gist.github.com/AdamBien/d71bc0e6f05c1b8a4ad50ab7d1c2d951 and get the answers at the next airhacks.tv.

Ask questions during the show via twitter mentioning me: https://twitter.com/AdamBien (@AdamBien),using the hashtag: #airhacks or built-in chat at: airhacks.tv. You can join the Q&A session live each first Monday of month, 8 P.M at airhacks.tv

How Caffeine Cache Happened--an airhacks.fm podcast

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #129 airhacks.fm episode with Ben Manes (@benmanes) about:
Java, Bezel,Gin, GWT at Google and how Caffeine Cache happened
is available for

Building Apps with Helidon & MicroProfile

Implementing a MicroProfile application with JAX-RS, CDI, Metrics, Health, Fault Tolerance, Config from "Scratch" and on Helidon:

Micronaut, MicroProfile, Micronaut Data and Helidon

A code-driven introduction to Micronaut, Micronaut support for MicroProfile, and using Micronaut data with Helidon:

From Competitive Gaming to Java EE API Mavenization--an airhacks.fm podcast

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #128 airhacks.fm episode with Romain Grecourt (@@rgrecourt) about:
competitive gaming, Java, Glassfish, Maven and Java EE API packaging
is available for

How KumuluzEE Happened--an airhacks.fm podcast

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #127 airhacks.fm episode with Jan Meznarič (jmezna) about:
"Java microservices, drools, jbpm, GlassFish, MicroProfile, Java EE, FatJARs, exploded JARs and layered JARs, cloud native apps, metrics, configuration, blockchain, peer to peer service updates and how KumuluzEE happened"
is available for

2021: Familiar APIs on Kickass Runtimes--WeAreDevelopers Conference Session

"Java's JAX-RS, DI, JPA, Metrics, Fault Tolerance, Configuration, cloud-readiness combined with minimal start times, high performance, and Go-like feel. ...and this without a dependency on a particular framework, vendor, or library. In this session, I will implement a next-generation Java backend from scratch and explain the magic on-the-fly. Java SE, reactive APIs, Helidon, Quarkus, GraalVM, MicroProfile, and a bit of Jakarta EE included."

Micronaut with JAX-RS, Dependency Injection (JSR-330)--a touch of MicroProfile

micronaut.io supports JAX-RS, Bean Validation and JSR 330: Dependency Injection for Java compatible Dependency Injection and so a MicroProfile subset:

Quarkus, Health, Metrics,OpenAPI: Moved Permanently (301)

Quarkus release 1.11.0 (January 20, 2021) introduced the Dev UI /q/dev. To avoid conflicts, all non-application endpoints (e.g. /health, /metrics) were moved to the new root /q.

Now, the health endpoint is available under: /q/health and metrics are available under /q/metrics

Quarkus automatically redirects the non-application endpoints to the new location:


> curl -i localhost:8080/health
HTTP/1.1 301 Moved Permanently
location: http://localhost:8080/q/health    
and

> curl -i localhost:8080/metrics
HTTP/1.1 301 Moved Permanently
location: http://localhost:8080/q/metrics    

I'm using MicroProfile metrics after torture tests for threshold verification. The release +1.11.* broke the asserts, because JAX-RS / MicroProfile REST client didn't follow the redirects.

Starting with the release: 1.11.2+, also the health endpoint was moved to the new location. Kubernetes expects http status codes: 200-400, so 301 is still considered as 'healthy'.

However: in kubernetes-like environments, the developer may be in charge to specify the health command. Then 301 (redirect) might be problematic.

The /q prefix can be removed with the following property:


quarkus.http.non-application-root-path=/    

The endpoints are defined in the microprofile health and microprofile metrics specifications.

Seems like Quarkus is the first microprofile runtime which moved the endpoints to a different location.

See also related issue: MicroProfile Metrics, Health, OpenAPI URI changed #15030

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