public Session(Connection connection, SessionId sessionId, AcknowledgementMode acknowledgementMode) { this.info = new SessionInfo(); this.info.SessionId = sessionId; this.connection = connection; this.connection.Oneway(this.info); this.acknowledgementMode = acknowledgementMode; this.requestTimeout = connection.RequestTimeout; this.dispatchAsync = connection.DispatchAsync; this.transactionContext = new TransactionContext(this); Uri brokerUri = connection.BrokerUri; // Set propertieDs on session using parameters prefixed with "session." if (!String.IsNullOrEmpty(brokerUri.Query) && !brokerUri.OriginalString.EndsWith(")")) { string query = brokerUri.Query.Substring(brokerUri.Query.LastIndexOf(")") + 1); StringDictionary options = URISupport.ParseQuery(query); options = URISupport.GetProperties(options, "session."); URISupport.SetProperties(this, options); } this.ConsumerTransformer = connection.ConsumerTransformer; this.ProducerTransformer = connection.ProducerTransformer; this.executor = new SessionExecutor(this, this.consumers); if (connection.IsStarted) { this.Start(); } connection.AddSession(this); }
public Session(Connection connection, SessionId sessionId, AcknowledgementMode acknowledgementMode) { this.info = new SessionInfo(); this.info.SessionId = sessionId; this.connection = connection; this.connection.Oneway(this.info); this.acknowledgementMode = acknowledgementMode; this.requestTimeout = connection.RequestTimeout; this.dispatchAsync = connection.DispatchAsync; this.transactionContext = new TransactionContext(this); Uri brokerUri = connection.BrokerUri; // Set propertieDs on session using parameters prefixed with "session." if(!String.IsNullOrEmpty(brokerUri.Query) && !brokerUri.OriginalString.EndsWith(")")) { string query = brokerUri.Query.Substring(brokerUri.Query.LastIndexOf(")") + 1); StringDictionary options = URISupport.ParseQuery(query); options = URISupport.GetProperties(options, "session."); URISupport.SetProperties(this, options); } this.ConsumerTransformer = connection.ConsumerTransformer; this.ProducerTransformer = connection.ProducerTransformer; this.executor = new SessionExecutor(this, this.consumers); if(connection.IsStarted) { this.Start(); } connection.AddSession(this); }