Skip to content

Commit ec262cd

Browse files
committed
Support Virtual Threads in the WorkManager
- Fixes #147
1 parent 3467948 commit ec262cd

File tree

6 files changed

+20
-11
lines changed

6 files changed

+20
-11
lines changed

deployment/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@
2525
<groupId>io.quarkus</groupId>
2626
<artifactId>quarkus-smallrye-context-propagation-deployment</artifactId>
2727
</dependency>
28+
<dependency>
29+
<groupId>io.quarkus</groupId>
30+
<artifactId>quarkus-virtual-threads-deployment</artifactId>
31+
</dependency>
2832
<dependency>
2933
<groupId>io.quarkiverse.ironjacamar</groupId>
3034
<artifactId>quarkus-ironjacamar</artifactId>

docs/modules/ROOT/pages/includes/quarkus-ironjacamar.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ ifndef::add-copy-button-to-env-var[]
119119
Environment variable: `+++QUARKUS_IRONJACAMAR_RA_CM_TRANSACTION_SUPPORT_LEVEL+++`
120120
endif::add-copy-button-to-env-var[]
121121
--
122-
a|TransactionSupportLevel
122+
a|`no-transaction`, `local-transaction`, `xa-transaction`
123123
|`xa-transaction`
124124

125125
a| [[quarkus-ironjacamar_quarkus-ironjacamar-ra-cm-allocation-retry]] [.property-path]##link:#quarkus-ironjacamar_quarkus-ironjacamar-ra-cm-allocation-retry[`quarkus.ironjacamar.ra.cm.allocation-retry`]##
@@ -195,7 +195,7 @@ ifndef::add-copy-button-to-env-var[]
195195
Environment variable: `+++QUARKUS_IRONJACAMAR_RA_CM_FLUSH_STRATEGY+++`
196196
endif::add-copy-button-to-env-var[]
197197
--
198-
a|FlushStrategy
198+
a|`unknown`, `failing-connection-only`, `invalid-idle-connections`, `idle-connections`, `gracefully`, `entire-pool`, `all-invalid-idle-connections`, `all-idle-connections`, `all-gracefully`, `all-connections`
199199
|`failing-connection-only`
200200

201201
a| [[quarkus-ironjacamar_quarkus-ironjacamar-ra-cm-sharable]] [.property-path]##link:#quarkus-ironjacamar_quarkus-ironjacamar-ra-cm-sharable[`quarkus.ironjacamar.ra.cm.sharable`]##
@@ -442,7 +442,7 @@ ifndef::add-copy-button-to-env-var[]
442442
Environment variable: `+++QUARKUS_IRONJACAMAR_RA_CM_POOL_STRATEGY+++`
443443
endif::add-copy-button-to-env-var[]
444444
--
445-
a|PoolStrategy
445+
a|`pool-by-cri`, `pool-by-subject`, `pool-by-subject-and-cri`, `one-pool`, `reauth`
446446
|`pool-by-cri`
447447

448448
a| [[quarkus-ironjacamar_quarkus-ironjacamar-ra-cm-pool-config-min-size]] [.property-path]##link:#quarkus-ironjacamar_quarkus-ironjacamar-ra-cm-pool-config-min-size[`quarkus.ironjacamar.ra.cm.pool.config.min-size`]##

docs/modules/ROOT/pages/includes/quarkus-ironjacamar_quarkus.ironjacamar.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ ifndef::add-copy-button-to-env-var[]
119119
Environment variable: `+++QUARKUS_IRONJACAMAR_RA_CM_TRANSACTION_SUPPORT_LEVEL+++`
120120
endif::add-copy-button-to-env-var[]
121121
--
122-
a|TransactionSupportLevel
122+
a|`no-transaction`, `local-transaction`, `xa-transaction`
123123
|`xa-transaction`
124124

125125
a| [[quarkus-ironjacamar_quarkus-ironjacamar-ra-cm-allocation-retry]] [.property-path]##link:#quarkus-ironjacamar_quarkus-ironjacamar-ra-cm-allocation-retry[`quarkus.ironjacamar.ra.cm.allocation-retry`]##
@@ -195,7 +195,7 @@ ifndef::add-copy-button-to-env-var[]
195195
Environment variable: `+++QUARKUS_IRONJACAMAR_RA_CM_FLUSH_STRATEGY+++`
196196
endif::add-copy-button-to-env-var[]
197197
--
198-
a|FlushStrategy
198+
a|`unknown`, `failing-connection-only`, `invalid-idle-connections`, `idle-connections`, `gracefully`, `entire-pool`, `all-invalid-idle-connections`, `all-idle-connections`, `all-gracefully`, `all-connections`
199199
|`failing-connection-only`
200200

