zoukankan      html  css  js  c++  java
  • @ServerEndpoint:无法主入bean

    解决办法:

    import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    @ConditionalOnWebApplication
    @Configuration
    public class WebSocketConfigurator {
    
      @Bean
      public CustomSpringConfigurator customSpringConfigurator() {
        return new CustomSpringConfigurator(); // This is just to get context
      }
    }
    import org.springframework.beans.BeansException;
    import org.springframework.beans.factory.BeanFactory;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;
    
    import javax.websocket.server.ServerEndpointConfig;
    
    public class CustomSpringConfigurator extends ServerEndpointConfig.Configurator implements ApplicationContextAware {
    
        /**
         * Spring application context.
         */
        private static volatile BeanFactory context;
    
        @Override
        public <T> T getEndpointInstance(Class<T> clazz) throws InstantiationException {
            return context.getBean(clazz);
        }
    
        @Override
        public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
            CustomSpringConfigurator.context = applicationContext;
        }
    }
    @Component
    @ServerEndpoint(value = "/websocket/car/",configurator = CustomSpringConfigurator.class)
    public class WebSocketCar {
    
    
    
    }
  • 相关阅读:
    assignment of day nine
    不会互相转化,看我的
    enumrate用法
    这是作业
    这是表格
    本周回顾
    爬虫
    今天又学了啥?
    what have we learnt in day five
    OMG that's another blog!
  • 原文地址:https://www.cnblogs.com/huiy/p/13378534.html
Copyright © 2011-2022 走看看