/// <exception cref="System.Exception"></exception>
        public virtual void SetUp()
        {
            var serverConfiguration = Db4oClientServer.NewServerConfiguration
                                          ();

            serverConfiguration.File.Storage = new MemoryStorage();
            _server = Db4oClientServer.OpenServer(serverConfiguration, string.Empty, Db4oClientServer
                                                  .ArbitraryPort).Ext();
            _server.GrantAccess(Username, Password);
            _networkingClient = Db4oClientServer.OpenClient("localhost", _server.Port(), Username
                                                            , Password).Ext();
            _embeddedClient = ((ObjectContainerSession)_server.OpenClient().Ext());
        }
示例#2
0
        public virtual void TestClose()
        {
            Transaction trans = null;

            lock (_server.Lock())
            {
                trans = _server.NewUserTransaction();
            }
            IReferenceSystem       referenceSystem = trans.ReferenceSystem();
            ObjectContainerSession client          = new ObjectContainerSession(_server, trans);

            // FIXME: Need to unregister reference system also
            //        for crashed clients that never get closed.
            client.Close();
            // should have been removed on close.
            bool wasNotRemovedYet = _server.ReferenceSystemRegistry().RemoveReferenceSystem(referenceSystem
                                                                                            );

            Assert.IsFalse(wasNotRemovedYet);
        }
示例#3
0
 public virtual Transaction Acquire(string fileName)
 {
     lock (_mainContainer.Lock())
     {
         ClientTransactionPool.ContainerCount entry = (ClientTransactionPool.ContainerCount
                                                       )_fileName2Container.Get(fileName);
         if (entry == null)
         {
             LocalObjectContainer container = (LocalObjectContainer)Db4oEmbedded.OpenFile(Db4oEmbedded
                                                                                          .NewConfiguration(), fileName);
             container.ConfigImpl.SetMessageRecipient(_mainContainer.ConfigImpl.MessageRecipient
                                                          ());
             entry = new ClientTransactionPool.ContainerCount(container);
             _fileName2Container.Put(fileName, entry);
         }
         Transaction            transaction            = entry.NewTransaction();
         ObjectContainerSession objectContainerSession = new ObjectContainerSession(entry.
                                                                                    Container(), transaction);
         transaction.SetOutSideRepresentation(objectContainerSession);
         _transaction2Container.Put(transaction, entry);
         return(transaction);
     }
 }