201201
a| [[quarkus-ironjacamar_quarkus-ironjacamar-ra-cm-sharable]] [.property-path]##link:#quarkus-ironjacamar_quarkus-ironjacamar-ra-cm-sharable[`quarkus.ironjacamar.ra.cm.sharable`]##
@@ -442,7 +442,7 @@ ifndef::add-copy-button-to-env-var[]
442442
Environment variable: `+++QUARKUS_IRONJACAMAR_RA_CM_POOL_STRATEGY+++`
443443
endif::add-copy-button-to-env-var[]
444444
--
445-
a|PoolStrategy
445+
a|`pool-by-cri`, `pool-by-subject`, `pool-by-subject-and-cri`, `one-pool`, `reauth`
446446
|`pool-by-cri`
447447

448448
a| [[quarkus-ironjacamar_quarkus-ironjacamar-ra-cm-pool-config-min-size]] [.property-path]##link:#quarkus-ironjacamar_quarkus-ironjacamar-ra-cm-pool-config-min-size[`quarkus.ironjacamar.ra.cm.pool.config.min-size`]##

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
<tag>HEAD</tag>
2323
</scm>
2424
<properties>
25-
<quarkus.version>3.15.1</quarkus.version>
26-
<ironjacamar.version>3.0.11.Final</ironjacamar.version>
25+
<quarkus.version>3.15.3</quarkus.version>
26+
<ironjacamar.version>3.0.10.Final</ironjacamar.version>
2727
</properties>
2828
<dependencyManagement>
2929
<dependencies>
@@ -42,7 +42,7 @@
4242
<dependency>
4343
<groupId>org.assertj</groupId>
4444
<artifactId>assertj-core</artifactId>
45-
<version>3.27.3</version>
45+
<version>3.27.2</version>
4646
<scope>test</scope>
4747
</dependency>
4848
</dependencies>

runtime/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@
2626
<groupId>io.quarkus</groupId>
2727
<artifactId>quarkus-smallrye-context-propagation</artifactId>
2828
</dependency>
29+
<dependency>
30+
<groupId>io.quarkus</groupId>
31+
<artifactId>quarkus-virtual-threads</artifactId>
32+
</dependency>
2933
<dependency>
3034
<groupId>jakarta.resource</groupId>
3135
<artifactId>jakarta.resource-api</artifactId>

runtime/src/main/java/io/quarkiverse/ironjacamar/runtime/IronJacamarRecorder.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
import java.time.Duration;
77
import java.util.List;
88
import java.util.Map;
9+
import java.util.concurrent.ExecutorService;
910
import java.util.concurrent.TimeUnit;
1011
import java.util.function.Function;
1112
import java.util.function.Supplier;
1213

1314
import jakarta.enterprise.inject.spi.DeploymentException;
1415
import jakarta.resource.ResourceException;
1516

16-
import org.eclipse.microprofile.context.ManagedExecutor;
1717
import org.jboss.jca.core.api.bootstrap.CloneableBootstrapContext;
1818
import org.jboss.jca.core.api.connectionmanager.ccm.CachedConnectionManager;
1919
import org.jboss.jca.core.bootstrapcontext.BaseCloneableBootstrapContext;
@@ -33,6 +33,7 @@
3333
import io.quarkus.narayana.jta.runtime.TransactionManagerConfiguration;
3434
import io.quarkus.runtime.RuntimeValue;
3535
import io.quarkus.runtime.annotations.Recorder;
36+
import io.quarkus.virtual.threads.VirtualThreadsRecorder;
3637
import io.smallrye.common.annotation.Identifier;
3738
import io.vertx.core.DeploymentOptions;
3839
import io.vertx.core.Future;
@@ -131,7 +132,7 @@ public void initDefaultBootstrapContext(BeanContainer beanContainer) {
131132
TransactionIntegration transactionIntegration = beanContainer.beanInstance(TransactionIntegration.class);
132133
SecurityIntegration securityIntegration = beanContainer.beanInstance(QuarkusSecurityIntegration.class);
133134
BaseCloneableBootstrapContext bootstrapContext = new BaseCloneableBootstrapContext();
134-
ManagedExecutor executorService = beanContainer.beanInstance(ManagedExecutor.class);
135+
ExecutorService executorService = VirtualThreadsRecorder.getCurrent();
135136

136137
// Create WorkManagerImpl
137138
WorkManagerImpl workManager = new WorkManagerImpl();

0 commit comments

Comments
 (0)