Skip to content

Commit 9c3e5ec

Browse files
committed
Doc and add blocking commandHandler
1 parent c257a54 commit 9c3e5ec

30 files changed

+613
-38
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ subprojects {
3939
reactorKafkaVersion = "1.3.22"
4040
reactorVersion = "3.5.7"
4141
vertxSqlVersion = "4.3.3"
42-
testContainerVersion = "1.19.8"
42+
testContainerVersion = "1.21.1"
4343
}
4444

4545
test {

demo/demo-postgres-kafka/src/main/java/com/example/demo/Bank.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ public Bank(BankCommandHandler commandHandler, BankEventHandler eventHandler) th
119119
builder.eventHandler,
120120
builder.transactionManager
121121
))
122-
.withCommandHandler(commandHandler)
122+
.withCommandHandler(commandHandler, executorService)
123123
.withProjections(meanWithdrawProjection)
124124
.build();
125125
}

demo/demo-postgres-kafka/src/main/java/com/example/demo/BankCommandHandler.java

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,29 @@
11
package com.example.demo;
22

3-
import fr.maif.concurrent.CompletionStages;
4-
import fr.maif.eventsourcing.CommandHandler;
53
import fr.maif.eventsourcing.Events;
4+
import fr.maif.eventsourcing.blocking.CommandHandler;
65
import io.vavr.collection.List;
76
import io.vavr.control.Either;
87
import io.vavr.control.Option;
98

109
import java.math.BigDecimal;
1110
import java.sql.Connection;
12-
import java.util.concurrent.CompletionStage;
1311

14-
import static com.example.demo.BankCommand.CloseAccount;
15-
import static com.example.demo.BankCommand.Deposit;
16-
import static com.example.demo.BankCommand.OpenAccount;
17-
import static com.example.demo.BankCommand.Withdraw;
18-
import static io.vavr.API.Left;
19-
import static io.vavr.API.List;
20-
import static io.vavr.API.Right;
12+
import static com.example.demo.BankCommand.*;
13+
import static io.vavr.API.*;
2114

