Task <ISendTransport> CreateSendTransport(ISessionContextSupervisor sessionContextSupervisor, IFilter <SessionContext> configureTopologyFilter, string entityName, DestinationType destinationType) { var transport = new ActiveMqSendTransport(sessionContextSupervisor, configureTopologyFilter, entityName, destinationType); transport.Add(sessionContextSupervisor); _host.Add(transport); return(Task.FromResult <ISendTransport>(transport)); }
public Task <ISendTransport> GetPublishTransport <T>(Uri publishAddress) where T : class { IActiveMqMessagePublishTopology <T> publishTopology = _publishTopology.GetMessageTopology <T>(); var sendSettings = publishTopology.GetSendSettings(); IAgent <SessionContext> sessionAgent = GetSessionAgent(); var configureTopologyFilter = new ConfigureTopologyFilter <SendSettings>(sendSettings, publishTopology.GetBrokerTopology()); var sendTransport = new ActiveMqSendTransport(sessionAgent, configureTopologyFilter, sendSettings.EntityName, DestinationType.Topic); sendTransport.Add(sessionAgent); _host.Add(sendTransport); return(Task.FromResult <ISendTransport>(sendTransport)); }