/// <summary> /// Creates a send only bus factory from the configuration /// </summary> /// <param name="configuration">Configuration to build from</param> /// <returns>Factory for building send only buses</returns> public static Func <IBus> CreateSendOnlyBusFactory(this IBusConfiguration configuration) { configuration.RunGeneralConfigurationValidation(); if (configuration.Send == null) { throw new JungleBusConfigurationException("Send", "Sending has not been configured for this bus"); } JungleBus jungleBus = new JungleBus(configuration); return(() => jungleBus.CreateSendBus()); }
/// <summary> /// Construct the bus /// </summary> /// <param name="configuration">Configuration to build from</param> /// <returns>Created bus</returns> public static IRunJungleBus CreateStartableBus(this IBusConfiguration configuration) { configuration.RunGeneralConfigurationValidation(); if (configuration.Receive == null) { throw new JungleBusConfigurationException("Receive", "Receive has not been configured for this bus"); } if (configuration.Receive != null) { configuration.ObjectBuilder.RegisterType(typeof(IMessageParser), typeof(MessageParser)); configuration.Receive.InputQueue.MessageParser = configuration.ObjectBuilder.GetValue <IMessageParser>(); } JungleBus jungleBus = new JungleBus(configuration); return(jungleBus); }