2215
public class BankCommandHandler implements CommandHandler<String, Account, BankCommand, BankEvent, List<String>, Connection> {
2316
@Override
24-
public CompletionStage<Either<String, Events<BankEvent, List<String>>>> handleCommand(
17+
public Either<String, Events<BankEvent, List<String>>> handleCommand(
2518
Connection transactionContext,
2619
Option<Account> previousState,
2720
BankCommand command) {
28-
return CompletionStages.of(() -> switch (command) {
21+
return switch (command) {
2922
case Withdraw withdraw -> this.handleWithdraw(previousState, withdraw);
3023
case Deposit deposit -> this.handleDeposit(previousState, deposit);
3124
case OpenAccount openAccount -> this.handleOpening(openAccount);
3225
case CloseAccount close -> this.handleClosing(previousState, close);
33-
});
26+
};
3427
}
3528

3629
private Either<String, Events<BankEvent, List<String>>> handleOpening(

docs/manual/advanced/aggregatestore.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
<select class="supergroup" name="Language"><option class="group" value="group-java">Java</option></select>
3737
<div class="nav-toc">
3838
<ul>
39+
<li><a href="../getting-started.html" class="page">Getting started</a></li>
3940
<li><a href="../technical-considerations.html" class="page">Technical considerations</a></li>
4041
<li><a href="../banking.html" class="page">In memory example</a></li>
4142
<li><a href="../standard/index.html" class="page">Standard JOOQ/Kafka implementation</a>
@@ -99,6 +100,7 @@
99100
<select class="supergroup" name="Language"><option class="group" value="group-java">Java</option></select>
100101
<div class="nav-toc">
101102
<ul>
103+
<li><a href="../getting-started.html" class="page">Getting started</a></li>
102104
<li><a href="../technical-considerations.html" class="page">Technical considerations</a></li>
103105
<li><a href="../banking.html" class="page">In memory example</a></li>
104106
<li><a href="../standard/index.html" class="page">Standard JOOQ/Kafka implementation</a>
@@ -281,7 +283,7 @@ <h1><a href="#aggregate-store" name="aggregate-store" class="anchor"><span class
281283

282284
<!--
283285
<div class="copyright">
284-
<span class="text">&copy; 2024</span>
286+
<span class="text">&copy; 2025</span>
285287
<a href="https://www.example.com" class="logo">logo</a>
286288
</div>
287289
-->

docs/manual/advanced/event-ordering.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
<select class="supergroup" name="Language"><option class="group" value="group-java">Java</option></select>
3737
<div class="nav-toc">
3838
<ul>
39+
<li><a href="../getting-started.html" class="page">Getting started</a></li>
3940
<li><a href="../technical-considerations.html" class="page">Technical considerations</a></li>
4041
<li><a href="../banking.html" class="page">In memory example</a></li>
4142
<li><a href="../standard/index.html" class="page">Standard JOOQ/Kafka implementation</a>
@@ -99,6 +100,7 @@
99100
<select class="supergroup" name="Language"><option class="group" value="group-java">Java</option></select>
100101
<div class="nav-toc">
101102
<ul>
103+
<li><a href="../getting-started.html" class="page">Getting started</a></li>
102104
<li><a href="../technical-considerations.html" class="page">Technical considerations</a></li>
103105
<li><a href="../banking.html" class="page">In memory example</a></li>
104106
<li><a href="../standard/index.html" class="page">Standard JOOQ/Kafka implementation</a>
@@ -228,7 +230,7 @@ <h1><a href="#custom-message-ordering" name="custom-message-ordering" class="anc
228230

229231
<!--
230232
<div class="copyright">
231-
<span class="text">&copy; 2024</span>
233+
<span class="text">&copy; 2025</span>
232234
<a href="https://www.example.com" class="logo">logo</a>
233235
</div>
234236
-->

docs/manual/advanced/event-replay.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
<select class="supergroup" name="Language"><option class="group" value="group-java">Java</option></select>
3737
<div class="nav-toc">
3838
<ul>
39+
<li><a href="../getting-started.html" class="page">Getting started</a></li>
3940
<li><a href="../technical-considerations.html" class="page">Technical considerations</a></li>
4041
<li><a href="../banking.html" class="page">In memory example</a></li>
4142
<li><a href="../standard/index.html" class="page">Standard JOOQ/Kafka implementation</a>
@@ -99,6 +100,7 @@
99100
<select class="supergroup" name="Language"><option class="group" value="group-java">Java</option></select>
100101
<div class="nav-toc">
101102
<ul>
103+
<li><a href="../getting-started.html" class="page">Getting started</a></li>
102104
<li><a href="../technical-considerations.html" class="page">Technical considerations</a></li>
103105
<li><a href="../banking.html" class="page">In memory example</a></li>
104106
<li><a href="../standard/index.html" class="page">Standard JOOQ/Kafka implementation</a>
@@ -219,7 +221,7 @@ <h1><a href="#event-replay" name="event-replay" class="anchor"><span class="anch
219221

220222
<!--
221223
<div class="copyright">
222-
<span class="text">&copy; 2024</span>
224+
<span class="text">&copy; 2025</span>
223225
<a href="https://www.example.com" class="logo">logo</a>
224226
</div>
225227
-->

docs/manual/advanced/index.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
<select class="supergroup" name="Language"><option class="group" value="group-java">Java</option></select>
3737
<div class="nav-toc">
3838
<ul>
39+
<li><a href="../getting-started.html" class="page">Getting started</a></li>
3940
<li><a href="../technical-considerations.html" class="page">Technical considerations</a></li>
4041
<li><a href="../banking.html" class="page">In memory example</a></li>
4142
<li><a href="../standard/index.html" class="page">Standard JOOQ/Kafka implementation</a>
@@ -99,6 +100,7 @@
99100
<select class="supergroup" name="Language"><option class="group" value="group-java">Java</option></select>
100101
<div class="nav-toc">
101102
<ul>
103+
<li><a href="../getting-started.html" class="page">Getting started</a></li>
102104
<li><a href="../technical-considerations.html" class="page">Technical considerations</a></li>
103105
<li><a href="../banking.html" class="page">In memory example</a></li>
104106
<li><a href="../standard/index.html" class="page">Standard JOOQ/Kafka implementation</a>
@@ -198,7 +200,7 @@ <h1><a href="#advanced-use-cases" name="advanced-use-cases" class="anchor"><span
198200

199201
<!--
200202
<div class="copyright">
201-
<span class="text">&copy; 2024</span>
203+
<span class="text">&copy; 2025</span>
202204
<a href="https://www.example.com" class="logo">logo</a>
203205
</div>
204206
-->

docs/manual/advanced/message.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
<select class="supergroup" name="Language"><option class="group" value="group-java">Java</option></select>
3737
<div class="nav-toc">
3838
<ul>
39+
<li><a href="../getting-started.html" class="page">Getting started</a></li>
3940
<li><a href="../technical-considerations.html" class="page">Technical considerations</a></li>
4041
<li><a href="../banking.html" class="page">In memory example</a></li>
4142
<li><a href="../standard/index.html" class="page">Standard JOOQ/Kafka implementation</a>
@@ -99,6 +100,7 @@
99100
<select class="supergroup" name="Language"><option class="group" value="group-java">Java</option></select>
100101
<div class="nav-toc">
101102
<ul>
103+
<li><a href="../getting-started.html" class="page">Getting started</a></li>
102104
<li><a href="../technical-considerations.html" class="page">Technical considerations</a></li>
103105
<li><a href="../banking.html" class="page">In memory example</a></li>
104106
<li><a href="../standard/index.html" class="page">Standard JOOQ/Kafka implementation</a>
@@ -223,7 +225,7 @@ <h1><a href="#warning-info-messages" name="warning-info-messages" class="anchor"
223225

224226
<!--
225227
<div class="copyright">
226-
<span class="text">&copy; 2024</span>
228+
<span class="text">&copy; 2025</span>
227229
<a href="https://www.example.com" class="logo">logo</a>
228230
</div>
229231
-->

docs/manual/advanced/multi-command.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
<select class="supergroup" name="Language"><option class="group" value="group-java">Java</option></select>
3737
<div class="nav-toc">
3838
<ul>
39+
<li><a href="../getting-started.html" class="page">Getting started</a></li>
3940
<li><a href="../technical-considerations.html" class="page">Technical considerations</a></li>
4041
<li><a href="../banking.html" class="page">In memory example</a></li>
4142
<li><a href="../standard/index.html" class="page">Standard JOOQ/Kafka implementation</a>
@@ -99,6 +100,7 @@
99100
<select class="supergroup" name="Language"><option class="group" value="group-java">Java</option></select>
100101
<div class="nav-toc">
101102
<ul>
103+
<li><a href="../getting-started.html" class="page">Getting started</a></li>
102104
<li><a href="../technical-considerations.html" class="page">Technical considerations</a></li>
103105
<li><a href="../banking.html" class="page">In memory example</a></li>
104106
<li><a href="../standard/index.html" class="page">Standard JOOQ/Kafka implementation</a>
@@ -209,7 +211,7 @@ <h1><a href="#multiple-command-handling-in-the-same-transaction" name="multiple-
209211

210212
<!--
211213
<div class="copyright">
212-
<span class="text">&copy; 2024</span>
214+
<span class="text">&copy; 2025</span>
213215
<a href="https://www.example.com" class="logo">logo</a>
214216
</div>
215217
-->

docs/manual/banking.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
<select class="supergroup" name="Language"><option class="group" value="group-java">Java</option></select>
3737
<div class="nav-toc">
3838
<ul>
39+
<li><a href="getting-started.html" class="page">Getting started</a></li>
3940
<li><a href="technical-considerations.html" class="page">Technical considerations</a></li>
4041
<li><a href="banking.html" class="active page">In memory example</a></li>
4142
<li><a href="standard/index.html" class="page">Standard JOOQ/Kafka implementation</a>
@@ -99,6 +100,7 @@
99100
<select class="supergroup" name="Language"><option class="group" value="group-java">Java</option></select>
100101
<div class="nav-toc">
101102
<ul>
103+
<li><a href="getting-started.html" class="page">Getting started</a></li>
102104
<li><a href="technical-considerations.html" class="page">Technical considerations</a></li>
103105
<li><a href="banking.html" class="active page">In memory example</a></li>
104106
<li><a href="standard/index.html" class="page">Standard JOOQ/Kafka implementation</a>
@@ -449,7 +451,7 @@ <h2><a href="#complete-example" name="complete-example" class="anchor"><span cla
449451

450452
<!--
451453
<div class="copyright">
452-
<span class="text">&copy; 2024</span>
454+
<span class="text">&copy; 2025</span>
453455
<a href="https://www.example.com" class="logo">logo</a>
454456
</div>
455457
-->

0 commit comments

Comments
 (0)