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;
 			}
 		);