Banco de Dados OO NeoDatis ODB versão 1.8 está disponível

[quote=Olivier][quote]
Dessa forma somente seria invocado o subobjeto quando chamado mesmo, certo?
[/quote]
Sim

Não, o NeoDatis fará isso automaticamente no runtime usando Byte Code instrumentation.[/quote]

Olivier, aguardo ancioso a implementação dessa funcionalidade então. Boa sorte!

André

Mais uma perguntinha: como funciona a concorrência do arquivo do banco? Se eu tenho várias instâncias da web, por exemplo, todas estas instâncias podem acessar este mesmo arquivo aberto?

André,

Em modo local, varios usuários não poderão acessar o mesmo bd.

vc tem duas opções para aplicações WEB:

  1. Configura ODB em modo local para ser usado em multithread usando Configuration.useMultiThread(boolean yes, int numberOfThreads). Neste caso, ODB, ao detectar um lock no arquivo do bd, irá esperar um pouco e tentar de novo, isso várias vezes (o número de vezes depende do número de threads)
    Como em geral as operações de persistência são rápidas, alguns ms, essa opção resolve.

  2. Use em modo Cliente/Servidor

[quote=Olivier]André,

Em modo local, varios usuários não poderão acessar o mesmo bd.

vc tem duas opções para aplicações WEB:

  1. Configura ODB em modo local para ser usado em multithread usando Configuration.useMultiThread(boolean yes, int numberOfThreads). Neste caso, ODB, ao detectar um lock no arquivo do bd, irá esperar um pouco e tentar de novo, isso várias vezes (o número de vezes depende do número de threads)
    Como em geral as operações de persistência são rápidas, alguns ms, essa opção resolve.

  2. Use em modo Cliente/Servidor
    [/quote]

Desculpe, não entendi direito: o número de threads é o número de usuários simultâneos? Como posso deixar em modo Cliente/Servidor e qual é a vantagem de deixar nesse modo?

Sim seria isso.

vc tem que iniciar um Servidor (Pode ser no init de uma das suas servlet por exemplo ou até fora do seu application server).
Nesse exemplo, inicia na porta 10000

public class Server {
	public static void main(String[] args) throws Exception {
		ODBServer server = ODBFactory.openServer(10000);
		server.setAutomaticallyCreateDatabase(true);
		server.startServer(true);
	}
}

E o cliente, em vez de

use

Algumas vantagens:

  • Acesso concorrente
  • Acesso remoto

Desvantagens:

  • O modo local é muito mais rápido.

Sim seria isso.
[/quote]

Bom, é difícil prever quantos usuários em média acessarão o site da web. Por curiosidade, não tem como o NeoDatis gerenciar isso?

Na realidade, você pode colocar um número pequeno pois estamos falando em conexões que irão abrir o banco de dados no mesmo milisegundo. Com 10 já está ok.

O NeoDatis não tem como saber isso. Mas poderia um valor default, concordo (Mais uma feature request?) .