Class: DBTrackerPool

@nginstack/engine/lib/database/DBTrackerPool~ DBTrackerPool


new DBTrackerPool(opt_options)

Estrutura utilizada para criar um pool de trackers compartilhados por várias threads. Seu uso é desejado quando as threads utilizam um dbTracker de forma esporádica ou intervalada, permitindo o reúso de um dbTracker em várias threads, desde que não seja de forma simultânea.

Parameters:
Name Type Description
opt_options Object

Opções.

Properties
Name Type Argument Description
id number <optional>

Caso queira recuperar um pool já existente utilizar essa propriedade para identificá-lo.

size number <optional>

Caso queira criar um novo pool esta será a quantidade de trackers que o pool terá.

database Database <optional>

Base de dados a ser rastreado. Se não for informado, a instância de DBTrackerPool assume que a base a ser rastreada é a mesma base onde ele foi criado.

trackerProperties Object <optional>

Propriedades pertencentes ao module:@nginstack/engine/lib/database/DBTracker que serão aplicadas aos trackers do pool. Exemplo: {autoUndo: true, activeTime: 172800000}

Members


id :number

Identificação única de um instância.

Type:
  • number

Methods


acquire()

Retorna um module:@nginstack/engine/lib/database/DBTracker que esteja disponível no pool.
Todos os trackers retornados por este método são definidos como em uso e somente estarão disponíveis novamente com a utilização do método #release.

Returns:

Nulo caso não haja trackers disponíveis.

Type
module:@nginstack/engine/lib/database/DBTracker

release(tracker)

Libera um DBTracker, tornando-o disponível para uso novamente.

Parameters:
Name Type Description
tracker DBTracker

module:@nginstack/engine/lib/database/DBTracker que se deseja liberar.


tryAcquire()

Executa uma tentativa de obter um DBTracker disponível para uso deste pool.

Returns:

Nulo caso não existam trackers disponíveis.

Type
DBTracker