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/12/04 22:00:30 UTC
[aries-cdi] branch master updated: jndi test
This is an automated email from the ASF dual-hosted git repository.
rotty3000 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/aries-cdi.git
The following commit(s) were added to refs/heads/master by this push:
new ccf2123 jndi test
new 2fa289a Merge pull request #18 from rotty3000/fix.tests
ccf2123 is described below
commit ccf212302b8c032aa580f3526e282ab1f1fb5182
Author: Raymond Augé <ro...@apache.org>
AuthorDate: Tue Dec 3 11:43:38 2019 -0500
jndi test
Signed-off-by: Raymond Augé <ro...@apache.org>
---
cdi-bom/pom.xml | 2 +-
.../internal/container/ContainerState.java | 5 +
.../internal/phase/ExtensionPhaseTest.java | 10 +-
cdi-itests/bnd.bnd | 3 +-
cdi-itests/bnd/tb21.bnd | 13 +++
.../apache/aries/cdi/test/beans/package-info.java | 6 -
.../aries/cdi/test/cases/JndiExtensionTests.java | 28 +++--
.../apache/aries/cdi/test/cases/Test152_3_1_1.java | 128 ++++++++++++---------
.../test/{beans/package-info.java => tb21/A.java} | 27 ++++-
9 files changed, 143 insertions(+), 79 deletions(-)
diff --git a/cdi-bom/pom.xml b/cdi-bom/pom.xml
index f1b0a15..489acb7 100644
--- a/cdi-bom/pom.xml
+++ b/cdi-bom/pom.xml
@@ -132,7 +132,7 @@
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.osgi</artifactId>
- <version>3.13.200</version>
+ <version>3.15.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
diff --git a/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerState.java b/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerState.java
index bb77503..1f8e157 100644
--- a/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerState.java
+++ b/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerState.java
@@ -365,6 +365,11 @@ public class ContainerState {
return promise;
}
+ @Override
+ public String toString() {
+ return _bundle.toString();
+ }
+
private final BundleClassLoader _aggregateClassLoader;
private volatile Deferred<BeanManager> _beanManagerDeferred;
private final BeansModel _beansModel;
diff --git a/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/phase/ExtensionPhaseTest.java b/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/phase/ExtensionPhaseTest.java
index c3e7a98..39eb794 100644
--- a/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/phase/ExtensionPhaseTest.java
+++ b/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/phase/ExtensionPhaseTest.java
@@ -14,9 +14,13 @@
package org.apache.aries.cdi.container.internal.phase;
-import static org.apache.aries.cdi.container.internal.util.Reflection.*;
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.*;
+import static org.apache.aries.cdi.container.internal.util.Reflection.cast;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
import java.util.Arrays;
import java.util.Collection;
diff --git a/cdi-itests/bnd.bnd b/cdi-itests/bnd.bnd
index 1c801b6..cf366ef 100644
--- a/cdi-itests/bnd.bnd
+++ b/cdi-itests/bnd.bnd
@@ -62,7 +62,8 @@ p = org.apache.aries.cdi.test
tb17.jar,\
tb18.jar,\
tb19.jar,\
- tb20.jar
+ tb20.jar,\
+ tb21.jar
# Don't forget that we had to coax the `maven-jar-plugin` NOT to include the `sub-bundle` packages in
# the root bundle:
diff --git a/cdi-itests/bnd/tb21.bnd b/cdi-itests/bnd/tb21.bnd
new file mode 100644
index 0000000..9fb36bf
--- /dev/null
+++ b/cdi-itests/bnd/tb21.bnd
@@ -0,0 +1,13 @@
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+Export-Package: ${p}.tb21.*;-split-package:=first
diff --git a/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/package-info.java b/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/package-info.java
index ea059f0..d99def2 100644
--- a/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/package-info.java
+++ b/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/package-info.java
@@ -13,12 +13,6 @@
*/
@Beans
-@Requirement(
- namespace = CDIConstants.CDI_EXTENSION_PROPERTY,
- name = "aries.cdi.jndi"
-)
package org.apache.aries.cdi.test.beans;
-import org.osgi.annotation.bundle.Requirement;
-import org.osgi.service.cdi.CDIConstants;
import org.osgi.service.cdi.annotations.Beans;
diff --git a/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/JndiExtensionTests.java b/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/JndiExtensionTests.java
index ce06d32..c0445c7 100644
--- a/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/JndiExtensionTests.java
+++ b/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/JndiExtensionTests.java
@@ -28,18 +28,23 @@ import org.osgi.framework.Bundle;
import org.osgi.framework.BundleEvent;
import org.osgi.framework.wiring.BundleWiring;
import org.osgi.util.tracker.BundleTracker;
+import org.osgi.util.tracker.ServiceTracker;
-public class JndiExtensionTests extends AbstractTestCase {
+public class JndiExtensionTests extends SlimTestCase {
@Ignore("I think there's an issue with Aries JNDI. It doesn't work well with service objects")
@Test
public void testGetBeanManagerThroughJNDI() throws Exception {
- assertNotNull(getBeanManager(cdiBundle));
+ Bundle testBundle = installBundle("tb21.jar", false);
+
+ testBundle.start();
+
+ assertNotNull(getBeanManager(testBundle));
Thread currentThread = Thread.currentThread();
ClassLoader contextClassLoader = currentThread.getContextClassLoader();
try {
- BundleWiring bundleWiring = cdiBundle.adapt(BundleWiring.class);
+ BundleWiring bundleWiring = testBundle.adapt(BundleWiring.class);
currentThread.setContextClassLoader(bundleWiring.getClassLoader());
BeanManager beanManager = (BeanManager)InitialContext.doLookup("java:comp/BeanManager");
@@ -65,12 +70,20 @@ public class JndiExtensionTests extends AbstractTestCase {
};
bundleTracker.open();
+ Bundle testBundle = installBundle("tb21.jar", false);
+
+ testBundle.start();
+
+ ServiceTracker<Pojo, Pojo> st = new ServiceTracker<Pojo, Pojo>(
+ bundleContext, Pojo.class, null);
+ st.open(true);
+
try {
assertFalse(bundleTracker.isEmpty());
Bundle extensionBundle = bundleTracker.getBundles()[0];
- try (CloseableTracker<BeanManager, BeanManager> bmTracker = trackBM(cdiBundle);) {
+ try (CloseableTracker<BeanManager, BeanManager> bmTracker = trackBM(testBundle);) {
assertNotNull(bmTracker.waitForService(timeout));
extensionBundle.stop();
@@ -79,18 +92,19 @@ public class JndiExtensionTests extends AbstractTestCase {
Thread.sleep(100);
}
- assertThat(bmTracker).matches(CloseableTracker::isEmpty);
+ assertThat(bmTracker).matches(CloseableTracker::isEmpty, "Is empty");
extensionBundle.start();
- for (int i = 20; (i > 0) && bmTracker.isEmpty(); i--) {
+ for (int i = 100; (i > 0) && bmTracker.isEmpty(); i--) {
Thread.sleep(100);
}
- assertThat(bmTracker).matches(c -> !c.isEmpty());
+ assertThat(bmTracker).matches(c -> !c.isEmpty(), "Not empty");
}
}
finally {
+ testBundle.uninstall();
bundleTracker.close();
}
}
diff --git a/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/Test152_3_1_1.java b/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/Test152_3_1_1.java
index ca30927..92618ff 100644
--- a/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/Test152_3_1_1.java
+++ b/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/Test152_3_1_1.java
@@ -60,9 +60,9 @@ public class Test152_3_1_1 extends SlimTestCase {
AtomicReference<Deferred<Object[]>> b = new AtomicReference<>(new Deferred<>());
AtomicReference<Deferred<Object[]>> c = new AtomicReference<>(new Deferred<>());
- Consumer<Object[]> onInitialized = (o) -> a.get().resolve(o);
- Consumer<Object[]> onBeforeDestroyed = (o) -> b.get().resolve(o);
- Consumer<Object[]> onDestroyed = (o) -> c.get().resolve(o);
+ Consumer<Object[]> onInitialized = (o) -> {try {a.get().resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onBeforeDestroyed = (o) -> {try {b.get().resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onDestroyed = (o) -> {try {c.get().resolve(o);} catch (Exception e) {}};
ServiceRegistration<Consumer> onInitializedReg = bundleContext.registerService(
Consumer.class, onInitialized,
@@ -96,6 +96,8 @@ public class Test152_3_1_1 extends SlimTestCase {
a.get().getPromise().timeout(timeout).then(assertFailed).getFailure();
configuration = configurationAdmin.getConfiguration("prototypeFactory", "?");
+
+ // this will trigger the onInitialized because of the tracker
configuration.update(new Hashtable() {{put("foo", "bar");}});
// should only work with single configuration instances
@@ -108,11 +110,12 @@ public class Test152_3_1_1 extends SlimTestCase {
assertThat(tracker.waitForService(50)).isNotNull();
- // we still didn't do a "get" so this should still fail
- a.get().getPromise().timeout(timeout).then(assertFailed).getFailure();
-
ServiceObjects<Object> serviceObjects = bundleContext.getServiceObjects(tracker.getService());
+ a.set(new Deferred<>());
+ b.set(new Deferred<>());
+ c.set(new Deferred<>());
+
Object service = serviceObjects.getService();
assertThat(service).isNotNull();
@@ -212,7 +215,6 @@ public class Test152_3_1_1 extends SlimTestCase {
s -> {
Object[] values = s.getValue();
- assertThat(other).isEqualTo(values[0]);
assertThat((Map<String, Object>)values[1]).contains(
entry("component.name", "prototypeFactory")
).contains(
@@ -232,7 +234,6 @@ public class Test152_3_1_1 extends SlimTestCase {
s -> {
Object[] values = s.getValue();
- assertThat(other).isEqualTo(values[0]);
assertThat((Map<String, Object>)values[1]).contains(
entry("component.name", "prototypeFactory")
).contains(
@@ -276,9 +277,11 @@ public class Test152_3_1_1 extends SlimTestCase {
AtomicReference<Deferred<Object[]>> b = new AtomicReference<>(new Deferred<>());
AtomicReference<Deferred<Object[]>> c = new AtomicReference<>(new Deferred<>());
- Consumer<Object[]> onInitialized = (o) -> a.get().resolve(o);
- Consumer<Object[]> onBeforeDestroyed = (o) -> b.get().resolve(o);
- Consumer<Object[]> onDestroyed = (o) -> c.get().resolve(o);
+ Consumer<Object[]> onInitialized = (o) -> {
+ try {
+ a.get().resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onBeforeDestroyed = (o) -> {try {b.get().resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onDestroyed = (o) -> {try {c.get().resolve(o);} catch (Exception e) {}};
ServiceRegistration<Consumer> onInitializedReg = bundleContext.registerService(
Consumer.class, onInitialized,
@@ -312,23 +315,39 @@ public class Test152_3_1_1 extends SlimTestCase {
a.get().getPromise().timeout(timeout).then(assertFailed).getFailure();
configuration = configurationAdmin.getConfiguration("prototypeSingle_C", "?");
+
+ // this will trigger the onInitialized because of the tracker
configuration.update(new Hashtable() {{put("foo", "bar");}});
- assertThat(tracker.waitForService(50)).isNotNull();
+ a.get().getPromise().timeout(timeout).then(
+ s -> {
+ Object[] values = s.getValue();
- // we still didn't do a "get" so this should still fail
- a.get().getPromise().timeout(timeout).then(assertFailed).getFailure();
+ assertThat((Map<String, Object>)values[1]).contains(
+ entry("component.name", "prototypeSingle_C")
+ ).contains(
+ entry("foo", "bar")
+ );
+
+ return s;
+ },
+ f -> fail(f.toString())
+ ).getValue();
+ b.get().getPromise().timeout(timeout).then(assertFailed).getFailure();
+ c.get().getPromise().timeout(timeout).then(assertFailed).getFailure();
+
+ a.set(new Deferred<>());
ServiceObjects<Object> serviceObjects = bundleContext.getServiceObjects(tracker.getService());
- Object service = serviceObjects.getService();
- assertThat(service).isNotNull();
+ Object instance1 = serviceObjects.getService();
+ assertThat(instance1).isNotNull();
a.get().getPromise().timeout(timeout).then(
s -> {
Object[] values = s.getValue();
- assertThat(service).isEqualTo(values[0]);
+ assertThat(instance1).isEqualTo(values[0]);
assertThat((Map<String, Object>)values[1]).contains(
entry("component.name", "prototypeSingle_C")
).contains(
@@ -344,14 +363,14 @@ public class Test152_3_1_1 extends SlimTestCase {
a.set(new Deferred<>());
- Object other = serviceObjects.getService();
- assertThat(other).isNotNull();
+ Object instance2 = serviceObjects.getService();
+ assertThat(instance2).isNotNull();
a.get().getPromise().timeout(timeout).then(
s -> {
Object[] values = s.getValue();
- assertThat(other).isEqualTo(values[0]);
+ assertThat(instance2).isEqualTo(values[0]);
assertThat((Map<String, Object>)values[1]).contains(
entry("component.name", "prototypeSingle_C")
).contains(
@@ -365,15 +384,15 @@ public class Test152_3_1_1 extends SlimTestCase {
b.get().getPromise().timeout(timeout).then(assertFailed).getFailure();
c.get().getPromise().timeout(timeout).then(assertFailed).getFailure();
- assertThat(service).isNotEqualTo(other);
+ assertThat(instance1).isNotEqualTo(instance2);
- serviceObjects.ungetService(service);
+ serviceObjects.ungetService(instance1);
b.get().getPromise().timeout(timeout).then(
s -> {
Object[] values = s.getValue();
- assertThat(service).isEqualTo(values[0]);
+ assertThat(instance1).isEqualTo(values[0]);
assertThat((Map<String, Object>)values[1]).contains(
entry("component.name", "prototypeSingle_C")
);
@@ -387,7 +406,7 @@ public class Test152_3_1_1 extends SlimTestCase {
s -> {
Object[] values = s.getValue();
- assertThat(service).isEqualTo(values[0]);
+ assertThat(instance1).isEqualTo(values[0]);
assertThat((Map<String, Object>)values[1]).contains(
entry("component.name", "prototypeSingle_C")
);
@@ -406,7 +425,6 @@ public class Test152_3_1_1 extends SlimTestCase {
s -> {
Object[] values = s.getValue();
- assertThat(other).isEqualTo(values[0]);
assertThat((Map<String, Object>)values[1]).contains(
entry("component.name", "prototypeSingle_C")
);
@@ -420,7 +438,6 @@ public class Test152_3_1_1 extends SlimTestCase {
s -> {
Object[] values = s.getValue();
- assertThat(other).isEqualTo(values[0]);
assertThat((Map<String, Object>)values[1]).contains(
entry("component.name", "prototypeSingle_C")
);
@@ -458,9 +475,9 @@ public class Test152_3_1_1 extends SlimTestCase {
AtomicReference<Deferred<Object[]>> b = new AtomicReference<>(new Deferred<>());
AtomicReference<Deferred<Object[]>> c = new AtomicReference<>(new Deferred<>());
- Consumer<Object[]> onInitialized = (o) -> a.get().resolve(o);
- Consumer<Object[]> onBeforeDestroyed = (o) -> b.get().resolve(o);
- Consumer<Object[]> onDestroyed = (o) -> c.get().resolve(o);
+ Consumer<Object[]> onInitialized = (o) -> {try {a.get().resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onBeforeDestroyed = (o) -> {try {b.get().resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onDestroyed = (o) -> {try {c.get().resolve(o);} catch (Exception e) {}};
ServiceRegistration<Consumer> onInitializedReg = bundleContext.registerService(
Consumer.class, onInitialized,
@@ -489,11 +506,10 @@ public class Test152_3_1_1 extends SlimTestCase {
try (CloseableTracker<Object, ServiceReference<Object>> tracker = trackSR("(objectClass=%s)", Pojo.class.getName())) {
assertThat(tracker.waitForService(50)).isNotNull();
- // we didn't do a "get" yet
- a.get().getPromise().timeout(timeout).then(assertFailed).getFailure();
-
ServiceObjects<Object> serviceObjects = bundleContext.getServiceObjects(tracker.getService());
+ a.set(new Deferred<>());
+
Object service = serviceObjects.getService();
assertThat(service).isNotNull();
@@ -619,9 +635,9 @@ public class Test152_3_1_1 extends SlimTestCase {
Deferred<Object[]> b = new Deferred<>();
Deferred<Object[]> c = new Deferred<>();
- Consumer<Object[]> onInitialized = (o) -> a.resolve(o);
- Consumer<Object[]> onBeforeDestroyed = (o) -> b.resolve(o);
- Consumer<Object[]> onDestroyed = (o) -> c.resolve(o);
+ Consumer<Object[]> onInitialized = (o) -> {try {a.resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onBeforeDestroyed = (o) -> {try {b.resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onDestroyed = (o) -> {try {c.resolve(o);} catch (Exception e) {}};
ServiceRegistration<Consumer> onInitializedReg = bundleContext.registerService(
Consumer.class, onInitialized,
@@ -891,9 +907,9 @@ public class Test152_3_1_1 extends SlimTestCase {
Deferred<Object[]> b = new Deferred<>();
Deferred<Object[]> c = new Deferred<>();
- Consumer<Object[]> onInitialized = (o) -> a.resolve(o);
- Consumer<Object[]> onBeforeDestroyed = (o) -> b.resolve(o);
- Consumer<Object[]> onDestroyed = (o) -> c.resolve(o);
+ Consumer<Object[]> onInitialized = (o) -> {try {a.resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onBeforeDestroyed = (o) -> {try {b.resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onDestroyed = (o) -> {try {c.resolve(o);} catch (Exception e) {}};
ServiceRegistration<Consumer> onInitializedReg = bundleContext.registerService(
Consumer.class, onInitialized,
@@ -985,9 +1001,9 @@ public class Test152_3_1_1 extends SlimTestCase {
Deferred<Object[]> b = new Deferred<>();
Deferred<Object[]> c = new Deferred<>();
- Consumer<Object[]> onInitialized = (o) -> a.resolve(o);
- Consumer<Object[]> onBeforeDestroyed = (o) -> b.resolve(o);
- Consumer<Object[]> onDestroyed = (o) -> c.resolve(o);
+ Consumer<Object[]> onInitialized = (o) -> {try {a.resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onBeforeDestroyed = (o) -> {try {b.resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onDestroyed = (o) -> {try {c.resolve(o);} catch (Exception e) {}};
ServiceRegistration<Consumer> onInitializedReg = bundleContext.registerService(
Consumer.class, onInitialized,
@@ -1124,9 +1140,9 @@ public class Test152_3_1_1 extends SlimTestCase {
Deferred<Object[]> b = new Deferred<>();
Deferred<Object[]> c = new Deferred<>();
- Consumer<Object[]> onInitialized = (o) -> a.resolve(o);
- Consumer<Object[]> onBeforeDestroyed = (o) -> b.resolve(o);
- Consumer<Object[]> onDestroyed = (o) -> c.resolve(o);
+ Consumer<Object[]> onInitialized = (o) -> {try {a.resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onBeforeDestroyed = (o) -> {try {b.resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onDestroyed = (o) -> {try {c.resolve(o);} catch (Exception e) {}};
ServiceRegistration<Consumer> onInitializedReg = bundleContext.registerService(
Consumer.class, onInitialized,
@@ -1248,9 +1264,9 @@ public class Test152_3_1_1 extends SlimTestCase {
Deferred<Object[]> b = new Deferred<>();
Deferred<Object[]> c = new Deferred<>();
- Consumer<Object[]> onInitialized = (o) -> a.resolve(o);
- Consumer<Object[]> onBeforeDestroyed = (o) -> b.resolve(o);
- Consumer<Object[]> onDestroyed = (o) -> c.resolve(o);
+ Consumer<Object[]> onInitialized = (o) -> {try {a.resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onBeforeDestroyed = (o) -> {try {b.resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onDestroyed = (o) -> {try {c.resolve(o);} catch (Exception e) {}};
ServiceRegistration<Consumer> onInitializedReg = bundleContext.registerService(
Consumer.class, onInitialized,
@@ -1335,9 +1351,9 @@ public class Test152_3_1_1 extends SlimTestCase {
Deferred<Object[]> b = new Deferred<>();
Deferred<Object[]> c = new Deferred<>();
- Consumer<Object[]> onInitialized = (o) -> a.resolve(o);
- Consumer<Object[]> onBeforeDestroyed = (o) -> b.resolve(o);
- Consumer<Object[]> onDestroyed = (o) -> c.resolve(o);
+ Consumer<Object[]> onInitialized = (o) -> {try {a.resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onBeforeDestroyed = (o) -> {try {b.resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onDestroyed = (o) -> {try {c.resolve(o);} catch (Exception e) {}};
ServiceRegistration<Consumer> onInitializedReg = bundleContext.registerService(
Consumer.class, onInitialized,
@@ -1442,9 +1458,9 @@ public class Test152_3_1_1 extends SlimTestCase {
Deferred<Object[]> b = new Deferred<>();
Deferred<Object[]> c = new Deferred<>();
- Consumer<Object[]> onInitialized = (o) -> a.resolve(o);
- Consumer<Object[]> onBeforeDestroyed = (o) -> b.resolve(o);
- Consumer<Object[]> onDestroyed = (o) -> c.resolve(o);
+ Consumer<Object[]> onInitialized = (o) -> {try {a.resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onBeforeDestroyed = (o) -> {try {b.resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onDestroyed = (o) -> {try {c.resolve(o);} catch (Exception e) {}};
ServiceRegistration<Consumer> onInitializedReg = bundleContext.registerService(
Consumer.class, onInitialized,
@@ -1539,9 +1555,9 @@ public class Test152_3_1_1 extends SlimTestCase {
Deferred<Object[]> b = new Deferred<>();
Deferred<Object[]> c = new Deferred<>();
- Consumer<Object[]> onInitialized = (o) -> a.resolve(o);
- Consumer<Object[]> onBeforeDestroyed = (o) -> b.resolve(o);
- Consumer<Object[]> onDestroyed = (o) -> c.resolve(o);
+ Consumer<Object[]> onInitialized = (o) -> {try {a.resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onBeforeDestroyed = (o) -> {try {b.resolve(o);} catch (Exception e) {}};
+ Consumer<Object[]> onDestroyed = (o) -> {try {c.resolve(o);} catch (Exception e) {}};
ServiceRegistration<Consumer> onInitializedReg = bundleContext.registerService(
Consumer.class, onInitialized,
diff --git a/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/package-info.java b/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb21/A.java
similarity index 67%
copy from cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/package-info.java
copy to cdi-itests/src/main/java/org/apache/aries/cdi/test/tb21/A.java
index ea059f0..7f7a96d 100644
--- a/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/package-info.java
+++ b/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb21/A.java
@@ -12,13 +12,30 @@
* limitations under the License.
*/
-@Beans
+package org.apache.aries.cdi.test.tb21;
+
+import org.apache.aries.cdi.test.interfaces.Pojo;
+import org.osgi.annotation.bundle.Requirement;
+import org.osgi.service.cdi.CDIConstants;
+import org.osgi.service.cdi.annotations.Bean;
+import org.osgi.service.cdi.annotations.Service;
+
+@Bean
@Requirement(
namespace = CDIConstants.CDI_EXTENSION_PROPERTY,
name = "aries.cdi.jndi"
)
-package org.apache.aries.cdi.test.beans;
+@Service
+public class A implements Pojo {
-import org.osgi.annotation.bundle.Requirement;
-import org.osgi.service.cdi.CDIConstants;
-import org.osgi.service.cdi.annotations.Beans;
+ @Override
+ public String foo(String input) {
+ return "JNDI:" + input;
+ }
+
+ @Override
+ public int getCount() {
+ return 0;
+ }
+
+}