Um atualizador de banco de dados baseado em tempo do Java Persistence API (JPA) atualiza os mapas do ObjectGrid com as últimas alterações no banco de dados.
Quando são feitas alterações diretamente em um banco de dados que está sendo confrontado pelo WebSphere eXtreme Scale, essas alterações não são refletidas simultaneamente na grade do eXtreme Scale. Para implementar corretamente o eXtreme Scale como um espaço de processamento de banco de dados de memória, lembre-se de que sua grade pode sair de sincronia com o banco de dados. O atualizar de banco de dados baseado em tempo usa o recurso System Change Number (SCN) no Oracle 10g e a indicação de data e hora da alteração da linha no DB2 9.5 para monitorar as alterações no banco de dados para invalidação e atualização. O atualizador também permite que os aplicativos tenham um campo definido pelo usuário para o mesmo propósito.
O atualizador de banco de dados baseado em tempo consulta periodicamente o banco de dados usando as interfaces do JPA para obter as entidades do JPA que representam os registros recentemente inseridos e atualizados no banco de dados. Para atualizar periodicamente os registros, cada registro no banco de dados deve ter um registro de data e hora para identificar o tempo ou a sequência em que o registro foi atualizado ou inserido pela última vez. O registro de data e hora não precisa estar no formato do registro de data e hora. O valor do registro de data e hora pode estar em um formato inteiro ou longo, se ele gerar um valor exclusivo e cada vez maior.
Vários bancos de dados comerciais fornecem este recurso.
Por exemplo, no DB2 9.5, é possível definir uma coluna usando o formato ROW CHANGE TIMESTAMP como a seguir:
ROWCHGTS TIMESTAMP NOT NULL
GENERATED ALWAYS
FOR EACH ROW ON UPDATE AS
ROW CHANGE TIMESTAMP
No Oracle, é possível utilizar a pseudo-coluna ora_rowscn, que representa o número de alteração de sistema do registro.
Para obter informações adicionais sobre como configurar o atualizador de dados baseado em tempo JPA, consulte o Configurando um Atualizador de Dados Baseado em Tempo do JPA.