On 26/03/2024 21:43, Justin Bertram wrote:
> I've not dabbled much in this code, but I believe at the very least you can
> use
> org.apache.activemq.artemis.protocol.amqp.broker.ProtonProtocolManager#setSaslMechanisms
> to pass in your own list which will override what's found via the
> MechanismFinder.

I've started work on making the MechanismFinder something that can be
passed in by a caller instead of being this unconditional global thing.

https://github.com/io7m/activemq-artemis/tree/feature/mechanism-finder

Unfortunately, I've reached the point where I don't know what the
expected way would be to pass in a mechanism finder. Essentially,
the ProtonProtocolManager now takes a SASLMechanismFinder
implementation. A default implementation is provided that reads
everything from ServiceLoader as normal. You can see that the
ProtonProtocolManager is instantiated in the createProtocolManager()
method of the ProtonProtocolManagerFactory class. Unfortunately, this
method is part of an existing SPI interface, and it's not clear to me
if I would need to extend this interface with another parameter, or if
there's some other way to pass in the SASLMechanismFinder instance.

I'd appreciate some implementation guidance, if possible!

-- 
Mark Raynsford | https://www.io7m.com

Reply via email to