Inicialização e recuperação do CRM COM+
Se um aplicativo de servidor tiver a caixa de seleção Habilitar gerenciadores de recursos de compensação marcada (usando a ferramenta administrativa Serviços de Componentes, na guia Avançado da página de propriedades do aplicativo COM+), na primeira vez que for iniciado, ele criará um arquivo de log do CRM a ser usado por todos os CRMs nesse processo de aplicativo de servidor. (Para obter instruções detalhadas sobre como configurar o CRM, consulte Configurando componentes do CRM COM+.)
O nome do arquivo de log do CRM criado para o aplicativo de servidor é baseado no AppId (um GUID) do aplicativo de servidor e o arquivo de log do CRM é colocado no mesmo diretório que o arquivo de log DTC (normalmente o diretório %SystemRoot%\winnt\system32\DtcLog). Os arquivos de log do CRM têm a extensão .crmlog.
Observação
Pode ser necessário alterar o local padrão de um arquivo de log do CRM devido a razões de desempenho (para ter o arquivo de log DTC em um disco diferente do arquivo de log do CRM) ou talvez devido ao uso do CRM em um ambiente de cluster. O local dos arquivos de log do CRM pode ser alterado usando o SDK de administração COM+. O nome da propriedade é CRMLogFile e existe no objeto da coleção Applications.
Quando um aplicativo de servidor (habilitado para CRM) é iniciado e descobre que um arquivo de log do CRM já existe para esse aplicativo de servidor, ele executa a recuperação nesse arquivo de log do CRM. A recuperação é o processo de conclusão de quaisquer transações que foram interrompidas por uma falha e envolve a leitura do arquivo de log do CRM pela infraestrutura do CRM para quaisquer transações que não foram totalmente concluídas. Se encontrar algum, ele entra em contato com o DTC para determinar o resultado da transação. Em seguida, ele cria o CRM Compensator e transmite as notificações de confirmação ou anulação conforme necessário, juntamente com os registros de log associados.
As notificações de preparação não são recebidas pelo CRM Compensator durante a recuperação. O CRM Compensator tem um sinalizador para distinguir se ele está sendo chamado durante a operação normal ou durante a recuperação.
A recuperação normalmente encontrará transações não concluídas somente se o aplicativo do servidor tiver sido desligado de forma anormal, devido a uma falha no processo do aplicativo do servidor ou a uma falha do computador. Se o aplicativo do servidor tiver permissão para desligar normalmente, devido ao tempo limite ocioso ou ao desligamento manual por meio da ferramenta administrativa Serviços de Componentes, o arquivo de log será limpo.
O início de um aplicativo de servidor CRM para recuperação não é iniciado automaticamente. Alguma ação externa deve ser executada para iniciar o aplicativo de servidor CRM onde a recuperação é necessária. Normalmente, isso seria criar um componente nesse aplicativo de servidor.
Tópicos relacionados