代码优化
This commit is contained in:
4
pom.xml
4
pom.xml
@@ -191,11 +191,11 @@
|
||||
<version>30.1-jre</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<!--<dependency>
|
||||
<groupId>com.thomsonreuters.ema</groupId>
|
||||
<artifactId>ema</artifactId>
|
||||
<version>3.5.1.0</version>
|
||||
</dependency>
|
||||
</dependency>-->
|
||||
<dependency>
|
||||
<groupId>com.refinitiv.ema</groupId>
|
||||
<artifactId>ema</artifactId>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/*
|
||||
package cn.stock.market.listener;
|
||||
|
||||
import com.thomsonreuters.ema.access.AckMsg;
|
||||
@@ -79,8 +80,10 @@ public class AppClient implements OmmConsumerClient {
|
||||
messageFuture.complete(refreshMsg);
|
||||
}
|
||||
if(expectedItemCount.get()>1){
|
||||
/* System.out.println("监听的消息:"+refreshMsg.streamId()+","+refreshMsg.name()+
|
||||
",是否完成:"+refreshMsg.complete());*/
|
||||
*/
|
||||
/* System.out.println("监听的消息:"+refreshMsg.streamId()+","+refreshMsg.name()+
|
||||
",是否完成:"+refreshMsg.complete());*//*
|
||||
|
||||
RefreshMsg msg = EmaFactory.createRefreshMsg(refreshMsg);
|
||||
messages.put(refreshMsg.name()+"", msg); // 假设每个refreshMsg都有一个uniqueIdentifier方法
|
||||
if (messages.size() == expectedItemCount.get()) { // 使用get()获取当前值
|
||||
@@ -135,3 +138,4 @@ public class AppClient implements OmmConsumerClient {
|
||||
}
|
||||
// 其他消息处理...
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/*
|
||||
package cn.stock.market.listener;
|
||||
|
||||
import com.thomsonreuters.ema.access.AckMsg;
|
||||
@@ -17,10 +18,12 @@ import org.springframework.stereotype.Service;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
*/
|
||||
/**
|
||||
* @author gs
|
||||
* @date 2024/4/8 22:01
|
||||
*/
|
||||
*//*
|
||||
|
||||
@Service
|
||||
public class ConcurrentAppClient implements OmmConsumerClient {
|
||||
private final ConcurrentHashMap<String, CompletableFuture<RefreshMsg>> futures = new ConcurrentHashMap<>();
|
||||
@@ -73,3 +76,4 @@ public class ConcurrentAppClient implements OmmConsumerClient {
|
||||
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/*
|
||||
package cn.stock.market.listener;
|
||||
|
||||
import com.thomsonreuters.ema.access.EmaFactory;
|
||||
@@ -34,3 +35,4 @@ public class MyAppRunner implements ApplicationRunner {
|
||||
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -5,9 +5,9 @@ import cn.stock.market.domain.basic.entity.RetifiveStock;
|
||||
import cn.stock.market.dto.RetifiveStockInfo;
|
||||
import cn.stock.market.lesg.InstrumentData;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.thomsonreuters.ema.access.DataType;
|
||||
import com.thomsonreuters.ema.access.FieldEntry;
|
||||
import com.thomsonreuters.ema.access.FieldList;
|
||||
import com.refinitiv.ema.access.DataType;
|
||||
import com.refinitiv.ema.access.FieldEntry;
|
||||
import com.refinitiv.ema.access.FieldList;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.util.ReflectionUtils;
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/*
|
||||
package cn.stock.market.web;
|
||||
|
||||
import cn.stock.market.domain.basic.entity.RetifiveStock;
|
||||
@@ -97,7 +98,8 @@ public class MessageRetifiveController {
|
||||
}
|
||||
|
||||
|
||||
/* @GetMapping("/getStockInfoList")
|
||||
*/
|
||||
/* @GetMapping("/getStockInfoList")
|
||||
@Deprecated
|
||||
public ServerResponse<?> getStockInfoList() {
|
||||
ExecutorService executorService = Executors.newFixedThreadPool(5); // 创建一个固定大小的线程池
|
||||
@@ -146,7 +148,8 @@ public class MessageRetifiveController {
|
||||
}
|
||||
|
||||
return ServerResponse.createBySuccess("操作成功");
|
||||
}*/
|
||||
}*//*
|
||||
|
||||
|
||||
|
||||
@GetMapping("/testStockInfoList2")
|
||||
@@ -334,7 +337,8 @@ public class MessageRetifiveController {
|
||||
}
|
||||
|
||||
|
||||
/* void decode(FieldList fieldList)
|
||||
*/
|
||||
/* void decode(FieldList fieldList)
|
||||
{
|
||||
for (FieldEntry fieldEntry : fieldList)
|
||||
{
|
||||
@@ -377,7 +381,8 @@ public class MessageRetifiveController {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}*//*
|
||||
|
||||
|
||||
String decode1(FieldList fieldList,String name)
|
||||
{
|
||||
@@ -393,10 +398,12 @@ public class MessageRetifiveController {
|
||||
String symbol = fieldEntry.load().toString();
|
||||
if(!symbol.contains("blank data")){
|
||||
mongoTemplate.insert(new SymbolRefinitiv(symbol,"bse",name));
|
||||
/* RetifiveStock retifiveStockPO = new RetifiveStock();
|
||||
*/
|
||||
/* RetifiveStock retifiveStockPO = new RetifiveStock();
|
||||
retifiveStockPO.setSymbol(name);
|
||||
retifiveStockPO.setStockType("bse");
|
||||
retifiveStockService.repository().save(retifiveStockPO);*/
|
||||
retifiveStockService.repository().save(retifiveStockPO);*//*
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -552,18 +559,22 @@ public class MessageRetifiveController {
|
||||
}
|
||||
}
|
||||
|
||||
/*StockInfoRefinitiv stockInfoRefinitiv = new StockInfoRefinitiv();
|
||||
*/
|
||||
/*StockInfoRefinitiv stockInfoRefinitiv = new StockInfoRefinitiv();
|
||||
stockInfoRefinitiv.setStockName(stockName);
|
||||
stockInfoRefinitiv.setStockCode(stockCode);
|
||||
stockInfoRefinitiv.setStatus(status);
|
||||
stockInfoRefinitiv.setStockType("bse");
|
||||
stockInfoRefinitiv.setCommandStr(name);
|
||||
mongoTemplate.insert(stockInfoRefinitiv);*/
|
||||
mongoTemplate.insert(stockInfoRefinitiv);*//*
|
||||
|
||||
/* RetifiveStockInfo retifiveStockInfo = RetifiveStockInfo.builder().stockCode(stockCode).stockName(stockName).symbol(name).status(status)
|
||||
|
||||
*/
|
||||
/* RetifiveStockInfo retifiveStockInfo = RetifiveStockInfo.builder().stockCode(stockCode).stockName(stockName).symbol(name).status(status)
|
||||
.openPrice(openPrice).currentPrice(price).highPrice(high).lowPrice(low).previousPrice(previousPrice).changePercent(percentChange)
|
||||
.volume(volume).week52HighPrice(week52High).week52LowPrice(week52Low).stockType(stockType).changeValue(changeValue)
|
||||
.build();*/
|
||||
.build();*//*
|
||||
|
||||
|
||||
RetifiveStock retifiveStock = RetifiveStock.builder().stockType(stockType).saveTime(new Date()).isLock(0).isShow(0)
|
||||
.stockCode(stockCode).symbol(name).stockName(stockName).build();
|
||||
@@ -706,3 +717,4 @@ public class MessageRetifiveController {
|
||||
return itemNames;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -6,7 +6,6 @@ import cn.stock.market.domain.basic.service.RetifiveStockService;
|
||||
import cn.stock.market.dto.RetifiveStockHistoryResponse;
|
||||
import cn.stock.market.dto.RetifiveStockInfo;
|
||||
import cn.stock.market.lesg.RefinitivConsumer;
|
||||
import cn.stock.market.listener.AppClient;
|
||||
import cn.stock.market.utils.ServerResponse;
|
||||
import cn.stock.market.web.annotations.EncryptFilter;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -37,8 +36,6 @@ public class RefinitivApiController {
|
||||
|
||||
@Resource
|
||||
private RefinitivConsumer refinitivConsumer;
|
||||
@Resource
|
||||
private AppClient appClient;
|
||||
@Autowired
|
||||
private RetifiveStockService retifiveStockService;
|
||||
|
||||
@@ -57,9 +54,6 @@ public class RefinitivApiController {
|
||||
return ServerResponse.createBySuccess("操作成功", retifiveStockInfo);
|
||||
} catch (Exception e) {
|
||||
log.error("获取股票详情link:" + symbol, e);
|
||||
} finally {
|
||||
// 可能需要重置或清理资源
|
||||
appClient.resetMessageFuture();
|
||||
}
|
||||
|
||||
return ServerResponse.createBySuccess("操作成功");
|
||||
|
||||
Reference in New Issue
Block a user