You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ro...@apache.org on 2019/11/25 18:43:40 UTC
[aries-cdi] 21/27: make sure @ApplicationScoped services are
published on the right thread
This is an automated email from the ASF dual-hosted git repository.
rotty3000 pushed a commit to branch rotty3000/cdi-spi
in repository https://gitbox.apache.org/repos/asf/aries-cdi.git
commit 7b7826296481019112417ccbf80af53d8e6e0533
Author: Raymond Augé <ro...@apache.org>
AuthorDate: Sun Nov 24 15:53:55 2019 -0500
make sure @ApplicationScoped services are published on the right thread
Signed-off-by: Raymond Augé <ro...@apache.org>
---
.../org/apache/aries/cdi/container/internal/container/Op.java | 2 +-
.../aries/cdi/container/internal/container/RuntimeExtension.java | 8 ++++----
.../cdi/container/internal/phase/ContainerBootstrapTest.java | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/Op.java b/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/Op.java
index 48c0380..5ff43cd 100644
--- a/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/Op.java
+++ b/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/Op.java
@@ -28,7 +28,7 @@ public class Op {
CONTAINER_COMPONENT,
CONTAINER_FIRE_EVENTS,
CONTAINER_INSTANCE,
- CONTAINER_PUBLISH_SERVICES,
+ CONTAINER_INIT_COMPONENTS,
REFERENCES,
EXTENSION,
FACTORY_ACTIVATOR,
diff --git a/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/RuntimeExtension.java b/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/RuntimeExtension.java
index e5927c2..777ac6a 100644
--- a/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/RuntimeExtension.java
+++ b/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/RuntimeExtension.java
@@ -226,11 +226,11 @@ public class RuntimeExtension implements Extension {
ComponentDTO componentDTO = _containerState.containerDTO().components.get(0);
+ registerServices(componentDTO, bm);
+
_containerState.submit(
- Op.of(Mode.OPEN, Type.CONTAINER_PUBLISH_SERVICES, _containerState.id()),
- () -> registerServices(componentDTO, bm)
- ).then(
- s -> initComponents()
+ Op.of(Mode.OPEN, Type.CONTAINER_INIT_COMPONENTS, _containerState.id()),
+ this::initComponents
).then(s -> {
Dictionary<String, Object> properties = new Hashtable<>();
properties.put(CDIConstants.CDI_CONTAINER_ID, _containerState.id());
diff --git a/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/phase/ContainerBootstrapTest.java b/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/phase/ContainerBootstrapTest.java
index 24cc74a..fe71a79 100644
--- a/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/phase/ContainerBootstrapTest.java
+++ b/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/phase/ContainerBootstrapTest.java
@@ -103,7 +103,7 @@ public class ContainerBootstrapTest extends BaseCDIBundleTest {
Promise<Boolean> p0 = containerState.addCallback(
(CheckedCallback<Boolean, Boolean>) op -> {
- return op.mode == Op.Mode.OPEN && op.type == Op.Type.CONTAINER_PUBLISH_SERVICES;
+ return op.mode == Op.Mode.OPEN && op.type == Op.Type.CONTAINER_INIT_COMPONENTS;
}
);