public RabbitMQServiceBus(
     IConnectionFactory connectionFactory,
     IQueueNameStrategy queueNameStrategy,
     ISerialisationStrategy serialisationStrategy,
     IMessageProcessor messageProcessor)
 {
     _queueNameStrategy     = queueNameStrategy;
     _serialisationStrategy = serialisationStrategy;
     _messageProcessor      = messageProcessor;
     _publishConnection     = new Lazy <IConnection>(connectionFactory.CreateConnection, LazyThreadSafetyMode.PublicationOnly);
     _consumeConnection     = new Lazy <IConnection>(connectionFactory.CreateConnection, LazyThreadSafetyMode.PublicationOnly);
     // TODO: Is 10 enough? Add to config
     _publishChannels = new ResourcePool <IModel>(10, () => _publishConnection.Value.CreateModel());
     _queueManager    = new QueueManager();
 }
 public Resource(ResourcePool <TResource> resourcePool, TResource value)
 {
     _resourcePool = resourcePool;
     Value         = value;
 }