public void Send(TransportMessage message, Address address) { var transactionManager = new OracleTransactionManager(this.ConnectionString); transactionManager.RunInTransaction(c => { // Set the time from the source machine when the message was sent OracleAQQueue queue = new OracleAQQueue(address.Queue, c, OracleAQMessageType.Xml); queue.EnqueueOptions.Visibility = OracleAQVisibilityMode.OnCommit; using (var stream = new MemoryStream()) { this.SerializeToXml(message, stream); OracleAQMessage aqMessage = new OracleAQMessage(Encoding.UTF8.GetString(stream.ToArray())); aqMessage.Correlation = message.CorrelationId; queue.Enqueue(aqMessage); } }); }
public void Init(Address address, bool transactional) { transactionManager = new OracleTransactionManager(ConnectionString); this.address = address; }
private OracleTransactionManager GetTransactionManager() { if (null == transactionManager) transactionManager = new OracleTransactionManager(ConnectionString); return transactionManager; }