diff --git a/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/config/SpringContext.java b/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/config/SpringContext.java new file mode 100644 index 00000000..ec411b80 --- /dev/null +++ b/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/config/SpringContext.java @@ -0,0 +1,34 @@ +package com.alibaba.otter.canal.admin.config; + +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; + +/** + * spring util配置类 + * + * @author rewerma @ 2018-10-20 + * @version 1.0.0 + */ +@Component +public class SpringContext implements ApplicationContextAware { + + private static ApplicationContext context; + + /* + * 注入ApplicationContext + */ + public void setApplicationContext(final ApplicationContext context) throws BeansException { + // 在加载Spring时自动获得context + SpringContext.context = context; + } + + public static Object getBean(final String beanName) { + return SpringContext.context.getBean(beanName); + } + + public static Object getBean(final Class clz) { + return context.getBean(clz); + } +} diff --git a/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/connector/SimpleAdminConnectors.java b/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/connector/SimpleAdminConnectors.java index 740790c3..2a37bd4e 100644 --- a/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/connector/SimpleAdminConnectors.java +++ b/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/connector/SimpleAdminConnectors.java @@ -2,16 +2,20 @@ package com.alibaba.otter.canal.admin.connector; import java.util.function.Function; +import com.alibaba.otter.canal.admin.config.SpringContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.core.env.Environment; public class SimpleAdminConnectors { - private static final Logger logger = LoggerFactory.getLogger(SimpleAdminConnectors.class); - private static String defaultUser = "admin"; - private static String defaultPasswd = "admin"; + private static final Logger logger = LoggerFactory.getLogger(SimpleAdminConnectors.class); public static R execute(String ip, int port, Function function) { + Environment env = (Environment) SpringContext.getBean(Environment.class); + String defaultUser = env.getProperty("canal.adminUser", "admin"); + String defaultPasswd = env.getProperty("canal.adminPasswd", "admin"); + return execute(ip, port, defaultUser, defaultPasswd, function); }