有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在与web api不同的端口上配置Spring Boot SOAP web服务

我在主应用程序上下文中的Jetty容器在端口8080 path/上运行。当前状态是soap服务配置在子路径/ws上,但在同一端口上

@EnableWs
@Configuration
public class SoapConfiguration extends WsConfigurationSupport {

    @Bean
    public ServletRegistrationBean<MessageDispatcherServlet> messageDispatcherServlet(ApplicationContext applicationContext) {
        MessageDispatcherServlet servlet = new MessageDispatcherServlet();
        servlet.setApplicationContext(applicationContext);
        servlet.setTransformWsdlLocations(true);
        return new ServletRegistrationBean<>(servlet, "/ws/*");
    }
}

我想要的是在端口8080上运行的其余web api,但是所有@Endpoint类都位于不同的端口,比如8003

我知道一个可能的解决方案是创建不同的模块,并用应用程序上下文层次结构https://www.baeldung.com/spring-boot-context-hierarchy将它们包装在一起

但是,由于我只想让1@Endpoint注释bean生活在一个单独的上下文中,所以我想找到一个解决方案,不必将它们拆分为不同的模块。我假设这个想法是创建一个子应用程序上下文,其中包含JettyServletWebServerFactory工厂和端点,但我似乎无法从技术上实现它


共 (0) 个答案