Skip to content

Commit 5fa8ee7

Browse files
committed
feat: update camera service async
Signed-off-by: Otavio Santana <[email protected]>
1 parent db0b8db commit 5fa8ee7

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/main/java/org/jnosql/demoee/CameraService.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,30 @@
11
package org.jnosql.demoee;
22

3+
import io.quarkus.virtual.threads.VirtualThreads;
34
import jakarta.enterprise.context.ApplicationScoped;
45
import jakarta.inject.Inject;
6+
import net.datafaker.Faker;
57
import org.eclipse.jnosql.mapping.document.DocumentTemplate;
68

79
import java.util.List;
810
import java.util.Optional;
11+
import java.util.concurrent.ExecutorService;
912
import java.util.logging.Logger;
1013

1114
@ApplicationScoped
1215
public class CameraService {
1316

1417
private static final Logger LOGGER = Logger.getLogger(CameraService.class.getName());
1518

19+
private static final Faker FAKER = new Faker();
20+
1621
@Inject
1722
DocumentTemplate template;
1823

24+
@Inject
25+
@VirtualThreads
26+
ExecutorService vThreads;
27+
1928
public List<Camera> findAll() {
2029
LOGGER.info("Selecting all cameras");
2130
return template.select(Camera.class).result();
@@ -49,4 +58,15 @@ public Camera update(Camera update) {
4958
LOGGER.info("Updating camera: " + update.id());
5059
return template.update(update);
5160
}
61+
62+
public void insertAsync(int size) {
63+
LOGGER.info("Inserting cameras async the size: " + size);
64+
65+
vThreads.submit(() -> {
66+
for (int index = 0; index < size; index++) {
67+
Camera camera = Camera.of(FAKER);
68+
template.insert(camera);
69+
}
70+
});
71+
}
5272
}

0 commit comments

Comments
 (0)