Postanowiłem użyć Springowych stompowych websocketów i odkryłem, że jest dla mnie dość niewygodne.
Powstał mi taki zagmatwany kod: https://gitlab.com/wawer0123/pingpong/-/tree/main
i chciałbym go jakoś przemodelować tak by był czytelny.
Chodzi mi o stomp-pong
.
W skrócie:
W pakiecie com.training.stomp.pong.core.io
mamy:
- channel: każdy Channel definiuje jak połączyć się ze stompowych endpointem, jak dodać subskrypcje i jak reagować na sesję i wiadomości (
com.training.stomp.pong.core.io.channel.handler
). Mamy to zdefiniowany tylko 1PingPongStompChannel
. Jak byśmy chcieli dodać nowy to wystarczy dodać taką podobną nową klasę w tym pakiecie dziedziczącą poAbstractStompChannel
. - listener: odpala wszystkie Channele oraz reaguje na eventy połączenia i subskrypcji do endpointa
- sender: pozwala wybrać sobie kanał z dostępnych i wysłać na niego stompa
Jakieś sugestie?
Tylko nie piszcie tak, skasuj wszystko i nie pisz więcej w javie
bo będę płakać. ;)