public StorageActionsAccessor(QueuesStorage queuesStroage, IUuidGenerator uuidGenerator)
 {
     Items = new Dictionary<object, List<object>>();
     Queues = new QueuesStorageActions(queuesStroage.Queues);
     Messages = new MessagesStorageActions(queuesStroage.Messages, queuesStroage.PendingMessages, Queues, uuidGenerator);
     General = new GeneralStorageActions(queuesStroage.Identity);
 }
 public StorageActionsAccessor(QueuesStorage queuesStroage, IUuidGenerator uuidGenerator)
 {
     Items    = new Dictionary <object, List <object> >();
     Queues   = new QueuesStorageActions(queuesStroage.Queues);
     Messages = new MessagesStorageActions(queuesStroage.Messages, queuesStroage.PendingMessages, Queues, uuidGenerator);
     General  = new GeneralStorageActions(queuesStroage.Identity);
 }
        public bool Initialize(IUuidGenerator generator)
        {
            uuidGenerator = generator;
            if (configuration.RunInMemory == false && Directory.Exists(configuration.DataDirectory) == false)
            {
                Directory.CreateDirectory(configuration.DataDirectory);
            }

            persistenceSource = configuration.RunInMemory
                          ? (IPersistentSource) new MemoryPersistentSource()
                          : new FileBasedPersistentSource(configuration.DataDirectory, "Raven", configuration.TransactionMode == TransactionMode.Safe);

            queuesStroage = new QueuesStorage(persistenceSource);

            idleTimer = new Timer(MaybeOnIdle, null, TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(30));

            queuesStroage.Initialze();

            if (persistenceSource.CreatedNew)
            {
                Id = Guid.NewGuid();
                Batch(accessor => queuesStroage.Details.Put("id", Id.ToByteArray()));
            }
            else
            {
                var readResult = queuesStroage.Details.Read("id");
                Id = new Guid(readResult.Data());
            }

            return(persistenceSource.CreatedNew);
        }
Beispiel #4
0
        public bool Initialize(IUuidGenerator generator)
        {
            uuidGenerator = generator;
            if (configuration.RunInMemory == false && Directory.Exists(configuration.DataDirectory) == false)
                Directory.CreateDirectory(configuration.DataDirectory);

            persistenceSource = configuration.RunInMemory
                          ? (IPersistentSource)new MemoryPersistentSource()
                          : new FileBasedPersistentSource(configuration.DataDirectory, "Raven", configuration.TransactionMode == TransactionMode.Safe);

            queuesStroage = new QueuesStorage(persistenceSource);

            idleTimer = new Timer(MaybeOnIdle, null, TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(30));

            queuesStroage.Initialze();

            if (persistenceSource.CreatedNew)
            {
                Id = Guid.NewGuid();
                Batch(accessor => queuesStroage.Details.Put("id", Id.ToByteArray()));
            }
            else
            {
                var readResult = queuesStroage.Details.Read("id");
                Id = new Guid(readResult.Data());
            }

            return persistenceSource.CreatedNew;
        }