diff --git a/pom.xml b/pom.xml
index d52272a..708e8ba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,8 +10,8 @@
Comparing Project Reactor vs Loom and getting them to work together
- 22
- 22
+ 21
+ 21
UTF-8
1.0.8.RELEASE
org.addario.ReactiveLoom
@@ -73,6 +73,7 @@
--enable-preview
-XX:+EnableDynamicAgentLoading
+ -XX:+AllowRedefinitionToAddDeleteMethods
diff --git a/src/main/java/org/addario/ReactiveLoom.java b/src/main/java/org/addario/ReactiveLoom.java
index 79ee8a6..cbe21a8 100644
--- a/src/main/java/org/addario/ReactiveLoom.java
+++ b/src/main/java/org/addario/ReactiveLoom.java
@@ -1,7 +1,7 @@
package org.addario;
-import reactor.tools.agent.ReactorDebugAgent;
import reactor.blockhound.BlockHound;
+import reactor.tools.agent.ReactorDebugAgent;
import java.io.File;
import java.util.UUID;
@@ -10,11 +10,11 @@ public class ReactiveLoom {
public static void main(String[] args) throws InterruptedException {
var quantity = 2_000_000; // Generating 2 million payment records should take around 10 seconds and will use about 3.9 GB of memory
var batchSize = 100_000; // quantity / batchSize = how many groups of payments to process in parallel
- var fileName = STR."\{UUID.randomUUID().toString()}.txt"; // Using Java 22 preview features so must be compiled/run with --enable-preview
+ var fileName = STR."\{UUID.randomUUID().toString()}.txt"; // Using Java 21 preview features so must be compiled/run with --enable-preview
var file = new File(fileName); // A file with 2 million records will take around 3.3 GB
- System.setProperty("reactor.schedulers.defaultBoundedElasticOnVirtualThreads", "true");
+ System.setProperty("reactor.schedulers.defaultBoundedElasticOnVirtualThreads", "true"); // Use virtual threads (projet Loom) in bounded elastic scheduler
- ReactorDebugAgent.init(); // Dev friendly reactor stack traces
+ ReactorDebugAgent.init(); // Dev friendly reactive stack traces
BlockHound.install(); // Detect and throw on blocking calls from non-blocking threads
var paymentsList = TimedExecution.createPaymentsList(quantity);