public IMessageProducer CreateProducer(IDestination destination) { MessageProducer producer = null; try { ActiveMQDestination dest = null; if (destination != null) { dest = ActiveMQDestination.Transform(destination); } producer = DoCreateMessageProducer(GetNextProducerId(), dest); producer.ProducerTransformer = this.ProducerTransformer; this.AddProducer(producer); this.Connection.Oneway(producer.ProducerInfo); } catch (Exception) { if (producer != null) { this.RemoveProducer(producer.ProducerId); producer.Close(); } throw; } return(producer); }
public IMessageProducer CreateProducer(IDestination destination) { ProducerInfo command = CreateProducerInfo(destination); ProducerId producerId = command.ProducerId; MessageProducer producer = null; try { producer = new MessageProducer(this, command); producers[producerId] = producer; this.connection.Oneway(command); } catch (Exception) { if (producer != null) { producer.Close(); } throw; } // Registered with Connection so it can process Producer Acks. connection.addProducer(producerId, producer); return(producer); }
public IMessageProducer CreateProducer(IDestination destination) { ProducerInfo command = CreateProducerInfo(destination); ProducerId producerId = command.ProducerId; MessageProducer producer = null; try { producer = new MessageProducer(this, command); producers[producerId] = producer; this.DoSend(command); } catch (Exception) { if (producer != null) { producer.Close(); } throw; } return(producer); }
public void Close() { producer.Close(); }
public IMessageProducer CreateProducer(IDestination destination) { MessageProducer producer = null; try { ActiveMQDestination dest = null; if(destination != null) { dest = ActiveMQDestination.Transform(destination); } producer = new MessageProducer(this, GetNextProducerId(), dest, this.RequestTimeout); producer.ProducerTransformer = this.ProducerTransformer; this.AddProducer(producer); this.Connection.Oneway(producer.ProducerInfo); } catch(Exception) { if(producer != null) { this.RemoveProducer(producer.ProducerId); producer.Close(); } throw; } return producer; }