-
Notifications
You must be signed in to change notification settings - Fork 35
Description
Test case TradeChannelMessageHandler.java
String received
"topic": "publicTrade.BTCUSDT",
"type": "snapshot",
"ts": 1734615781304,
"data": [
{
"T": 1734615781303,
"s": "BTCUSDT",
"S": "Sell",
"v": "0.014",
"p": "101638.40",
"L": "MinusTick",
"i": "b2a011ab-71d7-5786-8034-85469240d622",
"BT": false
}
]
}
After conevrsion with Lombok:
id=null,
topic=publicTrade.BTCUSDT,
type=snapshot,
ts=1734615781304,
data=[
TradeData(
T=null,
s=BTCUSDT,
S=BTCUSDT,
v=0.014,
p=101638.40,
L=null,
i=b2a011ab-71d7-5786-8034-85469240d622,
BT=null
)])
Removing @Data and just making fields public:
id='null',
topic='publicTrade.BTCUSDT',
type='snapshot',
ts=1734615781304,
data=[
TradeDataNoLombok{
T=1734615781303,
s='BTCUSDT',
S='Sell',
v='0.014',
p='101638.40',
L='MinusTick',
i='b2a011ab-71d7-5786-8034-85469240d622',
BT=false
}]}
`message {"topic":"publicTrade.BTCUSDT","type":"snapshot","ts":1734615781304,"data":[{"T":1734615781303,"s":"BTCUSDT","S":"Sell","v":"0.014","p":"101638.40","L":"MinusTick","i":"b2a011ab-71d7-5786-8034-85469240d622","BT":false}]}
lombok: WebSocketTradeMessage(id=null, topic=publicTrade.BTCUSDT, type=snapshot, ts=1734615781304, data=[TradeData(T=null, s=BTCUSDT, S=BTCUSDT, v=0.014, p=101638.40, L=null, i=b2a011ab-71d7-5786-8034-85469240d622, BT=null)])
tradeData No Lombok WebSocketTradeMessageNoLombok{id='null', topic='publicTrade.BTCUSDT', type='snapshot', ts=1734615781304, data=[TradeDataNoLombok{T=1734615781303, s='BTCUSDT', S='Sell', v='0.014', p='101638.40', L='MinusTick', i='b2a011ab-71d7-5786-8034-85469240d622', BT=false}]}
`
Consider removing Lombok dependency at some point, form my experience with trading apis it is always a layer for another bug. Jackson is superior and fast with pojos without Lombok assumptions.