Browse Source

data-service

孙永军 2 years ago
parent
commit
5058f91ea8

+ 16 - 7
src/main/java/com/sxtvs/open/api/news/service/impl/YoumeiDataServiceImpl.java

@@ -103,6 +103,10 @@ public class YoumeiDataServiceImpl extends ServiceImpl<YoumeiDataMapper, YoumeiD
             response = elasticsearchClient.search(searchRequest, YoumeiEsData.class);
         } catch (IOException e) {
             logger.error("error", e);
+        } finally {
+            if (elasticsearchClient != null) {
+                esClientPool.returnClient(elasticsearchClient);
+            }
         }
         List<YoumeiEsData> data = new ArrayList<>();
         long total = 0;
@@ -117,7 +121,6 @@ public class YoumeiDataServiceImpl extends ServiceImpl<YoumeiDataMapper, YoumeiD
         }
         page.setTotal(total);
         page.setRecords(data);
-        esClientPool.returnClient(elasticsearchClient);
 
         return page;
     }
@@ -132,8 +135,9 @@ public class YoumeiDataServiceImpl extends ServiceImpl<YoumeiDataMapper, YoumeiD
         YoumeiOffset youmeiOffset = youmeiOffsetService.getById(4);
         long offset = youmeiOffset.getOffset() + 1L;
         long max = 0L;
+        ElasticsearchClient elasticsearchClient = null;
         try {
-            ElasticsearchClient elasticsearchClient = esClientPool.getClient();
+            elasticsearchClient = esClientPool.getClient();
             while (true) {
                 List<CategoryData> youmeiDataList = baseMapper.getCategoryList(offset, 1000);
                 log.info("本次数据{}条,offset从{}开始", youmeiDataList.size(), offset);
@@ -156,15 +160,20 @@ public class YoumeiDataServiceImpl extends ServiceImpl<YoumeiDataMapper, YoumeiD
 
                 offset += 1000;
             }
-            esClientPool.returnClient(elasticsearchClient);
+
         } catch (Exception e) {
             e.printStackTrace();
             logger.error("error", e);
+        }finally {
+            if (null != elasticsearchClient){
+                esClientPool.returnClient(elasticsearchClient);
+            }
+            if (max > 0L) {
+                youmeiOffset.setOffset(max);
+                youmeiOffsetService.updateById(youmeiOffset);
+            }
         }
-        if (max > 0L) {
-            youmeiOffset.setOffset(max);
-            youmeiOffsetService.updateById(youmeiOffset);
-        }
+
         log.info("ES 入数据结束");
     }
 }

+ 1 - 2
src/main/java/com/sxtvs/open/core/conf/EsClientConfig.java

@@ -95,7 +95,7 @@ public class EsClientConfig  {
         return httpHosts;
     }
 
-    @Bean
+    //    @Bean
     public ElasticsearchClient clientByPasswd() throws Exception {
         ElasticsearchTransport transport = getElasticsearchTransport(username, passwd, toHttpHost());
         return new ElasticsearchClient(transport);
@@ -203,7 +203,6 @@ public class EsClientConfig  {
             @Override
             public void destroyObject(PooledObject<ElasticsearchClient> pooledObject) throws Exception {
                 ElasticsearchClient highLevelClient = pooledObject.getObject();
-
             }
         };
     }