Skip to content

Commit

Permalink
deploy: b43f26e
Browse files Browse the repository at this point in the history
  • Loading branch information
gsmet committed Jul 14, 2023
1 parent d03f4f9 commit 8fb3c54
Show file tree
Hide file tree
Showing 6 changed files with 163 additions and 184 deletions.
2 changes: 1 addition & 1 deletion feed.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<title>Quarkus</title>
<link>https://quarkus.io</link>
<description>Quarkus: Supersonic Subatomic Java</description>
<lastBuildDate>Thu, 13 Jul 2023 14:11:58 +0000</lastBuildDate>
<lastBuildDate>Fri, 14 Jul 2023 03:13:44 +0000</lastBuildDate>

<item>
<title>On the Road to CDI Compatibility</title>
Expand Down
230 changes: 80 additions & 150 deletions version/main/guides/cdi-reference.html

Large diffs are not rendered by default.

5 changes: 4 additions & 1 deletion version/main/guides/datasource.html
Original file line number Diff line number Diff line change
Expand Up @@ -920,7 +920,10 @@ <h3 id="narayana-transaction-manager-integration"><a class="anchor" href="#naray
</ul>
</div>
<div class="paragraph">
<p>See the <a href="#configuration-reference">Configuration Reference</a> section below.</p>
<p>For more information, see the <a href="#configuration-reference">Configuration reference</a> section below.</p>
</div>
<div class="paragraph">
<p>To facilitate the storage of transaction logs in a database by using JDBC, see <a href="transaction#jdbcstore">Configuring transaction logs to be stored in a datasource</a> section of the <a href="transaction">Using transactions in Quarkus</a> guide.</p>
</div>
<div class="sect3">
<h4 id="named-datasources"><a class="anchor" href="#named-datasources"></a>Named datasources</h4>
Expand Down
13 changes: 8 additions & 5 deletions version/main/guides/duplicated-context.html
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ <h1 class="text-caps">Duplicated context, context locals, asynchronous processin
Thus, you cannot use <code>ThreadLocals</code> as the values would be leaked between the various concurrent processing.</p>
</div>
<div class="paragraph">
<p><em>Duplicated Contexts</em> are a construct that provides the same kind of propagation but for asynchronous processing.
<p>Vert.x <em>duplicated context</em> is a construct that provides the same kind of propagation but for asynchronous processing.
It can also be used with synchronous code.</p>
</div>
<div class="paragraph">
Expand Down Expand Up @@ -294,14 +294,14 @@ <h2 id="context-and-duplicated-context"><a class="anchor" href="#context-and-dup
@Path("/hello1")
public String hello1() {
Context context = Vertx.currentContext();
return "Hello, you are running on context: %s".formatted(context); <i class="conum" data-value="1"></i><b>(1)</b>
return "Hello, you are running on context: %s and on thread %s".formatted(context, Thread.currentThread()); <i class="conum" data-value="1"></i><b>(1)</b>
}

@GET
@Path("/hello2")
public String hello2() { // Called on a worker thread (because it has a blocking signature)
Context context = Vertx.currentContext();
return "Hello, you are running on context: %s and on thread %s".formatted(context); <i class="conum" data-value="2"></i><b>(2)</b>
return "Hello, you are running on context: %s and on thread %s".formatted(context, Thread.currentThread()); <i class="conum" data-value="2"></i><b>(2)</b>
}</code></pre>
</div>
</div>
Expand Down Expand Up @@ -388,7 +388,10 @@ <h2 id="context-local-data"><a class="anchor" href="#context-local-data"></a>Con
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">AtomicInteger counter = new AtomicInteger();
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">import io.smallrye.common.vertx.ContextLocals;

AtomicInteger counter = new AtomicInteger();

