public ISession CreateSession(AcknowledgementMode acknowledgementMode) { CheckClosedOrFailed(); CreateNmsConnection(); NmsSession session = new NmsSession(this, SessionIdGenerator.GenerateId(), acknowledgementMode) { SessionInfo = { requestTimeout = ConnectionInfo.requestTimeout } }; try { session.Begin().ConfigureAwait(false).GetAwaiter().GetResult(); sessions.TryAdd(session.SessionInfo.Id, session); if (started) { session.Start(); } return(session); } catch (NMSException) { throw; } catch (Exception ex) { throw ExceptionSupport.Wrap(ex, "Failed to establish amqp Session."); } }
protected NmsMessageConsumer(NmsConsumerId consumerId, NmsSession session, IDestination destination, string name, string selector, bool noLocal) { Session = session; acknowledgementMode = session.AcknowledgementMode; if (destination.IsTemporary) { session.Connection.CheckConsumeFromTemporaryDestination((NmsTemporaryDestination)destination); } Info = new NmsConsumerInfo(consumerId) { Destination = destination, Selector = selector, NoLocal = noLocal, SubscriptionName = name, LocalMessageExpiry = Session.Connection.ConnectionInfo.LocalMessageExpiry, IsDurable = IsDurableSubscription }; deliveryTask = new MessageDeliveryTask(this); Session.Connection.CreateResource(Info).ConfigureAwait(false).GetAwaiter().GetResult(); Session.Add(this); if (Session.IsStarted) { Start(); } }
public async Task <ISession> CreateSessionAsync(AcknowledgementMode acknowledgementMode) { CheckClosedOrFailed(); await CreateNmsConnectionAsync().Await(); NmsSession session = new NmsSession(this, GetNextSessionId(), acknowledgementMode); try { await session.Begin().Await(); sessions.TryAdd(session.SessionInfo.Id, session); if (started) { session.Start(); } return(session); } catch (NMSException) { throw; } catch (Exception ex) { throw ExceptionSupport.Wrap(ex, "Failed to establish amqp Session."); } }
public NmsMessageConsumer(Id consumerId, NmsSession session, IDestination destination, string name, string selector, bool noLocal) { Session = session; acknowledgementMode = session.AcknowledgementMode; if (destination.IsTemporary) { session.Connection.CheckConsumeFromTemporaryDestination((NmsTemporaryDestination)destination); } Info = new ConsumerInfo(consumerId, Session.SessionInfo.Id) { Destination = destination, Selector = selector, NoLocal = noLocal, SubscriptionName = name, LocalMessageExpiry = Session.Connection.ConnectionInfo.LocalMessageExpiry }; deliveryTask = new MessageDeliveryTask(this); if (Session.IsStarted) { Start(); } }
internal NmsMessageProducer(NmsProducerId producerId, NmsSession session, IDestination destination) { this.session = session; Info = new NmsProducerInfo(producerId) { Destination = destination }; }
public NmsMessageProducer(Id producerId, NmsSession session, IDestination destination) { this.session = session; Info = new ProducerInfo(producerId, session.SessionInfo.Id) { Destination = destination }; }
public NmsMessageProducer(NmsProducerId producerId, NmsSession session, IDestination destination) { this.session = session; Info = new NmsProducerInfo(producerId) { Destination = destination }; session.Connection.CreateResource(Info).ConfigureAwait(false).GetAwaiter().GetResult(); session.Add(this); }
protected NmsMessageConsumer(NmsConsumerId consumerId, NmsSession session, IDestination destination, string name, string selector, bool noLocal) { Session = session; acknowledgementMode = session.AcknowledgementMode; if (destination.IsTemporary) { session.Connection.CheckConsumeFromTemporaryDestination((NmsTemporaryDestination)destination); } Info = new NmsConsumerInfo(consumerId) { Destination = destination, Selector = selector, NoLocal = noLocal, IsExplicitClientId = Session.Connection.ConnectionInfo.IsExplicitClientId, SubscriptionName = name, IsShared = IsSharedSubscription, IsDurable = IsDurableSubscription, IsBrowser = IsBrowser, LocalMessageExpiry = Session.Connection.ConnectionInfo.LocalMessageExpiry }; deliveryTask = new MessageDeliveryTask(this); }
public NmsDurableTopicSubscriber(Id consumerId, NmsSession session, IDestination destination, string name, string selector, bool noLocal) : base(consumerId, session, destination, name, selector, noLocal) { }
public NmsDurableMessageConsumer(NmsConsumerId consumerId, NmsSession session, IDestination destination, string name, string selector, bool noLocal) : base(consumerId, session, destination, name, selector, noLocal) { }
public NmsMessageConsumer(NmsConsumerId consumerId, NmsSession session, IDestination destination, string selector, bool noLocal) : this(consumerId, session, destination, null, selector, noLocal) { }
public NmsLocalTransactionContext(NmsSession session) { this.session = session; this.connection = session.Connection; }
public NmsNoTxTransactionContext(NmsSession session) { this.session = session; }
public NmsQueueBrowser(NmsSession session, IQueue destination, string selector) { this.session = session; this.destination = destination; this.selector = selector; }
public NmsAcknowledgeCallback(NmsSession session, InboundMessageDispatch envelope = null) { this.session = session; this.envelope = envelope; }