package cn.lili.modules.im.config;
|
|
|
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;
|
|
/**
|
* CustomSpringConfigurator
|
*
|
* @author Chopper
|
* @version v1.0
|
* 2021-12-31 11:53
|
*/
|
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;
|
}
|
}
|