Fix aciton module code
[holmes/common.git] / holmes-actions / src / main / java / org / openo / holmes / common / utils / DbDaoUtil.java
index fcd90aa..18890ce 100644 (file)
@@ -18,10 +18,10 @@ package org.openo.holmes.common.utils;
 import io.dropwizard.db.DataSourceFactory;\r
 import io.dropwizard.jdbi.DBIFactory;\r
 import io.dropwizard.setup.Environment;\r
+import javax.annotation.PostConstruct;\r
 import javax.inject.Inject;\r
 import javax.inject.Singleton;\r
 import lombok.extern.slf4j.Slf4j;\r
-import org.glassfish.hk2.api.IterableProvider;\r
 import org.jvnet.hk2.annotations.Service;\r
 import org.skife.jdbi.v2.DBI;\r
 import org.skife.jdbi.v2.Handle;\r
@@ -31,21 +31,20 @@ import org.skife.jdbi.v2.Handle;
 @Slf4j\r
 public class DbDaoUtil {\r
 \r
-    private static DBI jdbi;\r
-\r
+    private DBI jdbi;\r
     @Inject\r
-    private static IterableProvider<Environment> environmentProvider;\r
-\r
+    private Environment environmentProvider;\r
     @Inject\r
-    private static IterableProvider<DataSourceFactory> dataSourceFactoryProvider;\r
+    private DataSourceFactory dataSourceFactoryProvider;\r
+\r
+    private DBIFactory factory = new DBIFactory();\r
 \r
-    static {\r
+    @PostConstruct\r
+    public void init() {\r
         if (jdbi == null) {\r
             synchronized (DbDaoUtil.class) {\r
                 if (jdbi == null) {\r
-                    final DBIFactory factory = new DBIFactory();\r
-                    jdbi = factory\r
-                        .build(environmentProvider.get(), dataSourceFactoryProvider.get(), "mysql");\r
+                    jdbi = factory.build(environmentProvider, dataSourceFactoryProvider, "mysql");\r
                 }\r
             }\r
         }\r