Currently the only way to add new Transports to the Apache.NMS.ActiveMQ.Transport.TransportFactory is to hard code the mapping between the uri scheme and the ITransportFactory that is used to create transports of the scheme type. This makes it difficult to add new transports or to inject new ones in the tests library for instance. It would be nice if there was a way to register new TransportFactory mappings or even better to have the TransportFactory dynamically discover them.
One option is to just add a RegisterTransportFactory method that takes a scheme and the name or type of a class that can later be created when a new ConnectionFactory is instantiated.
Another options might be to embed the information needed to map a scheme to an ITransportFactory in the Resources of an assenbly and have the TransportFactory enumerate the loaded assembles to attempt to find that information.