GERONIMO-6617 Apply service loader mediator to key modules useful for microprofile: CDI 2.0
Signed-off-by: Raymond Auge <rotty3000@apache.org>
git-svn-id: https://svn.apache.org/repos/asf/geronimo/specs/trunk@1838204 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/geronimo-jcdi_2.0_spec/pom.xml b/geronimo-jcdi_2.0_spec/pom.xml
index b69b689..9da7c88 100644
--- a/geronimo-jcdi_2.0_spec/pom.xml
+++ b/geronimo-jcdi_2.0_spec/pom.xml
@@ -117,6 +117,11 @@
<Provide-Capability><![CDATA[
osgi.contract;osgi.contract=JavaCDI;uses:="${packages;NAMED;javax.*}";version:List<Version>='2.0,1.2,1.1,1.0'
]]></Provide-Capability>
+ <Require-Capability><![CDATA[
+ osgi.serviceloader;filter:="(osgi.serviceloader=javax.enterprise.inject.se.SeContainerInitializer)";cardinality:=multiple,
+ osgi.serviceloader;filter:="(osgi.serviceloader=javax.enterprise.inject.spi.CDIProvider)";cardinality:=multiple,
+ osgi.extender;filter:="(osgi.extender=osgi.serviceloader.processor)"
+ ]]></Require-Capability>
<_contract>JavaInterceptor, JavaEL, JavaInject, JavaAnnotation</_contract>
</instructions>
</configuration>
diff --git a/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/se/SeContainerInitializer.java b/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/se/SeContainerInitializer.java
index 2c2976d..1b5eb30 100644
--- a/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/se/SeContainerInitializer.java
+++ b/geronimo-jcdi_2.0_spec/src/main/java/javax/enterprise/inject/se/SeContainerInitializer.java
@@ -44,9 +44,8 @@
*/
public static SeContainerInitializer newInstance()
{
- // TODO: OSGi support -> ProviderLocator or is there something better these days?
final Iterator<SeContainerInitializer> serviceLoader =
- ServiceLoader.load(SeContainerInitializer.class, SeContainerInitializer.class.getClassLoader())
+ ServiceLoader.load(SeContainerInitializer.class)
.iterator();
if (!serviceLoader.hasNext())