Definir uma configuração baseada em repositório somente para uma instância específica

Descrição

Ambiente

Adobe Experience Manager

Problema/Sintomas

Este artigo define uma configuração baseada em repositório para uma instância específica.

Resolução

1. Configurar o Console de Gerenciamento da Web do Apache Felix

A configuração no Console de Gerenciamento da Web Apache Felix (http://host:port/system/console/configMgr) é sempre específico para a instância atual.
Você pode encontrar uma descrição na documentação: https://helpx.adobe.com/br/experience-manager/6-4/sites/deploying/using/configuring-osgi.html#OSGiConfigurationintheRepository

2. Configuração baseada em repositório

Também é possível armazenar a configuração no repositório CRX como nós do tipo de nó sling:OsgiConfig.

Para obter mais informações, consulte https://helpx.adobe.com/br/experience-manager/6-4/sites/deploying/using/configuring-osgi.html#OSGiConfigurationintheRepository

Com esse método, é possível compartilhar a configuração entre várias instâncias.
O nome desses nós deve ser igual à Identidade Persistente (PID) da configuração (por exemplo, o nome do serviço). Se você observar http://host:port/system/console/configMgr, esses nomes estão listados como propriedades service.pid. Esses nós de configuração devem ser nós-filhos do tipo de nó nt:folder com um nome começando com config seguido por um ponto. Todos os run-modes aos quais a configuração se aplica também são separados por um ponto.

Exemplos: config.author, config.publish, config.author.dev, config.author.foo.dev

Modo de execução
É possível definir em quais run-modes específicos uma instância específica é executada. Por padrão, uma instância de autor é executada no autor de modo de execução e uma instância de publicação é executada na publicação de modo de execução. É possível definir vários run-modes para uma instância (por exemplo, author, foo e dev).

Defina esses run-modes como opções de VM.

Por exemplo, no console:

java -Dsling.run.modes=author,foo,dev -Xmx256m -jar aem64-quickstart.jar

ou no script de início:

# default JVM options
CQ_JVM_OPTS='-Dsling.run.modes=author,foo,dev'

Os run-modes atuais de uma instância são visíveis em http://host:port/system/console/status-slingsettings

Observação: Não é recomendável alterar ou remover os run-modes padrão author e publish. Basta adicionar seus run-modes específicos à lista padrão de run-modes existentes.

Observação: O mesmo mecanismo funciona para a instalação do pacote baseado em repositório. Coloque os pacotes abaixo dos nós do tipo de nó nt:folder com um nome começando com install seguido por um ponto. Todos os run-modes aos quais os pacotes se aplicam são separados por um ponto.

Exemplo: Para ter uma configuração específica do servidor de correio SMTP para todas as suas instâncias em execução no run-mode foo, basta criar um nó com o nome config.foo e o tipo de nó nt:folder em /apps/we-retail e copie o nó /libs/cq/config/com.day.cq.mailer.DefaultMailService para /apps/we-retail/config.foo e adapte as propriedades smtp.host.

Exemplo: Para ter uma configuração específica de Logrotatividade, use o pacote de configuração no artigo KB Como girar request.log e access.log e renomeie a configuração do nó, por exemplo, como config.foo, caso a configuração deva ser usada para todas as suas instâncias em execução somente no modo de execução foo.

Nesta página