public Uni&lt;String&gt; invoke() {
Context context = Vertx.currentContext();

Expand Down Expand Up @@ -484,7 +487,7 @@ <h2 id="extensions-supporting-duplicated-contexts"><a class="anchor" href="#exte
<p>Reactive Routes</p>
</li>
<li>
<p><code>@ConsumeEvent</code></p>
<p>Vert.x Event Bus <code>@ConsumeEvent</code></p>
</li>
<li>
<p>Reactive REST Client</p>
Expand Down
40 changes: 20 additions & 20 deletions version/main/guides/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,7 @@ <h4><a href="/version/main/guides/security-oidc-code-flow-authentication-tutoria
<div class="description"><p>With the Quarkus OpenID Connect (OIDC) extension, you can protect application HTTP endpoints by using the OIDC Authorization Code Flow mechanism.</p>
</div>
<div class="keywords"></div>
<div class="categories">web, security</div>
<div class="categories">security, web</div>
</div>


Expand Down Expand Up @@ -412,7 +412,7 @@ <h4><a href="/version/main/guides/security-authentication-mechanisms" >Authentic
<div class="description"><p>The Quarkus Security framework supports multiple authentication mechanisms, which you can use to secure your applications.</p>
</div>
<div class="keywords"></div>
<div class="categories">web, security</div>
<div class="categories">security, web</div>
</div>


Expand All @@ -423,7 +423,7 @@ <h4><a href="/version/main/guides/security-basic-authentication" >Basic authenti
<div class="description"><p>HTTP Basic authentication is one of the least resource-demanding techniques that enforce access controls to web resources.</p>
</div>
<div class="keywords"></div>
<div class="categories">web, security</div>
<div class="categories">security, web</div>
</div>


Expand All @@ -434,7 +434,7 @@ <h4><a href="/version/main/guides/duplicated-context" >Duplicated context, conte
<div class="description"><p>When using a traditional, blocking, and synchronous framework, processing of each request is performed in a dedicated thread.</p>
</div>
<div class="keywords"></div>
<div class="categories">architecture, core</div>
<div class="categories">core, architecture</div>
</div>


Expand All @@ -456,7 +456,7 @@ <h4><a href="/version/main/guides/security-oidc-bearer-token-authentication" >Op
<div class="description"><p>Secure HTTP access to Jakarta REST (formerly known as JAX-RS) endpoints in your application with Bearer token authentication by using the Quarkus OpenID Connect (OIDC) extension.</p>
</div>
<div class="keywords"></div>
<div class="categories">web, security</div>
<div class="categories">security, web</div>
</div>


Expand All @@ -467,7 +467,7 @@ <h4><a href="/version/main/guides/security-oidc-code-flow-authentication" >OpenI
<div class="description"><p>To protect your web applications, you can use the industry-standard OpenID Connect (OIDC) Authorization Code Flow mechanism provided by the Quarkus OIDC extension.</p>
</div>
<div class="keywords"></div>
<div class="categories">web, security</div>
<div class="categories">security, web</div>
</div>


Expand All @@ -478,7 +478,7 @@ <h4><a href="/version/main/guides/security-proactive-authentication" >Proactive
<div class="description"><p>Proactive authentication is enabled in Quarkus by default.</p>
</div>
<div class="keywords"></div>
<div class="categories">web, security</div>
<div class="categories">security, web</div>
</div>


Expand Down Expand Up @@ -698,7 +698,7 @@ <h4><a href="/version/main/guides/security-authorize-web-endpoints-reference" >A
<div class="description"><p>Quarkus has an integrated pluggable web security layer.</p>
</div>
<div class="keywords"></div>
<div class="categories">web, security</div>
<div class="categories">security, web</div>
</div>


Expand All @@ -720,7 +720,7 @@ <h4><a href="/version/main/guides/command-mode-reference" >Command Mode Applicat
<div class="description"><p>This reference guide explains how to develop command line applications with Quarkus.</p>
</div>
<div class="keywords"></div>
<div class="categories">command-line, core</div>
<div class="categories">core, command-line</div>
</div>


Expand All @@ -742,7 +742,7 @@ <h4><a href="/version/main/guides/datasource" >Configure data sources in Quarkus
<div class="description"><p>Use a unified configuration model to define datasources for Java Database Connectivity (JDBC) and Reactive drivers.</p>
</div>
<div class="keywords"></div>
<div class="categories">data, getting-started</div>
<div class="categories">getting-started, data</div>
</div>


Expand Down Expand Up @@ -894,7 +894,7 @@ <h4><a href="/version/main/guides/logging" >Logging configuration</a></h4>
<div class="description"><p>Read about the use of logging API in Quarkus, configuring logging output, and using logging adapters to unify the output from other logging APIs.</p>
</div>
<div class="keywords"></div>
<div class="categories">getting-started, core</div>
<div class="categories">core, getting-started</div>
</div>


Expand Down Expand Up @@ -1280,7 +1280,7 @@ <h4><a href="/version/main/guides/appcds" >AppCDS</a></h4>
<div class="description"><p>This reference guide explains how to enable AppCDS with Quarkus.</p>
</div>
<div class="keywords"></div>
<div class="categories">cloud, core</div>
<div class="categories">core, cloud</div>
</div>


Expand Down Expand Up @@ -1544,7 +1544,7 @@ <h4><a href="/version/main/guides/deploying-to-openshift" >Deploying on OpenShif
<div class="description"><p>This guide covers how to deploy a native application on OpenShift.</p>
</div>
<div class="keywords"></div>
<div class="categories">cloud, native</div>
<div class="categories">native, cloud</div>
</div>


Expand Down Expand Up @@ -2072,7 +2072,7 @@ <h4><a href="/version/main/guides/deploying-to-kubernetes" >Kubernetes extension
<div class="description"><p>This guide covers how to deploy a native application on Kubernetes.</p>
</div>
<div class="keywords"></div>
<div class="categories">cloud, native</div>
<div class="categories">native, cloud</div>
</div>


Expand Down Expand Up @@ -2314,7 +2314,7 @@ <h4><a href="/version/main/guides/gradle-tooling" >Quarkus and Gradle</a></h4>
<div class="description"><p>Develop and build your Quarkus application with Gradle</p>
</div>
<div class="keywords"></div>
<div class="categories">tooling, native</div>
<div class="categories">native, tooling</div>
</div>


Expand All @@ -2325,7 +2325,7 @@ <h4><a href="/version/main/guides/maven-tooling" >Quarkus and Maven</a></h4>
<div class="description"><p>Develop and build your Quarkus application with Maven</p>
</div>
<div class="keywords"></div>
<div class="categories">tooling, native</div>
<div class="categories">native, tooling</div>
</div>


Expand Down Expand Up @@ -2567,7 +2567,7 @@ <h4><a href="/version/main/guides/getting-started-testing" >Testing Your Applica
<div class="description"><p>This guide covers testing in JVM mode, native mode, and injection of resources into tests</p>
</div>
<div class="keywords"></div>
<div class="categories">tooling, core, native</div>
<div class="categories">core, native, tooling</div>
</div>


Expand All @@ -2578,7 +2578,7 @@ <h4><a href="/version/main/guides/writing-native-applications-tips" >Tips for wr
<div class="description"><p>This guide is a collection of tips to help you solve the problems you encounter when compiling applications to native executable.</p>
</div>
<div class="keywords"></div>
<div class="categories">writing-extensions, core, native</div>
<div class="categories">core, writing-extensions, native</div>
</div>


Expand Down Expand Up @@ -2820,7 +2820,7 @@ <h4><a href="/version/main/guides/native-and-ssl" >Using SSL With Native Executa
<div class="description"><p>In this guide, we will discuss how you can get your native images to support SSL, as native images don’t support it out of the box.</p>
</div>
<div class="keywords"></div>
<div class="categories">security, core, native</div>
<div class="categories">core, security, native</div>
</div>


Expand Down Expand Up @@ -3040,7 +3040,7 @@ <h4><a href="/version/main/guides/rest-json" >Writing JSON REST Services</a></h4
<div class="description"><p>JSON is now the lingua franca between microservices.</p>
</div>
<div class="keywords"></div>
<div class="categories">serialization, web</div>
<div class="categories">web, serialization</div>
</div>


Expand Down
57 changes: 50 additions & 7 deletions version/main/guides/transaction.html
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ <h1 class="text-caps">Using Transactions in Quarkus </h1>
<li><a href="#configuring-the-transaction-timeout">Configuring the transaction timeout</a></li>
<li><a href="#configuring-transaction-node-name-identifier">Configuring transaction node name identifier</a></li>
<li><a href="#transaction-scope">Using <code>@TransactionScoped</code> to bind CDI beans to the transaction lifecycle</a></li>
<li><a href="#configuring-transaction-log-to-be-stored-in-a-datasource">Configuring transaction log to be stored in a DataSource</a></li>
<li><a href="#jdbcstore">Configure storing of Quarkus transaction logs in a database</a></li>
<li><a href="#why-always-having-a-transaction-manager">Why always having a transaction manager?</a></li>
</ul></div>
<div>
Expand Down Expand Up @@ -686,16 +686,49 @@ <h2 id="transaction-scope"><a class="anchor" href="#transaction-scope"></a>Using
</div>
</div>
<div class="sect1">
<h2 id="configuring-transaction-log-to-be-stored-in-a-datasource"><a class="anchor" href="#configuring-transaction-log-to-be-stored-in-a-datasource"></a>Configuring transaction log to be stored in a DataSource</h2>
<h2 id="jdbcstore"><a class="anchor" href="#jdbcstore"></a>Configure storing of Quarkus transaction logs in a database</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The Narayana project has the capability to store the transaction logs into a JDBC Datasource; this should be our recommendation for users needing transaction recovery capabilities, especially when running in volatile containers.</p>
<p>In cloud environments where persistent storage is not available, such as when application containers are unable to use persistent volumes, you can configure the transaction management to store transaction logs in a database by using a JDBC datasource.</p>
</div>
<div class="paragraph">
<p>To enable this capability, you need to set <code>quarkus.transaction-manager.object-store.type</code> to <code>jdbc</code> explicitly. Also, you can specify a datasource name to be used for the transaction log storage by setting <code>quarkus.transaction-manager.object-store.datasource</code>. It will use the default datasource configuration if not specified.</p>
<div class="admonitionblock important">
<table>
<tr>
<td class="icon">
<i class="fa icon-important" title="Important"></i>
</td>
<td class="content">
While there are several benefits to using a database to store transaction logs, you might notice a reduction in performance compared with using the file system to store the logs.
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>If you enable <code>quarkus.transaction-manager.object-store.create-table</code>, the transaction log table will be created automatically if it does not exist.</p>
<p>Quarkus allows the following JDBC-specific configuration of the object store included in <code>quarkus.transacion-manager.object-store.&lt;property&gt;</code> properties, where &lt;property&gt; can be:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>type</code> (<em>string</em>): Configure this property to <code>jdbc</code> to enable usage of a Quarkus JDBC datasource for transaction logging.
The default value is <code>file-system</code>.</p>
</li>
<li>
<p><code>datasource</code> (<em>string</em>): Specify the name of the datasource for the transaction log storage.
If no value is provided for the <code>datasource</code> property, Quarkus uses the <a href="datasource#configure-datasources">default datasource</a>.</p>
</li>
<li>
<p><code>create-table</code> (<em>boolean</em>): When set to <code>true</code>, the transaction log table gets automatically created if it does not already exist.
The default value is <code>false</code>.</p>
</li>
<li>
<p><code>drop-table</code> (<em>boolean</em>): When set to <code>true</code>, the tables are dropped on startup if they already exist.
The default value is <code>false</code>.</p>
</li>
<li>
<p><code>table-prefix</code> (string): Specify the prefix for a related table name.
The default value is <code>quarkus_</code>.</p>
</li>
</ul>
</div>
<div class="admonitionblock note">
<table>
Expand All @@ -704,7 +737,17 @@ <h2 id="configuring-transaction-log-to-be-stored-in-a-datasource"><a class="anch
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
When enabling this capability, the transaction node identifier must be set through <code>quarkus.transaction-manager.node-name</code>.
<div class="paragraph">
<p>To work around the current known issue of <a href="https://issues.redhat.com/browse/AG-209">Agroal having a different view on running transaction checks</a>, set the datasource transaction type for the datasource responsible for writing the transaction logs to <code>disabled</code>:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>quarkus.datasource.TX_LOG.jdbc.transactions=disabled</pre>
</div>
</div>
<div class="paragraph">
<p>This example uses TX_LOG as the datasource name.</p>
</div>
</td>
</tr>
</table>
Expand Down

0 comments on commit 8fb3c54

Please sign in to comment.