Commit 7e75ccec by qiuchaofei

1,异步迁移元数据mongo--》neo4j

parent 1a8c3783
...@@ -16,6 +16,7 @@ import com.keymobile.metadata.metadataRelation.pojo.returnBean.Edge; ...@@ -16,6 +16,7 @@ import com.keymobile.metadata.metadataRelation.pojo.returnBean.Edge;
import com.keymobile.metadata.metadataRelation.pojo.returnBean.MetaModel; import com.keymobile.metadata.metadataRelation.pojo.returnBean.MetaModel;
import com.keymobile.metadata.metadataRelation.pojo.returnBean.Node; import com.keymobile.metadata.metadataRelation.pojo.returnBean.Node;
import com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnReslult; import com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnReslult;
import com.keymobile.metadata.metadataRelation.service.AsyncDataFromMongoToNeo4j;
import com.keymobile.metadata.metadataRelation.service.IBaseRelationshipService; import com.keymobile.metadata.metadataRelation.service.IBaseRelationshipService;
import com.keymobile.metadata.metadataRelation.service.IMetadataService; import com.keymobile.metadata.metadataRelation.service.IMetadataService;
import com.keymobile.metadata.metadataRelation.service.impl.MongoDbServiceImpl; import com.keymobile.metadata.metadataRelation.service.impl.MongoDbServiceImpl;
...@@ -44,6 +45,8 @@ public class MetaDataController { ...@@ -44,6 +45,8 @@ public class MetaDataController {
private IMetadataService metadataService; private IMetadataService metadataService;
@Autowired @Autowired
private AsyncDataFromMongoToNeo4j asyncDataFromMongoToNeo4j;
@Autowired
private MongoDbServiceImpl mongoDbService; private MongoDbServiceImpl mongoDbService;
@Autowired @Autowired
...@@ -486,17 +489,17 @@ public class MetaDataController { ...@@ -486,17 +489,17 @@ public class MetaDataController {
/** /**
* 同步元数据关系的接口,传入一个环境名称(catalognName),从mongo读取关系,存入到neo4j中 * 同步元数据关系的接口,传入一个环境名称(catalognName),从mongo读取关系,存入到neo4j中
* * 异步处理,
* @return * @return
*/ */
@ApiOperation(tags = "", value = "同步元数据关系的接口") @ApiOperation(tags = "", value = "同步元数据关系的接口")
@RequestMapping(path = "/syschroRelationFromMongo", method = RequestMethod.GET) @RequestMapping(path = "/syschroRelationFromMongo", method = RequestMethod.GET)
public String syschroRelationFromMongo(String catalogName) { public String synchroRelationFromMongo(String catalogName) {
logger.info("开始同步元数据:从mongo到neo4j"); logger.info("开始异步迁移元数据:从mongo到neo4j");
String flag = "success"; String flag = "success";
metadataService.syschroRelationFromMongo(catalogName); asyncDataFromMongoToNeo4j.asyncDataFromMongoToNeo4j(catalogName);
metadataService.deleteTempNodeByCatalogName(catalogName);
metadataService.createTempNode(catalogName); logger.info("返回结果,后台继续运行。");
return flag; return flag;
} }
......
package com.keymobile.metadata.metadataRelation.service;
import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.AsyncConfigurer;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Service;
import java.lang.reflect.Method;
import java.util.concurrent.Executor;
@Service
@EnableAsync
public class AsyncDataFromMongoToNeo4j {
@Autowired
private IMetadataService metadataService;
@Async
public void asyncDataFromMongoToNeo4j(String catalogName) {
metadataService.syschroRelationFromMongo(catalogName);
metadataService.deleteTempNodeByCatalogName(catalogName);
metadataService.createTempNode(catalogName);
}
}
...@@ -458,8 +458,7 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -458,8 +458,7 @@ public class MetadataServiceImpl implements IMetadataService {
long starttime = System.currentTimeMillis(); long starttime = System.currentTimeMillis();
StatementResult result = session.run(cypher); StatementResult result = session.run(cypher);
long endtime = System.currentTimeMillis();
logger.info("查询:"+cypher+", 耗时:"+(endtime-starttime));
int count = 0; int count = 0;
while(result.hasNext()){ while(result.hasNext()){
...@@ -482,6 +481,9 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -482,6 +481,9 @@ public class MetadataServiceImpl implements IMetadataService {
} }
} }
} }
long endtime = System.currentTimeMillis();
logger.info("模糊查找结束,返回数量:" + metadataId2Name.size()+",耗时:"+(endtime-starttime));
return metadataId2Name; return metadataId2Name;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment