Pārlūkot izejas kodu

调整spring初始化代码

wenzhaoqin 7 gadi atpakaļ
vecāks
revīzija
58df0a57e3

+ 5 - 0
src/main/java/com/lewaimai/mysql/elasticsearch/ConsumerLauncher.java

@@ -6,6 +6,7 @@ import javax.xml.bind.JAXBException;
 
 
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 
 
 import com.lewaimai.mysql.elasticsearch.common.config.ApplicationConfig;
 import com.lewaimai.mysql.elasticsearch.common.config.ApplicationConfig;
 import com.lewaimai.mysql.elasticsearch.common.config.ConfigUtils;
 import com.lewaimai.mysql.elasticsearch.common.config.ConfigUtils;
@@ -17,9 +18,13 @@ import com.lewaimai.mysql.elasticsearch.common.config.ConfigUtils;
 public class ConsumerLauncher 
 public class ConsumerLauncher 
 {
 {
 	private static Logger logger = LoggerFactory.getLogger(ConsumerLauncher.class);
 	private static Logger logger = LoggerFactory.getLogger(ConsumerLauncher.class);
+	
     public static void main( String[] args ) throws FileNotFoundException, JAXBException
     public static void main( String[] args ) throws FileNotFoundException, JAXBException
     {
     {
     	String conf = System.getProperty("consumer.conf", "classpath:config.xml");
     	String conf = System.getProperty("consumer.conf", "classpath:config.xml");
+    	//初始化spring
+    	ApplicationConfig.initSpring();
+    	
     	//初始化配置
     	//初始化配置
     	ApplicationConfig.getContext().getBean(ConfigUtils.class).init(conf);
     	ApplicationConfig.getContext().getBean(ConfigUtils.class).init(conf);
     	
     	

+ 3 - 2
src/main/java/com/lewaimai/mysql/elasticsearch/ConsumerServer.java

@@ -28,14 +28,15 @@ import com.lewaimai.mysql.elasticsearch.common.config.ConfigUtils;
 public class ConsumerServer extends AbstractConsumerLifeCycle {
 public class ConsumerServer extends AbstractConsumerLifeCycle {
 	private static Logger logger = LoggerFactory.getLogger(ConsumerLauncher.class);
 	private static Logger logger = LoggerFactory.getLogger(ConsumerLauncher.class);
 	@Autowired
 	@Autowired
-	private BatchQueue batchQueue;
+	private BatchQueue batchQueue = null;
+	@Autowired
+	private ConfigUtils configUtils = null;
 	
 	
 	public ConsumerServer() {
 	public ConsumerServer() {
 	}
 	}
 
 
 	public void start() {
 	public void start() {
 		super.start();
 		super.start();
-		ConfigUtils configUtils = ApplicationConfig.getContext().getBean(ConfigUtils.class);
 		//创建连接
 		//创建连接
 		Canal canalConfig = configUtils.getConfig().getCanal();
 		Canal canalConfig = configUtils.getConfig().getCanal();
     	CanalConnector connector = CanalConnectors
     	CanalConnector connector = CanalConnectors

+ 7 - 3
src/main/java/com/lewaimai/mysql/elasticsearch/common/config/ApplicationConfig.java

@@ -15,10 +15,14 @@ import org.springframework.context.annotation.ComponentScan;
 		"com.lewaimai.mysql.elasticsearch.common",
 		"com.lewaimai.mysql.elasticsearch.common",
 		"com.lewaimai.mysql.elasticsearch.common.config"})
 		"com.lewaimai.mysql.elasticsearch.common.config"})
 public class ApplicationConfig {
 public class ApplicationConfig {
-	private static class SingletonHolder {
-		private static final ApplicationContext context = new AnnotationConfigApplicationContext(ApplicationConfig.class);
+	private static BeanFactory context;
+	
+	//初始化spring
+	public static void initSpring() {
+		context = new AnnotationConfigApplicationContext(ApplicationConfig.class);
 	}
 	}
+	
 	public static BeanFactory getContext() {
 	public static BeanFactory getContext() {
-		return SingletonHolder.context;
+		return context;
 	}
 	}
 }
 }