public DependencyResolver(IWindsorContainer container, ActorSystem system) { _container = container; _system = system; _typeCache = new ConcurrentDictionary <string, Type>(StringComparer.InvariantCultureIgnoreCase); _system.AddDependencyResolver(this); }
/// <summary> /// Initializes a new instance of the <see cref="ServiceProviderDependencyResolver"/> class. /// </summary> /// <param name="serviceProvider">The container used to resolve references.</param> /// <param name="system">The actor system to plug into.</param> /// <exception cref="ArgumentNullException"> /// Either the <paramref name="serviceProvider"/> or the <paramref name="system"/> was null. /// </exception> public ServiceProviderDependencyResolver(IServiceProvider serviceProvider, ActorSystem system) { Requires.NotNull(serviceProvider, nameof(serviceProvider)); Requires.NotNull(system, nameof(system)); _serviceProvider = serviceProvider; _system = system; system.AddDependencyResolver(this); }
public AkkaServiceProviderDependencyResolver( ServiceProvider serviceProvider, ActorSystem actorSystem) { _container = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider)); _actorSystem = actorSystem; _actorSystem.AddDependencyResolver(this); }
/// <summary> /// Create a new <see cref="MicrosoftDependencyResolver"/>. /// </summary> /// <param name="scopeFactory"> /// A factory for actor-level dependency injection scopes. /// </param> /// <param name="system"> /// The <see cref="ActorSystem"/> for which dependency resolution is being provided. /// </param> public MicrosoftDependencyResolver(IServiceScopeFactory scopeFactory, ActorSystem system) { _system = system ?? throw new ArgumentNullException(nameof(system)); _scopeFactory = scopeFactory ?? throw new ArgumentNullException(nameof(scopeFactory)); _system.AddDependencyResolver(this); _typeCache = new ConcurrentDictionary <string, Type>(StringComparer.OrdinalIgnoreCase); _references = new ConditionalWeakTable <ActorBase, IServiceScope>(); }
/// <summary> /// Start the provisioning actor system. /// </summary> /// <param name="scopeFactory"> /// A factory for actor-level dependency injection scopes. /// </param> /// <returns> /// The configured <see cref="ActorSystem"/>. /// </returns> public static ActorSystem Up(IServiceScopeFactory scopeFactory) { ActorSystem system = ActorSystem.Create("daas-demo", BaseConfiguration); system.AddDependencyResolver( new MedDependencyResolver(system, scopeFactory) ); return(system); }
public SimpleInjectorDependencyResolver(Container container, ActorSystem actorSystem) { _container = container ?? throw new ArgumentNullException(nameof(container)); _actorSystem = actorSystem ?? throw new ArgumentNullException(nameof(actorSystem)); _actorSystem.AddDependencyResolver(this); _typeCache = new ConcurrentDictionary <string, Type>(StringComparer.OrdinalIgnoreCase); _references = new ConditionalWeakTable <ActorBase, SI.Scope>(); }
public static ActorSystem RegisterDependencyResolver( this ActorSystem actorSystem, IServiceProvider serviceProvider) { var factoryScope = serviceProvider.GetRequiredService <IServiceScopeFactory>(); var resolver = new MicrosoftDependencyResolver(factoryScope, actorSystem); actorSystem.AddDependencyResolver(resolver); actorSystem.RegisterExtension(new ServiceProviderExtension(new ServiceProviderHolder(serviceProvider))); return(actorSystem); }
private static void CreateAndRegisterActors(IContainer container, ActorSystem system) { var propsResolver = new AutoFacDependencyResolver(container, system); system.AddDependencyResolver(propsResolver); var builder = new ContainerBuilder(); var actorSystemAdapter = container.Resolve<IActorSystemAdapter>(new TypedParameter(typeof(ActorSystem), system)); builder.RegisterInstance(actorSystemAdapter).AsImplementedInterfaces().SingleInstance(); builder.RegisterInstance(system).AsSelf().SingleInstance(); builder.Update(container); ResolveSingletonActors(actorSystemAdapter); }
public AkkaEventsChronicle(AkkaConfiguration akkaConf) { _system = akkaConf.CreateSystem(); _system.AddDependencyResolver(new UnityDependencyResolver(new UnityContainer(), _system)); _transport = new LocalAkkaEventBusTransport(_system); var routingActor = _system.ActorOf(Props.Create(() => new LocalSystemRoutingActor(new DefaultHandlerActorTypeFactory(), new LocalAkkaEventBusTransport(_system)))); var actorLocator = new DefaultAggregateActorLocator(); Router = new ActorMessagesRouter(routingActor); }
private static void CreateAndRegisterActors(IContainer container, ActorSystem system) { var propsResolver = new AutoFacDependencyResolver(container, system); system.AddDependencyResolver(propsResolver); var builder = new ContainerBuilder(); var actorSystemAdapter = container.Resolve <IActorSystemAdapter>(new TypedParameter(typeof(ActorSystem), system)); builder.RegisterInstance(actorSystemAdapter).AsImplementedInterfaces().SingleInstance(); builder.RegisterInstance(system).AsSelf().SingleInstance(); builder.Update(container); ResolveSingletonActors(actorSystemAdapter); }
public DotNetCoreDependencyResolver(AkkaServiceProvider container, ActorSystem system) { if (container == null) { throw new ArgumentNullException("container"); } if (system == null) { throw new ArgumentNullException("system"); } Container = container; System = system; TypeCache = new ConcurrentDictionary <string, Type>(StringComparer.InvariantCultureIgnoreCase); References = new ConditionalWeakTable <ActorBase, IServiceScope>(); System.AddDependencyResolver(this); }
public SimpleInjectorDependencyResolver(Container container, ActorSystem actorSystem) { if (container == null) { throw new ArgumentNullException("container"); } if (actorSystem == null) { throw new ArgumentNullException("actorSystem"); } _container = container; _actorSystem = actorSystem; _actorSystem.AddDependencyResolver(this); _typeCache = new ConcurrentDictionary <string, Type>(StringComparer.InvariantCultureIgnoreCase); _references = new ConditionalWeakTable <ActorBase, SI.Scope>(); }
public SimpleInjectorDependencyResolver(Container container, ActorSystem system) { _container = container; _system = system; _system.AddDependencyResolver(this); }
public void RegisterDependencyResolver(ActorSystem actorSystem) { actorSystem.AddDependencyResolver(new ActorDependencyResolver(actorSystem, serviceProvider)); }
/// <summary> /// Initializes a new instance of the <see cref="ServiceProviderDependencyResolver"/> class. /// </summary> /// <param name="serviceProvider">The container used to resolve references.</param> /// <param name="system">The actor system to plug into.</param> /// <exception cref="ArgumentNullException"> /// Either the <paramref name="serviceProvider"/> or the <paramref name="system"/> was null. /// </exception> public ServiceProviderDependencyResolver(IServiceProvider serviceProvider, ActorSystem system) { _serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider)); _system = system ?? throw new ArgumentNullException(nameof(system)); _system.AddDependencyResolver(this); }
public void Start() { system.AddDependencyResolver(resolver); //configure akka to use resolver }