You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ff...@apache.org on 2020/03/11 18:31:18 UTC
[servicemix-specs] branch master updated: [SM-4310]Jaxb-API-2.3 has
missing method
This is an automated email from the ASF dual-hosted git repository.
ffang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicemix-specs.git
The following commit(s) were added to refs/heads/master by this push:
new b5a9a4b [SM-4310]Jaxb-API-2.3 has missing method
b5a9a4b is described below
commit b5a9a4b6216f240cecb0e88763ba30d1e03fc73c
Author: Freeman Fang <fr...@gmail.com>
AuthorDate: Wed Mar 11 14:31:08 2020 -0400
[SM-4310]Jaxb-API-2.3 has missing method
---
.../main/java/javax/xml/bind/ServiceLoaderUtil.java | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/jaxb-api-2.3/src/main/java/javax/xml/bind/ServiceLoaderUtil.java b/jaxb-api-2.3/src/main/java/javax/xml/bind/ServiceLoaderUtil.java
index 4debc31..0a9d211 100644
--- a/jaxb-api-2.3/src/main/java/javax/xml/bind/ServiceLoaderUtil.java
+++ b/jaxb-api-2.3/src/main/java/javax/xml/bind/ServiceLoaderUtil.java
@@ -109,6 +109,24 @@ class ServiceLoaderUtil {
throw handler.createException(x, "Provider " + className + " could not be instantiated: " + x);
}
}
+
+ static Object lookupUsingOSGiServiceLoader(String factoryId, Logger logger) {
+ // using OSGi locator to load the spi class
+ try {
+ Class serviceClass = Class.forName(factoryId);
+ Class spiClass = org.apache.servicemix.specs.locator.OsgiLocator.locate(serviceClass);
+ if (spiClass != null) {
+ logger.log(Level.FINE, "Found spiClass: " + spiClass);
+ return spiClass;
+ } else {
+ logger.log(Level.FINE, "No spiClass found in OSGi");
+ return null;
+ }
+
+ } catch (Throwable t) {
+ return null;
+ }
+ }
static Class safeLoadClass(String className,
String defaultImplClassName,