RabbitMQ stream-based client for Scala built on top of Fs2 and Cats Effect -> https://fs2-rabbit.profunktor.dev/
mergify[bot] on master
Update zio to 1.0.6 Merge pull request #531 from sc… (compare)
mergify[bot] on master
Update amqp-client to 5.12.0 Merge pull request #529 from sc… (compare)
mergify[bot] on master
Update metrics-core, metrics-jm… Merge pull request #528 from sc… (compare)
mergify[bot] on master
Update sbt to 1.5.0 Merge pull request #527 from sc… (compare)
mergify[bot] on master
Update scalatest to 3.2.7 Merge pull request #525 from sc… (compare)
@data
case class replacement library for helping with binary compat but I don't really want to add the dep
Where does the release thing happen?
I did the release on github and I don't see a new build in here: https://github.com/profunktor/fs2-rabbit/actions
v3.0.1
is on its way to Maven Central: https://github.com/profunktor/fs2-rabbit/runs/1270696103
While googling, I encountered several recommendations, that it's better to share connections, because they are expensive to create.
For example this article mentions, that 13 Tcp packets are used to establish a connection+channel
https://www.cloudamqp.com/blog/2018-01-19-part4-rabbitmq-13-common-errors.html
cats.effect.Resource
gives you fine-grained control over your resource, in this case, the RabbitMQ connection
use { ... }
block, which delimits the resource lifetime
Indeed, within .use { ... }
and Stream.resource
this resource will be used, but if an error occures, I should reopen a connection and use the reopened connection in subsequent actions(just like ResilientStream in resilency package).
And I thought that logic of acquiring the connection should be encapsulated somewhere in ConnectionProvider.
Thanks! I'll watch the video and read the article thoroughly!
Hello guys. I have just integrated fs2-rabbit into my app and there is some kind of weird behavior about it.
Basically, the consumer app I created behaves like that:
My RabbitMQ knowledge is very little, that's why I do not know where I should look for a problem. Is it some kind of a common issue? Should I investigate the library code and try to tune the client settings? Or maybe I should just connect to my app with VisualVM because my code does some strange stuff (the app is rather simple though)