Skip to content

Commit 51024bd

Browse files
committed
deploy: 087b574
1 parent 4f9564a commit 51024bd

36 files changed

+1408
-1146
lines changed

feed.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<title>Quarkus</title>
66
<link>https://quarkus.io</link>
77
<description>Quarkus: Supersonic Subatomic Java</description>
8-
<lastBuildDate>Mon, 18 Aug 2025 16:00:58 +0000</lastBuildDate>
8+
<lastBuildDate>Tue, 19 Aug 2025 03:22:47 +0000</lastBuildDate>
99

1010

1111
<item>

version/main/guides/all-config.html

Lines changed: 296 additions & 296 deletions
Large diffs are not rendered by default.

version/main/guides/amqp-reference.html

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ <h2 id="amqp-connector-extension"><a class="anchor" href="#amqp-connector-extens
342342
<h2 id="configuring-the-amqp-broker-access"><a class="anchor" href="#configuring-the-amqp-broker-access"></a>Configuring the AMQP Broker access</h2>
343343
<div class="sectionbody">
344344
<div class="paragraph">
345-
<p>The AMQP connector connects to AMQP 1.0 brokers such as Apache ActiveMQ or Artemis.
345+
<p>The AMQP connector connects to AMQP 1.0 brokers such as Apache&#8217;s ActiveMQ Classic or ActiveMQ Artemis.
346346
To configure the location and credentials of the broker, add the following properties in the <code>application.properties</code>:</p>
347347
</div>
348348
<div class="listingblock">
@@ -740,17 +740,19 @@ <h2 id="configuring-the-amqp-address"><a class="anchor" href="#configuring-the-a
740740
</div>
741741
<div class="paragraph">
742742
<p>To use an existing queue, you need to configure the <code>address</code>, <code>container-id</code> and, optionally, the <code>link-name</code> attributes.
743-
For example, if you have an Apache Artemis broker configured with:</p>
743+
For example, if you have an Apache ActiveMQ Artemis broker configured with:</p>
744744
</div>
745745
<div class="listingblock">
746746
<div class="content">
747-
<pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml">&lt;queues&gt;
748-
&lt;queue name="people"&gt;
749-
&lt;address&gt;people&lt;/address&gt;
750-
&lt;durable&gt;true&lt;/durable&gt;
751-
&lt;user&gt;artemis&lt;/user&gt;
752-
&lt;/queue&gt;
753-
&lt;/queues&gt;</code></pre>
747+
<pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml">&lt;addresses&gt;
748+
&lt;address name="people"&gt;
749+
&lt;anycast&gt;
750+
&lt;queue name="people"&gt;
751+
&lt;user&gt;artemis&lt;/user&gt;
752+
&lt;/queue&gt;
753+
&lt;/anycast&gt;
754+
&lt;/address&gt;
755+
&lt;/addresses&gt;</code></pre>
754756
</div>
755757
</div>
756758
<div class="paragraph">
@@ -794,7 +796,7 @@ <h2 id="configuring-the-amqp-address"><a class="anchor" href="#configuring-the-a
794796
</div>
795797
</div>
796798
<div class="paragraph">
797-
<p>More details about the AMQP Address model can be found in the <a href="https://activemq.apache.org/components/artemis/documentation/2.0.0/address-model.html">Artemis documentation</a>.</p>
799+
<p>More details about the AMQP Address model can be found in the <a href="https://activemq.apache.org/components/artemis/documentation/latest/address-model.html">ActiveMQ Artemis documentation</a>.</p>
798800
</div>
799801
<div class="sect2">
800802
<h3 id="blocking-processing"><a class="anchor" href="#blocking-processing"></a>Execution model and Blocking processing</h3>

