Hi,
I was playing around with GRPC for a talk next month and made a mistake
that threw me a little bit and wanted to share it here to see if we can
do something about it.
My demo uses GRPC and Infinispan embedded cache (9.2.0.CR1), so I added
my GRPC dependencies and Infinispan bom dependency [1].
This combo resulted in breaking my GRPC demos.
The bom imports Netty 4.1.9.Final while GRPC requires 4.1.17.Final. The
dependency tree showed GRPC using 4.1.9.Final which lead to the
failure. This failure does not seem present in 4.1.17.Final.
Should we have an embedded bom where no client libraries are depended
upon? This would work for my particular use case...
However, someone might develop a GRPC server (which I *think* it still
requires netty) and they could then use Infinispan remote client to
bridge over to Infinispan sever. For example: this could be way to move
clients over a new client while other clients use an older protocol.
How should a user solve this clash? I can only see exclusions and
depending on latest Netty version as solution. Any other solutions
though?
Cheers,
[1]
https://gist.github.com/galderz/300cc2708eab76b9861985c216b90136