예제 #1
0
        private static void SetupResourceFactory(IGrainContext context, string stateName, TransactionQueue <TState> queue)
        {
            // Add resources factory to the grain context
            context.RegisterResourceFactory <ITransactionalResource>(stateName, () => new TransactionalResource <TState>(queue));

            // Add tm factory to the grain context
            context.RegisterResourceFactory <ITransactionManager>(stateName, () => new TransactionManager <TState>(queue));
        }
        internal void SetupResourceFactory(IGrainContext context, string stateName, TransactionQueue <TState> queue)
        {
            // Add resources factory to the grain context
            context.RegisterResourceFactory <ITransactionalResource>(stateName, () => new FaultInjectionTransactionalResource <TState>(this.faultInjector, FaultInjectionControl, new TransactionalResource <TState>(queue), context, logger, grainRuntime));

            // Add tm factory to the grain context
            context.RegisterResourceFactory <ITransactionManager>(stateName, () => new FaultInjectionTransactionManager <TState>(this.faultInjector, FaultInjectionControl, new TransactionManager <TState>(queue), context, logger, grainRuntime));
        }