Desative o Verificador de links AEM
Este artigo aborda a preocupação do Adobe Experience Manager em que a verificação de links está afetando o desempenho durante a criação de perfil da CPU e a análise de despejos de thread.
Descrição description
Ambiente
Experience Manager 6.4
Problema/Sintomas
Se o Verificador de links estiver configurado para não executar nenhuma ação quando um link for quebrado, como é possível desabilitar a validação de links para o Verificador de links externos? Ao criar o perfil da CPU e analisar despejos de encadeamento, a verificação de links está afetando o desempenho e precisa ser desativada.
Plano de fundo: Sempre que um site é carregado no AEM, o Verificador de Links verifica automaticamente os links inseridos em todas as páginas de conteúdo e marca cada link como Válido ou Inválido.
Isso pode retardar uma instância ou um site devido a um grande número de avisos do Verificador de links no log. Pode ser tomada uma decisão para desabilitar alguma verificação de link.
Nota: O Verificador de links não deve estar ativado em instâncias de publicação.
Resolução resolution
Como desabilitar o Verificador de links ou configurar para marcar links como válidos no AEM
-
Desative a verificação de links nas páginas:
-
Adicione o parâmetro
x-cq-linkchecker="valid"
à marca para garantir que os links sejam sempre marcados como válidos pelo Verificador de Links. -
Opcionalmente, use
x-cq-linkchecker="skip"
na uma marca. O Verificador de Links nem sequer verificará a validade.
-
-
Desabilite completamente o Verificador de Links através do Console da Web do AEM:
-
Acesse a configuração 1 do console da Web AEM.
-
Procure por Transformador do Verificador de Links CQ de Dias.
-
Marque a caixa Desabilitar Verificação e clique em Salvar.
-
-
Desative a verificação de links para um determinado domínio:
-
Acesse a configuração 1 do console da Web AEM.
-
Pesquise por Day CQ Link Checker Service.
-
Edite o parâmetro Padrões de substituição de verificação de link.
-
Exemplo 1: system/
Nenhum link externo que comece com o sistema será verificado. Adicione mais padrões de substituição a esta seção clicando no sinal +.
Exemplo 2:
Isso marcará todos os links como válidos a partir de agora.
Recomendado: excluir todos os nós em /var/linkchecker para impedir que o Verificador de Links verifique novamente as URLs.
{1}http://[
host]
:[
porta]
/system/console/configMgr
Observação: Se você usar o service.special_link_pattern, o Verificador de Links ainda verificará a URL para ver se ela é válida em termos de caracteres e estrutura.
Desabilitar verificação de link externo de forma programática
A adição desse código ao componente jsp da página impede que a verificação de links externos seja feita ao chamar LinkCheckerSettings.fromRequest(slingRequest).setIgnoreExternals(true
. Na maioria dos casos, você só o implementaria em instâncias de publicação, não em autoria. Portanto, aqui estão alguns códigos para demonstrar:
<%org.apache.sling.runmode.RunMode runmode = sling.getService(org.apache.sling.runmode.RunMode.class);
String[ ] runmodes = runmode.getCurrentRunModes();
boolean isPublish = false;
String [ ] expectedRunModes = {"publish"};
if(runmode.isActive(expectedRunModes)) {
isPublish = true;
}
if(isPublish) {
LinkCheckerSettings s = LinkCheckerSettings.fromRequest(slingRequest);
s.setIgnoreExternals(true);
}
%>
Se você quiser desativar apenas a verificação de link para um componente específico ou parte da página, será possível reativá-la novamente com este código:
<%
s.setIgnoreExternals(false);
%