Skip to content

Instantly share code, notes, and snippets.

@OndroMih
Created January 21, 2023 16:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save OndroMih/de2303336aeb16b0e26deeac96541cdf to your computer and use it in GitHub Desktop.
Save OndroMih/de2303336aeb16b0e26deeac96541cdf to your computer and use it in GitHub Desktop.
Q/A for the talk "Afraid of Java cold starts in Serverless? Fear not, Java is super fast!" at the JChampions Conference 2023

Answers to the questions raised in the chat furing my presentation:

Mohamed Taoufik TEKAYA: What are the software tools and / or the Integration Development Environment "IDE" deployed for the project app demo ?

I used:

Mohamed Taoufik TEKAYA: What is the "Java" version used in this presentation?

I used Java 11 for Quarkus project and Java 17 for Piranha project. Since AWS Lambda provides built-in support for Java 11 but not for 17. So it's easier to set up a Lambda function with Java 11. Quarkus supports Java 11, so I used it for Quarkus project. Piranha requires Java 17 and newer, so I used Java 17 and created the function using a custom runtime, with Java 17 installed in it.

Mohamed Taoufik TEKAYA: What are the recently updated technical resolutions features for the new "Java" version ?. Can you please mention some of it.

I'm not sure what you mean. Maybe you mean the recently introduced Lambda SnapStart feature, which minimizes the Java cold start of any Java function almost to 0. It uses the OpenJDK CRaC technology and it's integrated in the AWS Lambda Java 11 runtime.

Mohamed Taoufik TEKAYA: What are the development norms and standards for the program code of this app project demo ?

I'm not sure what this question is about. The demo project doesn't follow any norms or standards, it's just a demo to show what is possible with Java and AWS Lambda.

Mohamed Taoufik TEKAYA: Did you use any add-ons "plug-ins" and / or "APIs" libraries for this app project demo ?. If yes, can you please mention these utilies' names.

Netbeans IDE doesn't need any additional plugins for what I showed in the presentation. The project uses the AWS Java SDK for integration with AWS Lambda, and Jakarta EE APIs (Servlet, CDI, REST) for writing the business logic. These Jakarta EE APIs are supported by both Quarkus and Piranha Cloud.

Mohamed Taoufik TEKAYA: How did you proceed in order to import and integrate the "Quarkus" framework to synchronize it with the "Java" IDE ?

I created a Maven-based project (https://maven.apache.org/) and opened it in Netbeans IDE (https://netbeans.apache.org//). Netbeans IDE detects that the project uses Maven to build and recognizes how to work with the project. You can generate a sample Quarkus project based on Maven with the Quarkus project generator (https://code.quarkus.io/)

Mohamed Taoufik TEKAYA: What are the command line instructions typed via the "Bash / shell" terminal in order to synchronize the "Quarkus" framework with the "Java" IDE ?.

There's no need to synchronize Quarkus with Netbeans IDE. I created a Maven-based Quarkus project and Netbeans knows how to build it. I started the project from the command line, using the executable JAR generated by the build: java -jar target/quarkus-app/quarkus-run.jar. It's possible to launch the application using the quarkus:dev Maven target from Netbeans IDE. But this needs to be configured in Netbeans, which uses the exec target by default. The way how applications are started using Maven isn't standardized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment