[prev in list] [next in list] [prev in thread] [next in thread] 

List:       activemq-dev
Subject:    Re: MechanismFinder
From:       org.apache.activemq () io7m ! com
Date:       2024-04-25 19:50:39
Message-ID: 555a57fd-a4c3-43aa-8292-17223fddb6aa () io7m ! com
[Download RAW message or body]

On 21/04/2024 16:22, org.apache.activemq@io7m.com wrote:
> 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.

Given the lack of response, I'm going to assume that the way to proceed
would be to create an artemis-sasl module and move all of the SASL types
and interfaces into it, and then make the server module depend on it so
that those types can appear in the SPI interfaces.

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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic