private XmsPooledProducer CreateFailingStub(Pool<XmsPooledProducer> pool)
 {
     var producer = MockRepository.GenerateStub<IXmsProducer>();
     producer.Stub(x => x.Send(Arg<IBM.XMS.IMessage>.Is.Anything)).Throw(new TestException());
     var pooled = new XmsPooledProducer(pool, producer);
     return pooled;
 }
 private XmsPooledProducer PlainProducerFactory(Pool<XmsPooledProducer> pool, XmsDestination destination)
 {
     log.Info("Going to create new plain producer for destination {0}".FormatWith(destination));
     var producer = new XmsProducer(destination, transactional);
     var pooled = new XmsPooledProducer(pool, producer);
     return pooled;
 }
 private Pool<XmsPooledProducer> CreatePool(XmsAddress address)
 {
     log.Info("Going to create new producer pool for address {0}".FormatWith(address));
     //TODO: make this configurable
     var store = new StackStore<XmsPooledProducer>(60.Seconds(), 30.Seconds());
     var pool = new Pool<XmsPooledProducer>(10, p =>
         {
             log.Info("Going to create new plain producer for address {0}".FormatWith(address));
             var producer = new XmsProducer(address, transactional);
             var pooled = new XmsPooledProducer(p, producer);
             return pooled;
         }, store);
     return pool;
 }
 private XmsPooledProducer CreateFailingStub(Pool<XmsPooledProducer> pool)
 {
     var producer = new XmsProducerStub().StubSend(m => { throw new TestException(); });
     var pooled = new XmsPooledProducer(pool, producer);
     return pooled;
 }