Coder Social home page Coder Social logo

quarkus-sample's Introduction

Getting started with Quarkus

This is a minimal CRUD service exposing a couple of endpoints over REST.

Under the hood, this demo uses:

  • RESTEasy to expose the REST endpoints
  • REST-assured and JUnit 5 for endpoint testing

Requirements

To compile and run this demo you will need:

  • JDK 11+
  • GraalVM

Configuring GraalVM and JDK 11+

Make sure that both the GRAALVM_HOME and JAVA_HOME environment variables have been set, and that a JDK 11+ java command is on the path.

See the Building a Native Executable guide for help setting up your environment.

Building the application

Launch the Maven build on the checked out sources of this demo:

./mvnw package

Live coding with Quarkus

The Maven Quarkus plugin provides a development mode that supports live coding. To try this out:

./mvnw quarkus:dev

This command will leave Quarkus running in the foreground listening on port 8080.

  1. Visit the default endpoint: http://127.0.0.1:8080.
  2. Visit the /hello endpoint: http://127.0.0.1:8080/hello
    • Update the response in src/main/java/org/acme/quickstart/GreetingResource.java. Replace hello with hello there in the hello() method.
    • Refresh the browser. You should now see hello there.
    • Undo the change, so the method returns hello again.
    • Refresh the browser. You should now see hello.

Run Quarkus in JVM mode

When you're done iterating in developer mode, you can run the application as a conventional jar file.

First compile it:

./mvnw package

Then run it:

java -jar ./target/quarkus-app/quarkus-run.jar

Have a look at how fast it boots, or measure the total native memory consumption.

Run Quarkus as a native executable

You can also create a native executable from this application without making any source code changes. A native executable removes the dependency on the JVM: everything needed to run the application on the target platform is included in the executable, allowing the application to run with minimal resource overhead.

Compiling a native executable takes a bit longer, as GraalVM performs additional steps to remove unnecessary codepaths. Use the native profile to compile a native executable:

./mvnw package -Dnative

After getting a cup of coffee, you'll be able to run this executable directly:

./target/getting-started-1.0.0-SNAPSHOT-runner

quarkus-sample's People

Contributors

gsmet avatar cescoffier avatar rsvoboda avatar geoand avatar sberyozkin avatar dependabot[bot] avatar yrodiere avatar sanne avatar michalszynkiewicz avatar fabricepipart avatar stuartwdouglas avatar loicmathieu avatar davided avatar famod avatar gastaldi avatar gunnarmorling avatar starksm64 avatar mkouba avatar fromage avatar vorburger avatar tsegismont avatar marcinczeczko avatar ge0ffrey avatar karesti avatar kenfinnigan avatar jmartisk avatar xstefank avatar machi1990 avatar ebullient avatar johnaohara avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.