private XmsPooledConsumer PlainProducerFactory(Pool<XmsPooledConsumer> pool, XmsDestination destination) { log.Info("Going to create new plain consumer for destination {0}".FormatWith(destination)); var producer = new XmsConsumer(destination, transactional); var pooled = new XmsPooledConsumer(pool, producer); return pooled; }
private Pool<XmsPooledConsumer> CreatePool(XmsAddress address) { log.Info("Going to create new consumer pool for address {0}".FormatWith(address)); //TODO: make this configurable var store = new StackStore<XmsPooledConsumer>(60.Seconds(), 30.Seconds()); var pool = new Pool<XmsPooledConsumer>(10, p => { log.Info("Going to create new plain consumer for address {0}".FormatWith(address)); var consumer = new XmsConsumer(address, transactional); var pooled = new XmsPooledConsumer(p, consumer); return pooled; }, store); return pool; }
private XmsPooledConsumer CreateFailingStub(Pool<XmsPooledConsumer> pool) { var producer = new XmsConsumerStub().StubReceiveNoWait(() => { throw new TestException(); }); var pooled = new XmsPooledConsumer(pool, producer); return pooled; }