Problema
Ao implantar a nova versão do jar do OSGi, as configurações de serviços/componentes são vinculadas à versão antiga do jar, ao invés da nova.
Sintomas
Uma das seguintes mensagens é exibida no arquivo de log:
- *ERRO* [OsgiInstallerImpl] org.apache.felix.scr Não é possível usar a configuração pid= para o pacote jcrinstall:, já que este pertence ao pacote jcrinstall:"
Solução
- Vá para a página de configuração em http://<host>:<port>/system/console/configMgr e selecione seu componente.
- Desvincule a configuração existente clicando em "desvincular", conforme mostrado no instantâneo abaixo.
- Clique em OK na caixa de diálogo de confirmação.
- Edite e salve a configuração.

Prática recomendada
Para evitar que esse problema ocorra novamente em seu processo de entrega contínua, o script de implantação automatizada cuida dos seguintes itens:
- Sempre instale a partir do repositório e não misture com a instalação diretamente do console do Felix.
- Pacotes com a versão nova sempre são adicionados e pacotes com a versão antiga não são excluídos.
- O filtro de pacotes deve incluir o caminho do jar (/apps/<appname>/install/<bundleNamewithversion>.jar) e não mencionar a pasta pai/apps/<appname>/install
- Se houver um cenário em que o pacote antigo precisa ser excluído antes de implantar um novo pacote, certifique-se de excluir o pacote e, antes de instalar o novo, executar as ações abaixo
- Desvincule a configuração.
- Atualize os pacotes em http://<host>:<port>/system/console/bundles.
Se você ainda tem dúvidas sobre esse assunto, participe da discussão nos fóruns: Artigo para endereço sobre não conseguir usar a configuração pid.
Informações adicionais
Quando o pacote é instalado pela primeira vez, a configuração fica vinculada à localização atual. Ao atualizar um pacote desinstalando a versão antiga e instalando a versão nova, a nova instalação tem um novo local de pacote diferente e, portanto, a configuração não pode ser usada.
Fazer logon em sua conta