You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: documentation/modules/ROOT/pages/01_setup.adoc
+24-26Lines changed: 24 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,11 +24,11 @@ endif::workshop[]
24
24
25
25
[TIP]
26
26
====
27
-
Installing GraalVM is only required if you intend to build a https://quarkus.io/guides/building-native-image[native binary] for your local operating system and don't have a container runtime.
27
+
Installing GraalVM is only required if you intend to build a https://quarkus.io/guides/building-native-image[native binary] for your local operating system and don't have a container runtime.
28
28
Quarkus can simply build the native binary inside a container and this way you don't need to install and configure GraalVM on your machine.
29
29
====
30
30
31
-
NOTE: * You can also use Docker instead of Podman. The advantage of Podman is that it is 100% Free Open Source and does not need to run with elevated privileges.
31
+
NOTE: You can also use Docker instead of Podman. The advantage of Podman is that it is 100% Free Open Source and does not need to run with elevated privileges.
32
32
33
33
34
34
[tabs]
@@ -47,15 +47,15 @@ Please have them installed and configured before you get started with any of the
47
47
| https://podman-desktop.io/downloads[Podman Desktop for Mac, window="_blank"]
48
48
| https://podman-desktop.io/downloads[Podman Desktop for Linux, window="_blank"]
49
49
| https://podman-desktop.io/downloads[Podman Desktop for Windows, window="_blank"]
50
-
| **Java 17**
51
-
| `brew tap AdoptOpenJDK/openjdk && brew cask install adoptopenjdk17`
52
-
| `dnf install java-17-openjdk.x86_64`
53
-
| https://adoptopenjdk.net[Windows] (Make sure you set the `JAVA_HOME` environment variable and add `%JAVA_HOME%\bin` to your `PATH`)
54
-
| **Apache Maven 3.8.1+**
50
+
| **Java 21**
51
+
| `brew install --cask temurin@21`
52
+
| `dnf install java-21-openjdk.x86_64`
53
+
| https://adoptium.net[Windows] (Make sure you set the `JAVA_HOME` environment variable and add `%JAVA_HOME%\bin` to your `PATH`)
54
+
| **Apache Maven 3.8.6+**
55
55
| `brew install maven`
56
56
| `dnf install maven`
57
57
| https://maven.apache.org/download.cgi[Windows] (Make sure you set the `MAVEN_HOME` environment variable and add `%MAVEN_HOME%\bin` to your `PATH`)
58
-
| **Graal VM [Optional *]**
58
+
| **GraalVM [Optional *]**
59
59
| https://www.graalvm.org/latest/docs/getting-started/macos/[Download & install GraalVM for MacOS]
60
60
| https://www.graalvm.org/latest/docs/getting-started/linux/[Download & install GraalVM for Linux]
61
61
| https://www.graalvm.org/latest/docs/getting-started/windows/[Download & install GraalVM for Windows]
@@ -64,19 +64,19 @@ Please have them installed and configured before you get started with any of the
64
64
65
65
[TIP]
66
66
=====
67
-
If you are using Linux, MacOS or WSL on Windows you can also install the required tools using https://sdkman.io[SDKMAN!]. This allows easy version/distribution switching (and you can install the Quarkus CLI with it as well).
67
+
If you are using Linux, macOS or WSL on Windows, you can also install the required tools using https://sdkman.io[SDKMAN!]. This allows easy version/distribution switching (and you can install the Quarkus CLI with it as well).
68
68
Alternatively on Windows you can also try https://chocolatey.org/[Chocolatey] which works similarly.
69
69
[.console-input]
70
70
[source,bash,subs="+macros,+attributes"]
71
71
----
72
72
curl -s "https://get.sdkman.io" | bash
73
73
source "$HOME/.sdkman/bin/sdkman-init.sh"
74
74
.
75
-
sdk install java
75
+
sdk install java
76
76
sdk install maven
77
77
sdk install quarkus
78
-
sdk install java 17.0.8-graalce
79
-
sdk install jbang
78
+
sdk install java 21.0.3-tem
79
+
sdk install jbang
80
80
----
81
81
=====
82
82
--
@@ -129,7 +129,7 @@ Before we start setting up the environment, let's clone the tutorial sources and
The `work` folder in `$TUTORIAL_HOME` can be used to download the demo application resources and refer to them during the exercises. The `work` folder has a README with instructions on the source code repo and git commands to clone the sources.
@@ -145,7 +145,7 @@ This tutorial was developed and tested with:
Copy file name to clipboardExpand all lines: documentation/modules/ROOT/pages/02_basics.adoc
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,7 +76,7 @@ The scaffolding process also creates a test case for the example endpoint.
76
76
77
77
Check the file `GreetingResourceTest.java` in the folder `src/test/java` to see what a Quarkus integration test looks like.
78
78
79
-
When running this test, the application is started once, then all tests are executed, and finally, the application stops. Although it is not mandatory, by default the RestAssured project is used to test Rest endpoints but it is up to you to change that.
79
+
When running this test, the application is started once, then all tests are executed, and finally, the application stops. Although it is not mandatory, by default the RestAssured project is used to test REST endpoints but it is up to you to change that.
80
80
81
81
You can run the test in your IDE or by running the following:
82
82
@@ -101,15 +101,15 @@ Quarkus CLI::
101
101
quarkus test
102
102
----
103
103
104
-
NOTE: `quarkus test` starts tests in continuous testing mode (more about this below) so to return to the command line after the tests ran you will need to press (q)
104
+
NOTE: `quarkus test` starts tests in continuous testing mode (more about this below) so to return to the command line after the tests ran you will need to press `q`.
105
105
--
106
106
====
107
107
108
108
== Open the Project in your IDE
109
109
110
110
Open or import the generated project into your IDE.
111
111
112
-
If you are using **vscode** you can open the project with:
112
+
If you are using VS Code, you can open the project with:
113
113
114
114
[.console-input]
115
115
[source,bash,subs="+macros,+attributes"]
@@ -121,13 +121,13 @@ NOTE: If you use `tutorial-tools`, your host `quarkus-tutorial/work` contains th
121
121
122
122
== Live Coding (Development mode)
123
123
124
-
Stop the Quarkus application that might be running in `jvm` or `native` mode.
124
+
Stop the Quarkus application that might be running in JVM or native mode.
125
125
126
126
_Live Coding_ or _Development mode_ enables hot deployment with background compilation, which means that when you modify your Java files and/or your resource files and refresh your browser, these changes will automatically take effect.
127
127
128
128
This is probably one of the best features of Quarkus: enabling a very fast and productive iterative feedback loop.
129
129
130
-
Let's start the _Live Coding_ mode by invoking `mvn`. You probably won't need to stop/start Quarkus again during this tutorial:
130
+
Let's start the _Live Coding_ mode by using the `dev` command. You probably won't need to stop/start Quarkus again during this tutorial:
131
131
132
132
[tabs%sync]
133
133
====
@@ -182,6 +182,6 @@ Press `r` and the tests will start running. You should see the status change dow
182
182
All 1 test is passing (0 skipped), 1 test was run in 11705ms. Tests completed at 16:02:32.
183
183
----
184
184
185
-
TIP: If you don’t want to have continuous testing enabled, you can change this by adding `quarkus.test.continuous-testing=disabled` in `application.properties`.
185
+
TIP: If you don’t want to have continuous testing enabled, you can change this by adding `quarkus.test.continuous-testing=disabled` to your `src/main/resources/application.properties`.
186
186
187
-
You can find more details about controlling continuous testing in https://quarkus.io/guides/continuous-testing#controlling-continuous-testing[this guide].
187
+
You can find more details about controlling continuous testing in https://quarkus.io/guides/continuous-testing#controlling-continuous-testing[this guide].
Copy file name to clipboardExpand all lines: documentation/modules/ROOT/pages/03_configuration.adoc
+2-4Lines changed: 2 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,5 @@
1
1
= Configuration
2
2
3
-
:project-name: fruits-app
4
-
5
3
Hardcoded values in your code is a no go, so let's see how to add configuration to your application.
6
4
Quarkus relies on the MicroProfile Config specification and the main configuration file is `application.properties`.
7
5
@@ -121,9 +119,9 @@ public class GreetingResourceTest {
121
119
}
122
120
----
123
121
124
-
NOTE: If you're still running in live testing mode you will already see that the tests pass again and you can ignore the rest of this page and move on to the next step.
122
+
NOTE: If you're still running in continuous testing mode, you will already see that the tests pass again and you can ignore the rest of this page and move on to the next step.
125
123
126
-
Stop your current Live Coding session of Quarkus in the terminal by sending a `CTRL+C`:
124
+
Stop your current Live Coding session of Quarkus in the terminal by sending a `Ctrl+C`:
Copy file name to clipboardExpand all lines: documentation/modules/ROOT/pages/04_panache.adoc
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@
5
5
[#quarkusp-demo-overview]
6
6
== Demo Overview
7
7
8
-
You'll learn how easy and productive is Quarkus with Hibernate with Panache. For this, we'll develop a simple CRUD REST API that handles information about fruits.
8
+
You'll learn how easy and productive Quarkus is with Hibernate with Panache. For this, we'll develop a simple CRUD REST API that handles information about fruits.
9
9
10
10
We'll use http://www.h2database.com[H2,window="_blank"] as our backing database in this section, but it's very easy to use other database engines with Quarkus as you will see in the Dev Services chapter. As an exercise for later, we suggest to try your favorite database engine with the documentation found https://quarkus.io/guides/datasource[here,window="_blank"].
You'll notice that by running this command the Quarkus maven plugin added some dependencies to your `pom.xml` file. And best of all: Quarkus will autodetect and apply the changes, and you don't even need to restart Quarkus!
60
+
You'll notice that by running this command the Quarkus Maven plugin added some dependencies to your `pom.xml` file. And best of all: Quarkus will autodetect and apply the changes, and you don't even need to restart Quarkus!
61
61
62
62
== Adding database properties to your configuration
NOTE: With <<Dev Services>> enabled, no JDBC URL needs to be provided in Dev Mode. In this case, we input the URL to ensure consistency across all application run modes.
78
+
NOTE: With <<Dev Services>> enabled, no JDBC URL needs to be provided in dev mode. In this case, we input the URL to ensure consistency across all application run modes.
79
79
80
80
== Create Fruit Entity
81
81
@@ -139,7 +139,7 @@ public class FruitResource {
139
139
}
140
140
----
141
141
142
-
Now we should everything in place to query our *GET* REST endpoint:
142
+
Now we should have everything in place to query our *GET* REST endpoint:
Copy file name to clipboardExpand all lines: documentation/modules/ROOT/pages/08_rest-client.adoc
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
= REST Client
2
2
3
-
An atypical scenario in a Microservices architecture is the remote invocation of remote REST HTTP endpoints. Quarkus provides a typed REST client that follows the https://github.com/eclipse/microprofile-rest-client[MicroProfile REST Client, window=_blank] specification.
3
+
A typical scenario in a Microservices architecture is the remote invocation of remote REST HTTP endpoints. Quarkus provides a typed REST client that follows the https://github.com/eclipse/microprofile-rest-client[MicroProfile REST Client, window=_blank] specification.
4
4
5
5
Let's create a REST client that accesses https://fruityvice.com[window=_blank] to get nutrition information about our fruits. The endpoint we're interested in is this one:
Copy file name to clipboardExpand all lines: documentation/modules/ROOT/pages/09_fault-tolerance.adoc
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -240,7 +240,7 @@ public interface FruityViceService {
240
240
Now, if 3 (4 x 0.75) failures occur among the rolling window of 4 consecutive invocations, then the circuit is opened for 5000 ms and then will be back to half open.
241
241
If the invocation succeeds, then the circuit is back to closed again.
242
242
243
-
Run the following command at least 5 times:
243
+
Run the following command at least 5 times (without network connectivity):
0 commit comments