//martin--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To post to this group, send email to masstrans...@googlegroups.com.
To unsubscribe from this group, send email to masstransit-dis...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/masstransit-discuss?hl=en.
--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To view this discussion on the web visit https://groups.google.com/d/msg/masstransit-discuss/-/go9SSj5O0nwJ.
public class WindsorConsumerFactoryConfigurator {
readonly SubscriptionBusServiceConfigurator _configurator;
readonly IWindsorContainer _container;
public WindsorConsumerFactoryConfigurator(SubscriptionBusServiceConfigurator configurator, IWindsorContainer container) {
_container = container;
_configurator = configurator;
}
public void ConfigureConsumer(Type messageType) {
this.FastInvoke(new[] { messageType }, "Configure");
}
public void Configure<T>() where T : class, IConsumer {
_configurator.Consumer(new WindsorConsumerFactory<T>(_container));
}
}
public static void CreateMasstransitConsumersFromContainer(this SubscriptionBusServiceConfigurator configurator, IWindsorContainer container)
{
if (configurator == null)
{
throw new ArgumentNullException("configurator");
}
if (container == null)
{
throw new ArgumentNullException("container");
}
var consumerTypes = container.FindTypes<IConsumer>(x => x.Implements<ISaga>() == false);
if (consumerTypes.Count > 0)
{
var consumerConfigurator = new ElevateWindsorConsumerFactoryConfigurator(configurator, container);
foreach (var type in consumerTypes)
{
consumerConfigurator.ConfigureConsumer(type);
}
}
var sagaTypes = container.FindTypes<ISaga>(x => true);
if (sagaTypes.Count > 0)
{
var sagaConfigurator = new WindsorSagaFactoryConfigurator(configurator, container);
foreach (Type type in sagaTypes)
{
sagaConfigurator.ConfigureSaga(type);
To post to this group, send email to masstransit-discuss@googlegroups.com.
To unsubscribe from this group, send email to masstransit-discuss+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/masstransit-discuss/-/Sh31q3Tm168J.
To post to this group, send email to masstrans...@googlegroups.com.
To unsubscribe from this group, send email to masstransit-dis...@googlegroups.com.
You are in a serialized scope there. Intentional?
--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
You're looking way to deep into MT to implement what you want.
You need to be looking at the OutboundPipeline to apply that type of behavior. And things like ordering and such at the level you're suggesting is going to ultimately fail due to lack of memory, threads, and all sorts of nasty things.
Ordering is an application level concern, not a messaging transport level concern.
Transactions are at the transport level (which is why transaction scopes are created before the message is read from the queue). If you need to apply a transaction at the receiver level of the transport for all consumers on something like RabbitMQ that doesn't support transactions, you could decorate the endpoint with a transactional endpoint that would simulate the transaction. But that will likely fail at some point as well since RabbitMQ is not transactional.
//martin
To unsubscribe from this group, send email to masstransit-discuss+unsub...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/masstransit-discuss?hl=en.
--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To post to this group, send email to masstrans...@googlegroups.com.
To unsubscribe from this group, send email to masstransit-discuss+unsub...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/masstransit-discuss?hl=en.
--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To post to this group, send email to masstrans...@googlegroups.com.
To unsubscribe from this group, send email to masstransit-discuss+unsub...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To post to this group, send email to masstrans...@googlegroups.com.
To unsubscribe from this group, send email to masstransit-discuss+unsub...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To post to this group, send email to masstrans...@googlegroups.com.
To unsubscribe from this group, send email to masstransit-discuss+unsub...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To post to this group, send email to masstrans...@googlegroups.com.
To unsubscribe from this group, send email to masstransit-discuss+unsub...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To post to this group, send email to masstrans...@googlegroups.com.
To unsubscribe from this group, send email to masstransit-discuss+unsub...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To post to this group, send email to masstrans...@googlegroups.com.
To unsubscribe from this group, send email to masstransit-discuss+unsub...@googlegroups.com.