HHH-14332 Make it easier for Quarkus SPI to avoid loading XML related resources
This commit is contained in:
parent
da8706e5eb
commit
84e37c15eb
|
@ -18,6 +18,7 @@ import java.util.Collections;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
import java.util.LinkedHashSet;
|
import java.util.LinkedHashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.jar.JarFile;
|
import java.util.jar.JarFile;
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
|
|
||||||
|
@ -57,6 +58,7 @@ public class MetadataSources implements Serializable {
|
||||||
private static final CoreMessageLogger LOG = CoreLogging.messageLogger( MetadataSources.class );
|
private static final CoreMessageLogger LOG = CoreLogging.messageLogger( MetadataSources.class );
|
||||||
|
|
||||||
private final ServiceRegistry serviceRegistry;
|
private final ServiceRegistry serviceRegistry;
|
||||||
|
private final boolean disableXmlMappingBinders;
|
||||||
|
|
||||||
private XmlMappingBinderAccess xmlMappingBinderAccess;
|
private XmlMappingBinderAccess xmlMappingBinderAccess;
|
||||||
|
|
||||||
|
@ -86,6 +88,18 @@ public class MetadataSources implements Serializable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.serviceRegistry = serviceRegistry;
|
this.serviceRegistry = serviceRegistry;
|
||||||
|
this.disableXmlMappingBinders = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Consider this an SPI, used by Quarkus
|
||||||
|
* @param serviceRegistry
|
||||||
|
* @param disableXmlMappingBinders
|
||||||
|
*/
|
||||||
|
public MetadataSources(ServiceRegistry serviceRegistry, boolean disableXmlMappingBinders) {
|
||||||
|
Objects.requireNonNull( serviceRegistry );
|
||||||
|
this.serviceRegistry = serviceRegistry;
|
||||||
|
this.disableXmlMappingBinders = disableXmlMappingBinders;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static boolean isExpectedServiceRegistryType(ServiceRegistry serviceRegistry) {
|
protected static boolean isExpectedServiceRegistryType(ServiceRegistry serviceRegistry) {
|
||||||
|
@ -94,6 +108,9 @@ public class MetadataSources implements Serializable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public XmlMappingBinderAccess getXmlMappingBinderAccess() {
|
public XmlMappingBinderAccess getXmlMappingBinderAccess() {
|
||||||
|
if ( disableXmlMappingBinders ) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
if ( xmlMappingBinderAccess == null ) {
|
if ( xmlMappingBinderAccess == null ) {
|
||||||
xmlMappingBinderAccess = new XmlMappingBinderAccess( serviceRegistry );
|
xmlMappingBinderAccess = new XmlMappingBinderAccess( serviceRegistry );
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,7 +117,9 @@ public class StandardServiceRegistryBuilder {
|
||||||
* Intended for use exclusively from Quarkus boot-strapping, or extensions of
|
* Intended for use exclusively from Quarkus boot-strapping, or extensions of
|
||||||
* this class which need to override the standard ServiceInitiator list.
|
* this class which need to override the standard ServiceInitiator list.
|
||||||
* Consider this an SPI.
|
* Consider this an SPI.
|
||||||
|
* @deprecated Quarkus will switch to use {@link #StandardServiceRegistryBuilder(BootstrapServiceRegistry, Map, ConfigLoader, LoadedConfig, List)}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
protected StandardServiceRegistryBuilder(
|
protected StandardServiceRegistryBuilder(
|
||||||
BootstrapServiceRegistry bootstrapServiceRegistry,
|
BootstrapServiceRegistry bootstrapServiceRegistry,
|
||||||
Map settings,
|
Map settings,
|
||||||
|
@ -130,6 +132,24 @@ public class StandardServiceRegistryBuilder {
|
||||||
this.initiators = initiators;
|
this.initiators = initiators;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Intended for use exclusively from Quarkus boot-strapping, or extensions of
|
||||||
|
* this class which need to override the standard ServiceInitiator list.
|
||||||
|
* Consider this an SPI.
|
||||||
|
*/
|
||||||
|
protected StandardServiceRegistryBuilder(
|
||||||
|
BootstrapServiceRegistry bootstrapServiceRegistry,
|
||||||
|
Map settings,
|
||||||
|
ConfigLoader loader,
|
||||||
|
LoadedConfig loadedConfig,
|
||||||
|
List<StandardServiceInitiator> initiators) {
|
||||||
|
this.bootstrapServiceRegistry = bootstrapServiceRegistry;
|
||||||
|
this.configLoader = loader;
|
||||||
|
this.settings = settings;
|
||||||
|
this.aggregatedCfgXml = loadedConfig;
|
||||||
|
this.initiators = initiators;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a builder with the specified bootstrap services.
|
* Create a builder with the specified bootstrap services.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue