package com.fzzy.mqtt;
|
|
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
import org.springframework.context.annotation.Condition;
|
import org.springframework.context.annotation.ConditionContext;
|
import org.springframework.core.env.Environment;
|
import org.springframework.core.type.AnnotatedTypeMetadata;
|
|
/**
|
* @Description : 自定义配置,通过这个配置,来控制启动项目的时候是否启动mqtt
|
*/
|
public class MqttCondition implements Condition {
|
|
@Override
|
public boolean matches(ConditionContext context, AnnotatedTypeMetadata annotatedTypeMetadata) {
|
//1、能获取到ioc使用的beanfactory
|
ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
|
//2、获取类加载器
|
ClassLoader classLoader = context.getClassLoader();
|
//3、获取当前环境信息
|
Environment environment = context.getEnvironment();
|
String isOpen = environment.getProperty("mqtt.isOpen");
|
return Boolean.valueOf(isOpen);
|
}
|
}
|