Учу жава и спринг, за одно хочу нарисовать торгового бота для бинанса. подключил их <artifactId>binance-connector-java</artifactId>, сделал @Service, в нем AtomicInteger ethPrice
wsStreamClient.aggTradeStream(coinName,((message) -> {
JSONObject obj = new JSONObject(message);
String price = obj.getString("p");
var decimalPrice = Double.valueOf(price)* 10000;
ethPrice.set((int) decimalPrice);
}));
планирую в эту же конструкцию тригеры на минимальную и максимальную цену затолкнуть и тоже в AtomicBoolean стримить флаги. тригер будет запускать через @Async логику которая подождет пару секунд не сменился ли флаг назад и что-нибудь предпримет.
на сколько подход разумен, писать стрим в атомик переменные и потом в отдельных тредах их читать в процессе выполнения логики тригеров ? я смотрю там трафик нехилый.