Skip to content

Commit 1db8390

Browse files
committed
OfflineEventReplicator in Spring Boot
The mechanism of interpreting the .services of the external REST services was not working for the spring boot case. In particular this causes the OfflineEventReplicator service to not work Issue: 206569
1 parent 0459911 commit 1db8390

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

gxspringboot/src/main/java/com/genexus/springboot/GXConfig.java

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
import com.genexus.xml.GXXMLSerializable;
99

1010
import jakarta.annotation.PreDestroy;
11-
import jakarta.servlet.Servlet;
1211
import org.glassfish.jersey.server.ResourceConfig;
1312
import org.glassfish.jersey.servlet.ServletContainer;
13+
import org.glassfish.jersey.servlet.ServletProperties;
1414
import org.springframework.boot.web.servlet.FilterRegistrationBean;
15-
import org.springframework.boot.web.servlet.ServletRegistrationBean;
1615
import org.springframework.beans.factory.annotation.Value;
1716
import org.springframework.context.annotation.Bean;
1817
import org.springframework.context.annotation.Configuration;
18+
import org.springframework.core.Ordered;
1919
import org.springframework.core.io.ClassPathResource;
2020
import org.springframework.util.AntPathMatcher;
2121
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@@ -24,6 +24,8 @@
2424
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
2525
import org.tuckey.web.filters.urlrewrite.UrlRewriteFilter;
2626

27+
import java.util.HashMap;
28+
import java.util.Map;
2729
import java.util.Set;
2830

2931
@Configuration
@@ -90,17 +92,26 @@ public FilterRegistrationBean<UrlRewriteFilter> urlRewriteFilter() {
9092
}
9193

9294
@Bean
93-
public ServletRegistrationBean<Servlet> jerseyServletRegistration() {
95+
public FilterRegistrationBean<ServletContainer> jerseyFilter() {
9496
ResourceConfig rc = new ResourceConfig();
9597
Set<Class<?>> rrcs = JaxrsResourcesHolder.getAll();
9698
if (!rrcs.isEmpty()) {
9799
rc.registerClasses(rrcs.toArray(new Class<?>[0]));
100+
rc.property(ServletProperties.FILTER_FORWARD_ON_404, true);
98101
}
102+
99103
ServletContainer container = new ServletContainer(rc);
100-
ServletRegistrationBean<Servlet> bean = new ServletRegistrationBean<>(container, "/rest/*");
101-
bean.setName("jersey-servlet");
102-
bean.setLoadOnStartup(1);
103-
return bean;
104+
105+
FilterRegistrationBean<ServletContainer> reg = new FilterRegistrationBean<>(container);
106+
reg.addUrlPatterns("/rest/*");
107+
reg.setName("jersey-filter");
108+
reg.setOrder(Ordered.HIGHEST_PRECEDENCE + 1);
109+
110+
Map<String, String> initParams = new HashMap<>();
111+
initParams.put(ServletProperties.FILTER_CONTEXT_PATH, "/rest");
112+
reg.setInitParameters(initParams);
113+
114+
return reg;
104115
}
105116

106117
@PreDestroy

0 commit comments

Comments
 (0)