NServiceBus will automatically request the transport to create queues needed if the installers are enabled. This also includes queues needed by all declared satellites. Prefer the use of scripts to create custom queues instead of relying on interfaces provided by NServiceBus.
The scripting guidelines shows how to take full control over queue creation:
Declaration
Queues should be declared during the Setup phase of a Feature.
A built-in example is the audit feature which needs the audit queue. During start-up NServiceBus ensures the declared queues are present and aborts the start-up procedure if they are not (with an exception of MSMQ remote queues which are optional).
public class FeatureThatRequiresAQueue :
Feature
{
protected override void Setup(FeatureConfigurationContext context)
{
var queueBindings = context.Settings.Get<QueueBindings>();
queueBindings.BindReceiving("someQueue");
}
}
Creation
Queues are created only during installation.