Skip to content

Commit 80a936e

Browse files
committed
Upgrade to Inverno 1.9.0 + make app resilient to DB connection loss
1 parent 768a99d commit 80a936e

File tree

2 files changed

+17
-23
lines changed

2 files changed

+17
-23
lines changed

frameworks/Java/inverno/pom.xml

Lines changed: 14 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>io.inverno.dist</groupId>
88
<artifactId>inverno-parent</artifactId>
9-
<version>1.7.0</version>
9+
<version>1.9.0</version>
1010
</parent>
1111
<groupId>com.techempower</groupId>
1212
<artifactId>inverno-benchmark</artifactId>
@@ -71,31 +71,12 @@
7171
<dependency>
7272
<groupId>io.netty</groupId>
7373
<artifactId>netty-handler-proxy</artifactId>
74-
<version>${version.netty}</version>
7574
</dependency>
7675
<dependency>
7776
<groupId>io.netty</groupId>
7877
<artifactId>netty-resolver-dns</artifactId>
79-
<version>${version.netty}</version>
8078
</dependency>
8179

82-
<!--<dependency>
83-
<groupId>io.netty</groupId>
84-
<artifactId>netty-transport-native-epoll</artifactId>
85-
<classifier>linux-x86_64</classifier>
86-
</dependency>-->
87-
88-
<dependency>
89-
<groupId>io.netty.incubator</groupId>
90-
<artifactId>netty-incubator-transport-native-io_uring</artifactId>
91-
<classifier>linux-x86_64</classifier>
92-
</dependency>
93-
94-
<dependency>
95-
<groupId>io.vertx</groupId>
96-
<artifactId>vertx-io_uring-incubator</artifactId>
97-
</dependency>
98-
9980
<dependency>
10081
<groupId>org.apache.logging.log4j</groupId>
10182
<artifactId>log4j-core</artifactId>
@@ -138,6 +119,9 @@
138119
</configuration>
139120
</execution>
140121
</executions>
122+
<configuration>
123+
<vmOptions>--add-modules io.netty.transport.unix.common,io.netty.transport.classes.epoll,io.netty.transport.epoll.linux.x86_64</vmOptions>
124+
</configuration>
141125
</plugin>
142126
</plugins>
143127
</build>
@@ -146,10 +130,15 @@
146130
<id>io.inverno.io_uring</id>
147131
<dependencies>
148132
<dependency>
149-
<groupId>io.netty</groupId>
150-
<artifactId>netty-transport-native-epoll</artifactId>
133+
<groupId>io.netty.incubator</groupId>
134+
<artifactId>netty-incubator-transport-native-io_uring</artifactId>
151135
<classifier>linux-x86_64</classifier>
152136
</dependency>
137+
138+
<dependency>
139+
<groupId>io.vertx</groupId>
140+
<artifactId>vertx-io_uring-incubator</artifactId>
141+
</dependency>
153142
</dependencies>
154143
<build>
155144
<plugins>
@@ -177,6 +166,9 @@
177166
</configuration>
178167
</execution>
179168
</executions>
169+
<configuration>
170+
<vmOptions>--add-modules io.netty.transport.unix.common,io.netty.incubator.transport.classes.io_uring,io.netty.incubator.transport.io_uring.linux.x86_64</vmOptions>
171+
</configuration>
180172
</plugin>
181173
</plugins>
182174
</build>

frameworks/Java/inverno/src/main/java/com/techempower/inverno/benchmark/internal/SqlClientReactorScope.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ public void destroy() {
5959

6060
@Override
6161
protected Mono<SqlClient> create() {
62-
return Mono.fromCompletionStage(PgConnection.connect(this.vertx, this.connectOptions).toCompletionStage()).map(pgConn -> (SqlClient)new ConnectionSqlClient(pgConn)).cache();
62+
return Mono.fromCompletionStage(() -> PgConnection.connect(this.vertx, this.connectOptions).toCompletionStage())
63+
.map(pgConn -> (SqlClient)new ConnectionSqlClient(pgConn))
64+
.cacheInvalidateWhen(client -> ((ConnectionSqlClient)client).onClose());
6365
}
6466
}

0 commit comments

Comments
 (0)