version/main/guides/hibernate-orm-panache.html

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1496,6 +1496,75 @@ <h3 id="query-projection"><a class="anchor" href="#query-projection"></a>Query p
14961496
</tr>
14971497
</table>
14981498
</div>
1499+
<div class="paragraph">
1500+
<p>If you need to have multiple constructors in your DTO, you must annotate the constructor intended to generate a SELECT clause with @ProjectedConstructor:</p>
1501+
</div>
1502+
<div class="listingblock">
1503+
<div class="content">
1504+
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">import io.quarkus.runtime.annotations.RegisterForReflection;
1505+
import io.quarkus.hibernate.orm.panache.common.ProjectedConstructor;
1506+
1507+
@RegisterForReflection
1508+
public class PersonName {
1509+
public final String name;
1510+
1511+
@ProjectedConstructor <i class="conum" data-value="1"></i><b>(1)</b>
1512+
public PersonName(String name) {
1513+
this.name = name;
1514+
}
1515+
1516+
public PersonName(String name, String otherField) {
1517+
this.name = name;
1518+
}
1519+
}
1520+
1521+
// only 'name' will be loaded from the database
1522+
PanacheQuery&lt;PersonName&gt; query = Person.find("status", Status.Alive).project(PersonName.class);</code></pre>
1523+
</div>
1524+
</div>
1525+
<div class="colist arabic">
1526+
<table>
1527+
<tr>
1528+
<td><i class="conum" data-value="1"></i><b>1</b></td>
1529+
<td>This will use your annotated constructor to create the query. (<code>select new PersonName(name) from &#8230;&#8203;</code>)</td>
1530+
</tr>
1531+
</table>
1532+
</div>
1533+
<div class="admonitionblock warning">
1534+
<table>
1535+
<tr>
1536+
<td class="icon">
1537+
<i class="fa icon-warning" title="Warning"></i>
1538+
</td>
1539+
<td class="content">
1540+
<div class="paragraph">
1541+
<p>If a DTO used in a projection has multiple constructors and is not properly annotated, it may lead to <strong>unexpected behavior</strong>.</p>
1542+
</div>
1543+
<div class="paragraph">
1544+
<p>The constructor resolution process follows this order:</p>
1545+
</div>
1546+
<div class="olist arabic">
1547+
<ol class="arabic">
1548+
<li>
1549+
<p>Look for a constructor annotated with <code>@ProjectedConstructor</code>
1550+
This is the most explicit and preferred way to indicate which constructor should be used.</p>
1551+
</li>
1552+
<li>
1553+
<p>Look for parameters annotated with <code>@ProjectedFieldName</code></p>
1554+
</li>
1555+
<li>
1556+
<p>Use the first non-parameterless constructor
1557+
If no annotations are found.</p>
1558+
</li>
1559+
<li>
1560+
<p>Fallback to the first constructor it finds, this could lead to multiple problems or inconsistencies.</p>
1561+
</li>
1562+
</ol>
1563+
</div>
1564+
</td>
1565+
</tr>
1566+
</table>
1567+
</div>
14991568
</div>
15001569
</div>
15011570
</div>

version/main/guides/hibernate-reactive-panache.html

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1192,6 +1192,75 @@ <h3 id="query-projection"><a class="anchor" href="#query-projection"></a>Query p
11921192
</tr>
11931193
</table>
11941194
</div>
1195+
<div class="paragraph">
1196+
<p>If you need to have multiple constructors in your DTO, you must annotate the constructor intended to generate a SELECT clause with @ProjectedConstructor:</p>
1197+
</div>
1198+
<div class="listingblock">
1199+
<div class="content">
1200+
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">import io.quarkus.runtime.annotations.RegisterForReflection;
1201+
import io.quarkus.hibernate.reactive.panache.common.ProjectedConstructor;
1202+
1203+
@RegisterForReflection
1204+
public class PersonName {
1205+
public final String name;
1206+
1207+
@ProjectedConstructor <i class="conum" data-value="1"></i><b>(1)</b>
1208+
public PersonName(String name) {
1209+
this.name = name;
1210+
}
1211+
1212+
public PersonName(String name, String otherField) {
1213+
this.name = name;
1214+
}
1215+
}
1216+
1217+
// only 'name' will be loaded from the database
1218+
PanacheQuery&lt;PersonName&gt; query = Person.find("status", Status.Alive).project(PersonName.class);</code></pre>
1219+
</div>
1220+
</div>
1221+
<div class="colist arabic">
1222+
<table>
1223+
<tr>
1224+
<td><i class="conum" data-value="1"></i><b>1</b></td>
1225+
<td>This will use your annotated constructor to create the query. (<code>select new PersonName(name) from &#8230;&#8203;</code>)</td>
1226+
</tr>
1227+
</table>
1228+
</div>
1229+
<div class="admonitionblock warning">
1230+
<table>
1231+
<tr>
1232+
<td class="icon">
1233+
<i class="fa icon-warning" title="Warning"></i>
1234+
</td>
1235+
<td class="content">
1236+
<div class="paragraph">
1237+
<p>If a DTO used in a projection has multiple constructors and is not properly annotated, it may lead to <strong>unexpected behavior</strong>.</p>
1238+
</div>
1239+
<div class="paragraph">
1240+
<p>The constructor resolution process follows this order:</p>
1241+
</div>
1242+
<div class="olist arabic">
1243+
<ol class="arabic">
1244+
<li>
1245+
<p>Look for a constructor annotated with <code>@ProjectedConstructor</code>
1246+
This is the most explicit and preferred way to indicate which constructor should be used.</p>
1247+
</li>
1248+
<li>
1249+
<p>Look for parameters annotated with <code>@ProjectedFieldName</code></p>
1250+
</li>
1251+
<li>
1252+
<p>Use the first non-parameterless constructor
1253+
If no annotations are found.</p>
1254+
</li>
1255+
<li>
1256+
<p>Fallback to the first constructor it finds, this could lead to multiple problems or inconsistencies.</p>
1257+
</li>
1258+
</ol>
1259+
</div>
1260+
</td>
1261+
</tr>
1262+
</table>
1263+
</div>
11951264
</div>
11961265
</div>
11971266
</div>

version/main/guides/kafka-streams.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1155,7 +1155,8 @@ <h2 id="interactive-queries"><a class="anchor" href="#interactive-queries"></a>I
11551155
private ReadOnlyKeyValueStore&lt;Integer, Aggregation&gt; getWeatherStationStore() {
11561156
while (true) {
11571157
try {
1158-
return streams.store(TopologyProducer.WEATHER_STATIONS_STORE, QueryableStoreTypes.keyValueStore());
1158+
return streams.store(StoreQueryParameters
1159+
.fromNameAndType(TopologyProducer.WEATHER_STATIONS_STORE, QueryableStoreTypes.keyValueStore()));
11591160
} catch (InvalidStateStoreException e) {
11601161
// ignore, store not ready yet
11611162
}

version/main/guides/security-authorize-web-endpoints-reference.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1135,6 +1135,9 @@ <h4 id="programmatic-set-up-references"><a class="anchor" href="#programmatic-se
11351135
<li>
11361136
<p><a href="security-authentication-mechanisms#mtls-programmatic-set-up">Set up the mutual TLS client authentication programmatically</a></p>
11371137
</li>
1138+
<li>
1139+
<p><a href="security-cors#cors-filter-programmatic-set-up">Configuring the CORS filter programmatically</a></p>
1140+
</li>
11381141
</ul>
11391142
</div>
11401143
</div>

0 commit comments

Comments
 (0)