Lambda Layers, Quarkus Deployments, RDBMS Migrations, Jakarta EE Native, LightSail and ALB--the 100th airhacks.tv

Questions for the 100th airhacks.tv:

  1. Reusable Lambda Layers
  2. Quarkus deployments: docker vs executable jar vs native
  3. Jakarta EE RDBMS schema migrations and tooling
  4. The advantages of Jakarta EE
  5. Quarkus vs. Application Servers
  6. Jakarta EE and native compilation
  7. Jakarta EE: replacing the JPA providers
  8. Quarkus and dependency management
  9. Rules of thumb for declarative security
  10. Quarkus on AWS LightSail
  11. AWS Lambda behind ALB and Content-type

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

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

Maven (Next) and Convention over Configuration--airhacks.fm podcast

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

The #197 airhacks.fm episode with Karl Heinz Marbaise (@khmarbaise) about:
Maven conventions, default Maven plugin configuration, developer's experience, performance optimizations and Maven.next
is available for

Using Java (Corretto) for IaC and at runtime for lean, fast, and efficient AWS Lambda Applications --AWS Developer Tools Blog Article

In this article I used Java CDK for provisioning and "vanilla" Java (Corretto) for running "no-dependencies" MicroProfile applications on Quarkus as AWS Lambdas:

"In this post, I will discuss how you can launch large, monolithic applications on top of AWS Lambda, and I’ll show that they perform well and are cost effective. You’ll learn that the same application you develop for Lambda can be run locally or deployed across your favorite AWS container service, without modifications. Furthermore, I’ll introduce you to running Amazon Corretto on ARM64 using Lambda’s Graviton2-based offering. Corretto, Amazon’s version of OpenJDK, is my go-to option, especially for ARM64, because it lets you run a Java Lambda on Graviton processors efficiently and cost-effectively. I’ll be using it to demonstrate how you can use it with Quarkus to build microservices quickly and at low cost." (...)

Read the entire article: aws.amazon.com/blogs/developer/lean-fast-and-oversized-aws-lambdas-on-jvm-amazon-corretto-java/

The template project / code is available from: github.com/AdamBien/aws-quarkus-lambda-cdk-plain

Building Chrome DevTools with Vanilla Web Components--airhacks.fm podcast

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

The #196 airhacks.fm episode with Jack Franklin (@Jack_Franklin) about:
building complex (enterprise) applications, like Chrome's DevTools, with vanilla Web Components and lit-html only
is available for

CDI Event Arrival Integration Test with Quarkus

To test the arrival of a CDI Event sent from a managed bean:


import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.event.Event;
import javax.inject.Inject;

@ApplicationScoped
public class MessageSender {

    @Inject
    Event<String> messageEvent;

    public void send(){
        this.messageEvent.fire("duke rocks!");
    }
}

...you can inject the managed bean into an integration test with ordered methods as "Class under Test":


import static org.junit.jupiter.api.Assertions.assertEquals;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.event.Observes;
import javax.inject.Inject;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;

import io.quarkus.test.junit.QuarkusTest;


@QuarkusTest
@ApplicationScoped
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class MessageSenderIT {
    
    @Inject
    MessageSender cut;
    
    String expected;

    //...the first test sends the event:
    @Test
    @Order(1)
    void send() {
        this.cut.send();     
    }

    //on "ordinary" CDI listener receives the message
    public void receive(@Observes String message){
        this.expected = message;
    }

    //the last test method verifies the arrival of the event
    @Test
    @Order(2)
    void verifyArrival() {
        assertEquals("duke rocks!",this.expected);
    }
}

Becoming an Apache Maven Committer--airhacks.fm podcast

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

The #195 airhacks.fm episode with Karl Heinz Marbaise (@khmarbaise) about:
low level programming, contributing to open source, Java and becoming an Apache Maven committer
is available for

IaC: Provisioning MicroProfile App on Quarkus as AWS Lambda Function URL with Pulumi

Provisioning a MicroProfile application on Quarkus as AWS Lambda function URL with pulumi:

The code is available from: github.com/AdamBien/aws-quarkus-lambda-pulumi-plain

Also checkout the Cloud Development Kit (CDK) example: Deploying Quarkus / MicroProfile App as AWS Lambda with Java CDK

GraalVM, Apple Silicon (M1) and Clouds--airhacks.fm podcast

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

The #194 airhacks.fm episode with Shaun Smith (@shaunmsmith) about:
GraalVM's 22.1.0 features, support for Apple Silicon / M1, new features, serverless, GraalVM and the cloud economics
is available for

Mostly About Serverless Java--99th airhacks.tv Q & A Live Stream

The 99th airhacks.tv, live streamed from youtube.com/c/bienadam was all about serverless Java in the clouds. We discussed the following topics:

Serverless Java architectures, Lambdas vs. Containers, serverless persistence, ECS fargate scaling, AWS Lambda and cold start optimizations with Java, Java and native compilation, SSO, and serverless authentication, JPA vs. JDBC in the clouds, connection pooling and serverless

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

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

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