This is an automated email from the ASF dual-hosted git repository.
gerlowskija pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/main by this push:
new e446de3b869 SOLR-16531: Disable unused Jersey features (#1335)
e446de3b869 is described below
commit e446de3b86956e7508d92c98180cc8fa29becaa4
Author: Jason Gerlowski <[email protected]>
AuthorDate: Mon Feb 6 10:25:25 2023 -0500
SOLR-16531: Disable unused Jersey features (#1335)
These features incur a small cost at application startup time, so
disabling them helps keep our use of Jersey lean.
---
.../org/apache/solr/jersey/JerseyApplications.java | 23 +++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/jersey/JerseyApplications.java
b/solr/core/src/java/org/apache/solr/jersey/JerseyApplications.java
index 42e5f713709..ddeb81203ae 100644
--- a/solr/core/src/java/org/apache/solr/jersey/JerseyApplications.java
+++ b/solr/core/src/java/org/apache/solr/jersey/JerseyApplications.java
@@ -20,11 +20,13 @@ package org.apache.solr.jersey;
import io.swagger.v3.oas.annotations.OpenAPIDefinition;
import io.swagger.v3.oas.annotations.info.Info;
import io.swagger.v3.oas.annotations.info.License;
+import java.util.Map;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.util.SolrVersion;
import org.glassfish.hk2.utilities.binding.AbstractBinder;
+import
org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJsonProvider;
import org.glassfish.jersey.process.internal.RequestScoped;
import org.glassfish.jersey.server.ResourceConfig;
@@ -53,6 +55,7 @@ public class JerseyApplications {
register(MessageBodyWriters.JavabinMessageBodyWriter.class);
register(MessageBodyWriters.XmlMessageBodyWriter.class);
register(MessageBodyWriters.CsvMessageBodyWriter.class);
+ register(JacksonJsonProvider.class);
register(SolrJacksonMapper.class);
// Request lifecycle logic
@@ -79,13 +82,19 @@ public class JerseyApplications {
.in(RequestScoped.class);
}
});
- // Logging - disabled by default but useful for debugging Jersey
execution
- // setProperties(
- // Map.of(
- // "jersey.config.server.tracing.type",
- // "ALL",
- // "jersey.config.server.tracing.threshold",
- // "VERBOSE"));
+
+ setProperties(
+ Map.of(
+ // Explicit Jersey logging is disabled by default but useful for
debugging
+ // "jersey.config.server.tracing.type", "ALL",
+ // "jersey.config.server.tracing.threshold", "VERBOSE",
+ "jersey.config.server.wadl.disableWadl", "true",
+ "jersey.config.beanValidation.disable.server", "true",
+ "jersey.config.server.disableAutoDiscovery", "true",
+ "jersey.config.server.disableJsonProcessing", "true",
+ "jersey.config.server.disableMetainfServicesLookup", "true",
+ "jersey.config.server.disableMoxyJson", "true",
+ "jersey.config.server.resource.validation.disable", "true"));
}
}