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