コード例 #1
0
        /// <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());
        }
コード例 #2
0
        /// <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);
        }