使用Apache CXF关闭Spring-Boot应用程序中的嵌入式Jetty

时间:2015-07-14 15:58:18

标签: spring spring-boot cxf

在Spring-Boot应用程序中,我注册了这样的Apache-CXF SOAP服务:

  @Bean(destroyMethod = "destroy")
  org.apache.cxf.endpoint.Server server(MyService myService) {
    JaxWsServerFactoryBean svrFactory = new JaxWsServerFactoryBean();
    svrFactory.setServiceClass(MyService.class);
    svrFactory.setAddress("http://0.0.0.0:4711/MyService");
    svrFactory.setServiceBean(myService);
    svrFactory.getInInterceptors().add(new LoggingInInterceptor());
    svrFactory.getOutInterceptors().add(new LoggingOutInterceptor());
    return svrFactory.create();
  }

可能在我的spring配置的其他位置发生,上下文无法成功初始化(应用程序启动失败)并启动应用程序关闭。

不幸的是,已经创建的服务器bean保持活动状态并阻止应用程序完全关闭。我认为destroyMethod = "destroy"可以解决问题,但这只会破坏webapp / SOAP端点(在HTTP ERROR 404中重新进行),但嵌入式jetty仍在运行。

我是否有机会以某种方式配置Spring Context,以防止嵌入式Jetty在Spring Context初始化失败时保持活动状态?

0 个答案:

没有答案