Utilizando os Recursos de Contexto de Alteração

A maioria dos artefatos sem versão implementam a interface CqContextResource. Alguns exemplos dos tipos de CqContextResource:
O processo de modificação de recursos de contexto envolve três etapas:
  1. Iniciar: O cliente especifica a ação a ser utilizada na modificação (se necessário), que declara as regras de negócios a serem seguidas ao fazer as modificações. O proxy que inicia a modificação determina o contexto de alteração para a modificação.
  2. Modificar: As modificações são feitas nos recursos e verificadas de acordo com as regras de negócios.
  3. Entregar: Após a modificação de todos os recursos, todos os recursos alterados no contexto de alteração são retornados para seus respectivos repositórios.

Esse processo de modificação permite que o usuário trabalhe com o cliente para coordenar alterações em vários recursos, com a opção de alterar ou abandonar as alterações, a qualquer momento, para quaisquer recursos.

Depois que um usuário iniciou uma modificação, as alterações feitas nos recursos não ficam visíveis para outros usuários ou clientes até que as modificações sejam retornadas para seus respectivos projetos. As alterações são limitadas ao contexto de alteração utilizado e são visíveis apenas por meio de proxies obtidos do Provedor desse contexto de alteração.

Quando a modificação de um recurso é iniciada, uma versão gravável do recurso é criada no contexto de alteração associado ao proxy utilizado. A menos que o recurso esteja sendo criado, as propriedades do recurso original são copiadas para essa nova versão. Operações subseqüentes que destinam o recurso original por meio de um proxy a partir do mesmo contexto de alteração são redirecionadas para a versão armazenada em cache pelo contexto de alteração. Apenas os proxies obtidos direta ou indiretamente do provedor para esse contexto de alteração específico consultam as alterações antes que elas sejam entregues.

Para obter informações adicionais, consulte as informações do Javadoc para a interface CqContextResource.


Feedback